SQLSERVER访问MYSQL表中文显示成乱码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

错误描述:SQLSERVER访问MYSQL表中文显示成乱码,中文会显示成????

解决思路:用的是mysql-5.1.50-win32 与odbc3.1版本的.现在改成ODBC5·1 这样转换就没有问题SQLSERVER连接MYSQL 建立链接如下:

数据库软件与ODBC软件:mysql-5.1.50-win32与ODBC5·1(注意,odbc3.1版本,会出现乱码)MYSQL数据库情况:gmp_test

第一步:先要在MYSQL进行授权,让主机能访问MYSQL数据库,设置如下:

在mysql数据库执行,语句:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.216' IDENTIFIED BY 'yxtech' WITH GRANT OPTION;

第二步:在SQLSERVER主机,设置ODBC连接,设置如下图:

第三步:在SQL SERVER 配置连接,配置语句如下

--删除连接

exec sp_dropserver'dxmysql','droplogins'

--建立一个新连接

EXEC SP_ADDLINKEDSERVER

@server ='dxmysql', --连接名称(随意,规范就可)

@srvproduct ='MYSQL', --连接MYSQL,数据库类型,固定的

@provider ='MSDASQL', --连接MYSQL的编码,固定的

@datasrc ='my_sql' --建立的ODBC连接(第二步建立的)

--建立用户连接

EXEC sp_addlinkedsrvlogin'dxmysql','false','bi_etl','root','yxtech' --'dxmysql'为连接名称

--'bi_etl'为SQLSERVER用户,如果为NULL

--'root','yxtech' 为登录MYSQL 的用户及密码

--进行查询

select*FROM OPENQUERY(dxmysql,'select * from test1')

相关文档
最新文档