我正在将iSeries DB2数据库迁移到SQL Server(手动-当前未使用SSMA)。我有一个varchar(32000)类型的DB2列。当我尝试使用openquery通过链接服务器从SQL Server进行查询时,我收到错误“Requested conversion is not supported”。如何使用SQL脚本迁移此数据?
下面是链接服务器上的查询示例:
select MYVARCHAR32000COLUMN
from openquery(MYDB2LINKEDSERVER, 'select MYVARCHAR32000COLUMN from MYDB2DB.MYDB2TABLE')
OLE DB provider "MSDASQL" for linked server "MYDB2LINKEDSERVER" returned message "Requested conversion is not supported.".
Msg 7341, Level 16, State 2, Line 2304
Cannot get the current row value of column "[MSDASQL].MYVARCHAR320000COLUMN" from OLE DB provider "MSDASQL" for linked server "MYDB2LINKEDSERVER".
1条答案
按热度按时间vs91vp4v1#
为了在不更改链接服务器驱动程序的情况下迁移这些数据,我最终在源表中添加了4个CLOB列,然后在目标SQL Server表中将这4个部分转换为varchar(8000)。
在DB2(源)上:
然后在SQL Server(目标)上: