【问题标题】:SSIS - Oracle view not visible to importSSIS - Oracle 视图导入不可见
【发布时间】:2020-07-28 16:21:46
【问题描述】:

我是 SSIS 的新手。我无权访问 oracle DB。 Oracle 团队创建了一个视图,并将该视图的访问权限授予我们用于通过 SSIS 连接到数据库的用户。

  1. 当我创建一个新的 ADO.NET 连接并单击测试连接时,它说连接成功,当我尝试检索“表或视图”弹出框时再次输入密码并抛出错误。错误: “无法检索连接管理器的表信息。对象引用未设置为对象的实例” 如果我使用具有相同凭据的现有连接,它在哪里工作。可能的原因是什么?
  2. 但是我使用了现有的连接,当我查找要用作源的视图时,该视图不可用。当我联系创建视图的 Oracle DB 团队时,他们说视图存在并且授予用户权限。他们使用相同的用户登录到 oracle,并且用户可以访问视图。现在我不确定为什么当我通过 SSIS 连接它时它对用户不可用。我正在使用 Visual Studio 2017

【问题讨论】:

  • 您提到的用户可能只能访问该特定视图(视图表),而不是 Oracle 字典,这可能是 Visual Studio 或 SISS 试图用来访问列表的字典的表。这就是连接有效但“列出表或视图”失败的原因。像这样想,假设您的视图名称是“my_table”,如果 Oracle 团队没有在“user_views”上向您的用户授予权限,那么 oracle 有一个名为“user_views”(或类似名称)的视图,这就是失败的方式。跨度>
  • 谢谢 Jorge。但我认为您将这两个问题混为一谈,因为我可能无法说清楚。 1)我无法创建新连接,因为旧连接适用于 oracle 数据库 - 使用的凭据相同。现在这与访问视图无关,因为当我使用旧连接时,我可以看到很多表但看不到我需要的那个。我所知道的是他们已经创建了一个视图“my_table”并授予用户访问视图“my_table”的权限。现在我无法通过 SSIS 访问那个 oracle 视图“my_table”,但列表给了我其他表的列表。

标签: oracle ssis ssis-2012 ssis-2008


【解决方案1】:

首先,您必须从 ADO.NET 的连接管理器的提供程序列表中选择“.Net Providers\OracleClient 数据提供程序”。其次,您应该在“服务器名称:”下拉列表中输入您的 Oracle DB 的名称或它的 IP(名称更好)。第三,您应该在“登录数据库”下方的文本框中输入您的用户名和密码。在所有这些之后,您可以单击“测试连接”,一切正常。现在您可以单击“是”关闭窗口。

现在您可以在数据流任务中添加一个 ADO.NET 源,在其“ADO.NET 连接管理器”下拉列表中选择您的连接,最后在“表的名称或查看”下拉菜单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    相关资源
    最近更新 更多