我的包在我的桌面和我的ETL服务器上运行良好,当我RDP进入它。但是,当作为作业的一部分运行时,我在所有字符串列上都收到以下错误:" error : Column“*STATUS”cannot convert between and non-Unicode string data type。“
此错误发生在更新Oracle数据库中的表的OLE DB命令组件上。我在SQL/SSIS端和Oracle端的列都不是Unicode。下面是直接指向我的旧DB Command组件的元数据。

我验证了有问题的OLE DB命令组件上的外部列是否与该元数据完全匹配。我还尝试在插入之前显式地将列转换为Unicode (我知道它们不是Unicode ),但这会导致硬错误(红色X)和相同的消息。
下面是Oracle模式:

命令:

有没有人知道如何从代理中运行它?
发布于 2019-03-20 05:26:10
以下错误消息的原因如下:
在32位操作系统上开发使用Oracle OLEDB提供程序的SSIS包,然后部署到64位SQL Server安装
请注意,我以前没有测试过这些变通方法。
(1)尝试在32位模式下运行包:
来自Visual Studio
GoTo Project properties >> Debugging >> Run64BitRuntime = False

从SQL代理
检查以下链接:
(2)安装Oracle x64 oledb provider
发布于 2021-02-17 21:06:21
在OLE DB Source上,确保将delay validation设置为true。
我将默认代码页设置为false,并将代码页设置为1252。
我尝试过32位和64位的版本。
还需要使标志validateexternalmetadata = false
https://stackoverflow.com/questions/55247427
复制相似问题