将SSIS包执行到Stage Enviroment时,我遇到了一个奇怪的错误。我做了一个文件系统部署并在SQL代理作业上安排它
我收到的错误是
列“PGL_EMP_ID”和“EMP_ID”无法在unicode和非unicode字符串数据类型之间进行转换。(这发生在OLEDB命令的预执行阶段,其中EMP_ID是VARCHAR2的变量(oracle数据类型),PGL_EMP_ID是DT_WSTR字符串数据类型填充到EMP_ID)
我已经使用了数据转换并将PGL_EMP_ID转换为Unicode(DT_WSTR),并且程序包在Dev中运行时没有错误。对于OLE DB命令,我也将ValidateExternalMetadata
设置为false。延迟包验证也设置为true。
我正在使用XML和SQL Server Package配置。
我认为这是由于Oracle驱动程序不匹配:Dev有(11.2.0.3)和Stage有(11.2.0.1)版本
答案 0 :(得分:0)
您可以尝试使用(DT_STR,255,1252)代替(DT_WSTR)进行数据转换吗?
P.S。我不能发表评论,因为我是StackOverflow的新手,所以发帖作为答案。