【发布时间】:2011-09-08 10:59:45
【问题描述】:
我有一个与 MySQL 5.5 服务器链接的 SQL 2008 R2 服务器。 当我尝试将 SQL 服务器中的 Text 列插入 MySQL 服务器中的 Text 列时,它失败了。 查询 -
INSERT INTO OPENQUERY(MYSQL, 'SELECT bio FROM d.test')
SELECT bio FROM test.dbo.ARTIST
where art_no = 3
SQL Server 中的 bio 列是 type text - SQL_Latin_General_CP1_CI_AS 而 MySQL 服务器中的 bio 列是 type text - charater set Latin1 collate - latin1_general_ci
我得到的错误是:
消息 7399,第 16 层,状态 1,第 12 行
链接服务器“MYSQL”的 OLE DB 提供程序“MSDASQL”报告错误。提供者没有提供有关错误的任何信息。消息 7343,第 16 级,状态 2,第 12 行
链接服务器“MYSQL”的 OLE DB 提供程序“MSDASQL”无法插入表“[MSDASQL]”。未知的提供程序错误。
【问题讨论】:
-
如果您使用的是 SQL 2008R2,您应该知道
TEXT, NTEXT, and IMAGE已被弃用,取而代之的是VARCHAR(MAX), NVARCHAR(MAX), and VARBINARY(MAX)
标签: mysql sql-server insert