Связанное соединение между MS SQL SERVER и Sybase, проблема Unicode - PullRequest
1 голос
/ 25 августа 2011

Я добавил связанный сервер в MS SQL SERVER 2008 с базами данных Sybase ASE 12.5, все работает нормально, но у меня проблема со строками Unicode.

из MS SQL, когда я бегу «SELECT * FROM OPENQUERY (SYTEST,« ВЫБРАТЬ имя ИЗ ПРОДУКТА ») и набор результатов содержит неправильные символы

а?> А ?? ?? стоит? стоит?»
?? ?? стоит? ¬a ?? стоит? ??

Имя столбца в Sybase имеет тип nvarchar, имена пишутся в Unicode.

Проблема возникает только тогда, когда MS SQL Server работает в операционной системе Windows Server, Нет проблем на ms sql-серверах под управлением Windows 7 и XP, где я получил правильный результат.

Ответы [ 3 ]

1 голос
/ 01 октября 2011

попробуйте использовать параметр N @ при выполнении запроса

0 голосов
/ 03 апреля 2015

В моей компании есть такой случай Я создал связанный сервер из SQL Server 2014 для IBM AS / 400 (серия i) и столкнулся с той же проблемой.

Я не уверен в разнице между 2014 и 2008 годами в обработке символов Юникода, но я думаю, что это немного, если таковые имеются.

Как
1. войти в SQL studio
2. щелкните правой кнопкой мыши на связанном сервере и выберите «Свойства»
3. выберите «Опции сервера» в левой панели
4. установите «Использовать дистанционное сопоставление» в «Истина»
5. в «Имя сопоставления» выберите юникод (вот основной список - https://technet.microsoft.com/en-us/library/ms180175%28v=sql.105%29.aspx"

Мои проблемы решены таким образом! (Я много играл со строками подключения без желаемых результатов)

0 голосов
/ 25 августа 2011

Если он работает на 2 отдельных установках, вы сравниваете и проверяете настройки связанного сервера, используя sp_serveroption , особенно collation compatible и collation name

Если они совпадают, проверьте все настройки DSN и драйвера Sybase в ОС

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...