0

我有一个 GIS oracle 数据库,我需要在 SSIS 数据流任务中引用。理想情况下,我通常会做这样的事情(在 Oracle SQL Developer 中完美运行):

execute sde.version_util.set_current_version('SAFE.mvedits')
SELECT CAD_EVENTID
FROM SAFE.INCIDENT_POINT_MV

但是,当我尝试将其用作我的 OLE DB 数据源的 SQL 命令时,它会引发“无效 SQL”错误。

如何在 SSIS 数据流任务数据源中设置 SDE 版本?

4

2 回答 2

0

对甲骨文一无所知,您可能会尝试的是

  1. 在您的 Oracle Connection Manager 中,将该属性更改RetainSameConnection为 True。这意味着Oracle 的所有连接都将使用同一个线程。

  2. 在与 Oracle 对话的数据流之前添加一个执行 SQL 任务。在那里使用您的查询来修改当前版本的东西。此设置应保留在连接上。

  3. 在您的 OLE DB 数据源中,从 SELECT 语句开始。

您可能还需要将 DelayValidation 设置为 true。

如果这不起作用,请告诉我,我会看看我是否能想出其他办法。

于 2013-01-22T20:52:00.577 回答
0

事实证明,这是通过第三方应用程序与 GIS Oracle 数据库交互的不足之处。在我的情况下,我们通过将更改捆绑在位于 oracle 服务器上的存储过程中并从 SSIS 内部调用该存储过程来解决这个问题。

于 2013-06-18T18:20:37.573 回答