Экспорт BCP со старой SQL версии сервера превращается в азиатский набор символов, когда BCP импортируется / записывается в более новую SQL версию сервера - PullRequest
0 голосов
/ 25 января 2020

У меня есть скрипт, который выгружает несколько таблиц с очень старой SQL Серверной версии 8.0.2039, и мы находимся в процессе выхода из этой старой версии Windows Сервер и SQL Сервер.

Все кроме одной выгруженной таблицы импортируются в SQL Сервер 11.0.7001 просто отлично. Одна из таблиц превращается в азиатский набор символов.

Для экспорта и импорта соответственно используются инструменты BCP, существующие на их соответствующих серверах.

Я, очевидно, не ищу точного ответа, а вместо этого ищу настройки или параметры, которые могут повлиять на это. Я собираюсь опубликовать минимальное количество строк из сценариев экспорта и импорта.

Вот самая важная часть экспорта:

% BcpPath% указывает непосредственно на каталог, содержащий bcp.exe

% UnloadPath% - это полный путь к каталогу экспорта, например D: \ SQL_BKUPS

% ServitronName% - это имя сервера SQL, с которого будет осуществляться экспорт.

%BcpPath%bcp BuildingPermit..real_estate OUT %UnloadPath%\real_estate.unl
 -S %ServitronName% -U sa -P pwd -m 10000 -n

Файл .unl передается по FTP на сервер, который будет импортировать real_estate.unl.

Вот самая важная часть импорта:

% BcpPath% указывает непосредственно на каталог, содержащий bcp.exe

*% ImportPath% - это полный путь к каталогу импорта, например, D: \ sql_dbs. *

% ServitronName% - это имя SQL сервера, с которого будет осуществляться экспорт.

if not exist "%ImportPath%\real_estate.unl" goto noreal_estateUnl
    echo use BuildingPermit > d:\web\bin\tempPurgeRecs.sql
    echo go >> d:\web\bin\tempPurgeRecs.sql
    echo delete from real_estate >> d:\web\bin\tempPurgeRecs.sql
    echo go >> d:\web\bin\tempPurgeRecs.sql
    %BcpPath%sqlcmd -E %ServitronName% -U ispermits -P Permits99 -i d:\web\bin\tempPurgeRecs.sql 
    del d:\web\bin\tempPurgeRecs.sql
    %BcpPath%bcp BuildingPermit..real_estate in %ImportPath%\real_estate.unl -S %ServitronName% -U sa -P pwd -m 10000 -n
:noreal_estateUnl
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...