【发布时间】:2020-07-28 16:21:46
【问题描述】:
我是 SSIS 的新手。我无权访问 oracle DB。 Oracle 团队创建了一个视图,并将该视图的访问权限授予我们用于通过 SSIS 连接到数据库的用户。
- 当我创建一个新的 ADO.NET 连接并单击测试连接时,它说连接成功,当我尝试检索“表或视图”弹出框时再次输入密码并抛出错误。错误: “无法检索连接管理器的表信息。对象引用未设置为对象的实例” 如果我使用具有相同凭据的现有连接,它在哪里工作。可能的原因是什么?
- 但是我使用了现有的连接,当我查找要用作源的视图时,该视图不可用。当我联系创建视图的 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