0
你好,先谢谢你阅读我的问题。SSIS更新Oracle DB
我在SSIS中工作并试图在Oracle SQL开发人员中查看视图并更新表中的任何匹配行。通过四处搜索,我发现SSIS在更新Oracle数据库时遇到了一些问题,您可以通过OLE DB Command来完成。所以我所做的是添加了一个OLE DB Source来引入我在Oracle SQL Developer中创建的View。该源与目标表具有完全相同的列。然后我将它连接到OLE DB命令。我选择了合适的连接管理器,并且必须在“输入和输出”选项卡中添加外部列以匹配目标表所具有的内容。这使我可以选择所有的列映射。但是,我遇到的问题似乎与我在“组件属性”选项卡的“自定义属性”部分中键入的SQLCommand相同。在这方面有经验的人可以帮助我完成这个设置吗?下面是我的SqlCommand(目前,它给了我一个错误“ORA-01008:未绑定所有的变量。”当我尝试执行):
UPDATE DB.PERMDB
SET
DB.PERMDB.NET_TIME = :NET_TIME,
DB.PERMDB.PROC_ZONENAME = :PROC_ZONENAME,
DB.PERMDB.NET_TIME2 = :NET_TIME2,
DB.PERMDB.PROC_ZONENAME = :PROC_ZONENAME2,
DB.PERMDB.LAST_DISCOVERY = :LAST_DISCOVERY1,
DB.PERMDB.PULSEDATE = :PULSEDATE1
WHERE
DB.PERMDB.COMBREL = :COMBREL1
像你的数据流中的'NET_TIME'列吗? – billinkc
是的......它是我的OLE DB Source中的一个导入列,是否应该在其前面包含视图名称?防爆。 DB.VIEW.NET_TIME? – QuestionsGalore
您是否正在'ORA-00933:SQL命令未正确结束?或者是来自其他层的错误?该语句看起来不错(除了将'NET_TIME'设置为自身,这不会出错,但可能不是您想要的)。 –