在 SSMS 上,ODBC 链接服务器查询显示 unicode 文本数据
On SSMS, ODBC linked server queries show unicode text data
在 SSMS 中,我使用 ODBC 驱动程序 和 链接服务器 连接到系统间缓存数据库 当我使用 SQL 类似
的查询
SELECT Text FROM OPENQUERY([ODBC_CACHE_DB],'SELECT TOP 100 Text FROM cls.Actions')
在 SSMS 中它给出了结果但是它给出了?对于像
这样的阿拉伯字符
"18:29:00 [穆罕默德] ?????? ??? ?? ??? ??? ?????? ?????? 18:30:30 [客户] 嗨 Sirius 是 jai"
如何获得阿拉伯语文本?
注意:我可以使用 nvarchar 数据类型读写阿拉伯语文本
遇到了类似的问题。我的设置是使用 MS OLE ODBC 提供程序在 MSSQL 2012 集群和 Intersystems Cache 2009.x 之间建立链接服务器。
我的观察如下:
- Convert/Cast 在数据类型为 nvarchar 的列上不起作用——因为它显示了 ???? (这是在 SSMS 上)
- 当使用 Database.net and WinSQL 等第 3 方数据库管理工具时,我能够看到正确的字符。
- 尝试使用 ODBC 驱动程序的 Unicode SQL Types 功能只能间歇性地帮助显示正确的字符。
解决方法:
- 在 ODBC 驱动程序上启用 Unicode SQL Types 功能
- 更改正在 Intersystems Cache 数据库上执行的测试 sql 查询。如果您继续执行相同的查询,输出会被缓存一段时间(不确定具体多长时间)。
就我而言,sql 服务器集群不在我的控制之下,我花了几天时间来尝试不同的变体。
在 SSMS 中,我使用 ODBC 驱动程序 和 链接服务器 连接到系统间缓存数据库 当我使用 SQL 类似
的查询SELECT Text FROM OPENQUERY([ODBC_CACHE_DB],'SELECT TOP 100 Text FROM cls.Actions')
在 SSMS 中它给出了结果但是它给出了?对于像
这样的阿拉伯字符"18:29:00 [穆罕默德] ?????? ??? ?? ??? ??? ?????? ?????? 18:30:30 [客户] 嗨 Sirius 是 jai"
如何获得阿拉伯语文本?
注意:我可以使用 nvarchar 数据类型读写阿拉伯语文本
遇到了类似的问题。我的设置是使用 MS OLE ODBC 提供程序在 MSSQL 2012 集群和 Intersystems Cache 2009.x 之间建立链接服务器。
我的观察如下:
- Convert/Cast 在数据类型为 nvarchar 的列上不起作用——因为它显示了 ???? (这是在 SSMS 上)
- 当使用 Database.net and WinSQL 等第 3 方数据库管理工具时,我能够看到正确的字符。
- 尝试使用 ODBC 驱动程序的 Unicode SQL Types 功能只能间歇性地帮助显示正确的字符。
解决方法:
- 在 ODBC 驱动程序上启用 Unicode SQL Types 功能
- 更改正在 Intersystems Cache 数据库上执行的测试 sql 查询。如果您继续执行相同的查询,输出会被缓存一段时间(不确定具体多长时间)。
就我而言,sql 服务器集群不在我的控制之下,我花了几天时间来尝试不同的变体。