У меня на сервере установлены 2 базы данных. Я хочу импортировать данные из DB1 в DB2 с помощью мастера SSIS (right click DB > Tasks > Import Data
)
Cyrillic_General_CI_AS
SQL_Latin1_General_CP1_CI_AS
Я могу запустить мастер, используя запрос «выберите * из myTable». Это без проблем создает таблицу в моей целевой БД, я ее не сохраняю.
Я запускаю мастер во второй раз, поэтому я могу войти в сопоставления и выбрать «удалить существующие строки» (поскольку я не могу сделать это в первый раз). Потом в конце сохраняю, сохраняю на SQL сервере.
Я получаю следующие ошибки:
"MyColumn" cannot be processed because more than one code page (1251 and 1252) are specified for it.
(SQL Server Import and Export Wizard)
Я проверил MSDN и нашел этот статья, предполагающая, что различие в типах сопоставления может вызвать некоторые проблемы с преобразованием типов данных
Было предложено использовать nvarchars, поэтому я снова начал проверять, чтобы таблица в моей целевой БД использовала nvarchars, но теперь я получаю следующую ошибку
Data Flow Task: The product level is insufficient for component "Data Conversion 1" (197).
Изменение моей сортировки целевой БД на кириллицу не является вариантом, поскольку позже я буду импортировать из других БД, поэтому могу снова столкнуться с этой проблемой.
Что я могу сделать, чтобы обойти эту проблему? Надеюсь, я предоставил достаточно информации
Спасибо
Я мало знаю об импорте разных типов сопоставления, но пробовали ли вы экспортировать таблицу, скажем, в файл .csv, а затем, как только это будет завершено, импортируйте ее в таблицу назначения.
Не самый эффективный способ сделать это, но его можно обойти.