В SSMS запросы связанных серверов ODBC отображают текстовые данные Unicode - PullRequest
0 голосов
/ 23 января 2019

В SSMS я подключен к базе данных Intersystems Cache, используя Драйвер ODBC и связанный сервер Когда я получаю данные с помощью запроса SQL, например

SELECT Text FROM OPENQUERY([ODBC_CACHE_DB],'SELECT TOP 100 Text FROM cls.Actions')

В SSMS это дает результаты, но это дает? для арабских символов, таких как

"18:29:00 [Мохамад] ????? ??? ?? ??? ??? ?????? ?????? 18:30:30 [Клиент ] Привет, Сириус - это Джай "

как можно было получить арабские тексты?

примечание: я могу читать и писать арабский текст, используя тип данных nvarchar

1 Ответ

0 голосов
/ 28 января 2019

Была похожая проблема.Моя установка была связана с настройкой связанного сервера между кластером MSSQL 2012 и Intersystems Cache 2009.x с использованием поставщика OLE ODBC MS.

Мои наблюдения приведены ниже:

Решение:

  • Включить Unicode SQL Types функция в драйвере ODBC
  • Внесение изменений в тестовый SQL-запрос, который выполняется в Intersystems Cache db.Если вы продолжаете выполнять один и тот же запрос, выходные данные кэшируются какое-то время (точно не знаю, как долго это будет продолжаться).

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

...