首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySQL链接服务器中使用openquery时,宽可变字符字段导致“请求的转换不受支持”错误

在MySQL链接服务器中使用openquery时,宽可变字符字段导致“请求的转换不受支持”错误
EN

Stack Overflow用户
提问于 2012-04-12 19:32:21
回答 2查看 14.5K关注 0票数 2

我正在尝试使用openquery将一个表从MySql迁移到MSSQL,但我一直收到以下错误消息:

代码语言:javascript
复制
OLE DB provider "MSDASQL" for linked server "MYSQL" returned message "Requested conversion is not supported.".
Msg 7341, Level 16, State 2, Line 1
Cannot get the current row value of column "[MSDASQL].description" from OLE DB provider "MSDASQL" for linked server "MYSQL". 

我尝试运行的SQL查询:

代码语言:javascript
复制
insert into dbo.tickets (id, description, createdAt)
select * from openquery(MYSQL, 'select * from mydb.tickets')

使用openquery时,我已经复制了几个表,但这一张把我给骗了。

在数据库的两端,description字段都是varchar(8000)。在MySql中,没有任何行的description为null,最长的description只有5031个字符。

我尝试使用相同的数据结构在MySql中创建一个新视图,但得到了相同的错误。我无法确定哪一行包含无效的description字段,因为该表包含的行超过65000行。

我还尝试将数据转储到SQL文件中,但在Management Studio中获得了OutOfMemoryException。转储的sql文件本身大约为60 MB。

有什么建议或其他方法来迁移这些数据吗?

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-12 20:13:59

通过在MySql和MSSQL端将数据类型更改为TEXT,我设法解决了这个问题。

票数 4
EN

Stack Overflow用户

发布于 2013-06-06 22:38:21

在我的测试中,我发现添加CAST(field as char(4000))也解决了这个问题。

我在MySQL 5.1数据库中创建了以下内容:

代码语言:javascript
复制
create table tmp_patrick (summary_text varchar(4096));
insert into tmp_patrick values ('foo');

当我在SQL Server2008 R2 SP1 (10.50.2500)上使用64位MySQL ODBC驱动程序执行以下命令时,版本为5.1或5.2w:

代码语言:javascript
复制
select * from openquery(MYSQL, 'select summary_text from scratch.tmp_patrick')

它会生成以下错误:

代码语言:javascript
复制
OLE DB provider "MSDASQL" for linked server "MYSQL" returned message "Requested conversion is not supported.".
Msg 7341, Level 16, State 2, Line 1
Cannot get the current row value of column "[MSDASQL].summary_text" from OLE DB provider "MSDASQL" for linked server "MYSQL". 

但是如果我加上CAST

代码语言:javascript
复制
select * from openquery(MYSQL, 'select CAST(summary_text as char(4000)) from scratch.tmp_patrick')

然后它就起作用了。转换为char(4001)将失败。

我不清楚4000个字符的限制是从哪里来的。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10122693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档