当我进入RDP时,我的桌面和我的ETL服务器上的包运行正常。但是,当作为作业的一部分运行时,我在所有字符串列上都出现以下错误:“错误:列”*** STATUS“无法在unicode和非Unicode字符串数据类型之间进行转换。”
更新Oracle数据库中的表的OLE DB命令组件上发生此错误。我在SQL / SSIS端和Oracle端的列都不是Unicode。这是直接进入我的OLD DB Command组件的元数据。
我验证了OLE DB Command组件上的外部列与该元数据完全匹配。我还尝试在插入之前显式地将列转换为Unicode,以防它们在Oracle端是Unicode(我知道它们不是),但这会导致硬错误(红色X)和相同的消息。
命令:
任何人都知道如何从代理运行这个?
基于以下oracle支持案例:
以下错误消息的原因是:
开发在32位操作系统上使用Oracle OLEDB Provider然后部署到64位SQL Server安装的SSIS包
请注意,我之前没有测试过这些变通方法。
(1)尝试以32位模式运行包:
来自Visual Studio
GoTo Project properties >> Debugging >> Run64BitRuntime = False
来自SQL Agent
检查以下链接:
(2)安装Oracle x64 oledb提供程序