小编典典

宽varchar字段导致使用MySQL链接服务器的openquery导致“不支持请求的转换”错误

sql

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

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查询:

insert into dbo.tickets (id, description, createdAt)
select * from openquery(MYSQL, 'select * from mydb.tickets')

随着openquery我已经复制了几个表,但这个招数我。

在数据库的两侧,该description字段均为varchar(8000)。在MySql中,没有描述为null的行,最长的描述仅为5031个字符。

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

我也尝试将数据转储到SQL文件中,但是我进入OutOfMemoryException了Management Studio。转储的sql文件本身约为60
MB。

对迁移此数据有任何建议或其他方式吗?

提前致谢!


阅读 226

收藏
2021-04-14

共1个答案

小编典典

我设法通过将数据类型TEXT都更改为MySql和MSSQL来解决此问题。

2021-04-14