【发布时间】:2011-05-12 02:05:01
【问题描述】:
我有一个 MySQL 服务器作为 Microsoft SQL Server 2008 中的链接服务器。对于链接,我使用 MySQL ODBC 连接器版本 5.1.8。使用OPENQUERY(我发现执行查询的唯一方法)调用查询时,会出现问题。简单查询,例如
SELECT * FROM OPENQUERY(MYSQL, 'SHOW TABLES')
工作正常。选择单个列,例如,
SELECT * FROM OPENQUERY(MYSQL, 'SELECT nr FROM letter')
也可以正常工作,但 SELECT * 语法不起作用。查询:
SELECT * FROM OPENQUERY(MYSQL, 'SELECT * FROM mytable')
引发错误:
消息 7347,第 16 级,状态 1,第 6 行 用于链接的 OLE DB 提供程序“MSDASQL” 服务器“MYSQL”返回的数据 与预期的数据长度不匹配 列“[MSDASQL].let_nr”。这 (最大)预期数据长度为 40, 而返回的数据长度为0。
如何使 SELECT * 语法起作用?
【问题讨论】:
标签: mysql sql-server odbc