应用场景:
将SQLSERVER的表同步到ORACLE中
解决步骤:
1.在ORACLE中建立对应的表,其中有个列的长度为nvarchar2(2000)
2.通过SSIS将数据初始化到ORACLE中
3.为SQLSERVER中的表增、删、改生成对应的INSERT、DELETE、UPDATE语句
4.得到这些语句并在ORACLE数据库中执行
问题&答案:
1.有个列nvarchar2需要最大长度,刚开始设4000,提示错误,改成2000通过,SQLSERVER的nvarchar最大长度是4000
2.生成的插入语句格式为INSERT INTO TBL(COL1,COL2,COL3) VALUES ('','',''),其中nvarchar2(2000)的长度超过1000,执行时提示错误
"ora-01401,插入的值对于列过大",这种时候请使用N'数据'这种形式
第一个问题网上有很多说法,大部分人没搞清楚
第二个问题目前在网上没看到相关说明,老夫是因为从SQLSERVER的写法联想到的,没想到就是所要的答案