【发布时间】:2017-02-15 08:50:09
【问题描述】:
select * from openquery(DATABASENAME_LINKED, 'select id, pe_department_id, pe_username, pe_name, pe_hours, pe_startpage, pe_admin from person')
此查询中丢失了特殊字符。是否可以在代码或其他地方确保某种编码?
【问题讨论】:
-
链接了哪个服务器(另一个 mssql,或 oracle,db2,...)?什么是列数据类型? social.msdn.microsoft.com/Forums/sqlserver/en-US/…
-
我认为这是一个 MySql 数据库。数据类型很可能是 varchar
-
可能需要配置“排序规则兼容”和“排序规则名称”设置,或者将 varchars 转换为 nvarchar,请参阅上一页的 MSDN 文章。评论。角色发生了什么?用问号代替,或省略,或 Å > A?
-
例如,Ø 被转换为“ø”。我尝试根据您的链接将 pe_name 转换为 nvarchar(1000)(谢谢),但出现错误。我怎么弄乱你提到的设置?
-
链接服务器的配置是什么?你用什么作为 MySQL 的适配器?这里的部分问题是 MySQL 使用 UTF-8 而 SQL Server 的
nvarchar是 UTF-16。因此,一些翻译工作是必要的,理想情况下,您的链接服务器驱动程序会为您完成。
标签: sql-server tsql linked-server