Назад | Перейти на главную страницу

SQL Server; как импортировать данные из другой БД с другой сортировкой; ошибки конвертации?

У меня на сервере установлены 2 базы данных. Я хочу импортировать данные из DB1 в DB2 с помощью мастера SSIS (right click DB > Tasks > Import Data)

  1. DB1 - это исходная база данных, для нее установлено значение сортировки Cyrillic_General_CI_AS
  2. DB2 - это база данных назначения, она имеет сопоставление 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, а затем, как только это будет завершено, импортируйте ее в таблицу назначения.

Не самый эффективный способ сделать это, но его можно обойти.