OLE DB命令到Oracle - unicode / non-unodeode转换错误

问题描述 投票:1回答:1

当我进入RDP时,我的桌面和我的ETL服务器上的包运行正常。但是,当作为作业的一部分运行时,我在所有字符串列上都出现以下错误:“错误:列”*** STATUS“无法在unicode和非Unicode字符串数据类型之间进行转换。”

更新Oracle数据库中的表的OLE DB命令组件上发生此错误。我在SQL / SSIS端和Oracle端的列都不是Unicode。这是直接进入我的OLD DB Command组件的元数据。

metadata

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

这是Oracle架构:enter image description here

命令:

enter image description here

任何人都知道如何从代理运行这个?

oracle unicode ssis oledb etl
1个回答
0
投票

基于以下oracle支持案例:

以下错误消息的原因是:

开发在32位操作系统上使用Oracle OLEDB Provider然后部署到64位SQL Server安装的SSIS包


可能的解决方法

请注意,我之前没有测试过这些变通方法。

(1)尝试以32位模式运行包:

来自Visual Studio

    GoTo Project properties >> Debugging >> Run64BitRuntime  = False

enter image description here

来自SQL Agent

检查以下链接:

(2)安装Oracle x64 oledb提供程序

© www.soinside.com 2019 - 2024. All rights reserved.