6

我想将 ADO.NET 实体数据模型添加到我的项目中。我正在使用 Oracle 数据库和 Oracle ODP.NET 连接到数据库。

我需要从两个模式中查询。因此,我将连接配置为使用两个不同的模式(使用我在另一个 SO 问题中找到的信息)。

这些表在我的服务器资源管理器中可见。但它们在 ADO.NET 实体数据模型添加向导中不可见。它仅显示第一个模式中的表,并且它们的前面有模式名称:

TableName(SchemaName). 

我必须做什么才能从两个模式中查看表?

4

4 回答 4

16

更新: 我遇到了一个非常相似的问题,在 Oracle 论坛中找到的这个解决方法帮助了我。上述解决方法似乎没有进入 Oracle 的新论坛区域。请在此处查看我的 SO 答案以获取更多详细信息。

摘要:在带有最新 ODAC 的 VS2012 中,当您设置连接过滤条件时,您始终必须包含默认架构以及您想要的任何架构。

出于某种原因,我不必在 VS2010 中使用以前版本的 ODAC 执行此操作。

于 2012-12-19T23:22:23.350 回答
2

这是一个已知的错误。我也深受其害,曾经一度消失,但现在又回来了。Oracle 意识到了这一点,并希望在下一个 ODAC 版本中修复它。有关它的线程,请参见此处:

https://forums.oracle.com/forums/thread.jspa?messageID=10396897

甲骨文员工的回复:

发布时间:2012 年 5 月 2 日下午 3:53

我们已经能够在 Oracle 重现此错误,目前正在研究解决方案。我们希望在下一个版本中包含此错误修复。

于 2012-07-12T16:39:17.033 回答
1

如果它有帮助...我根本无法使用 VS 2010、EF 5 和 ODAC 2.102.2.20 从非默认模式添加表。因为我将过滤器设置为使用具有我的表定义的模式(与用户 ID 的默认模式不同),所以我可以在服务器资源管理器中看到这些表,但无法将它们添加到模型中。我必须将用户 ID 的默认模式和表的模式都添加到过滤器列表中。

于 2013-09-12T20:13:29.250 回答
0

对我来说,关键是当我在服务器资源管理器中创建数据连接时,使用 Oracle 非托管驱动程序。指定 TNS 别名,指向您的 .ora 文件(至关重要)。然后,这就是导致问题的原因,是单击过滤器,并添加查看表所需的模式。保留默认架构,并添加您需要的架构。您必须点击更新按钮才能使其生效!!!如果一切顺利,您应该会在 Server Explorer 数据连接中看到这些表。

现在转到您的解决方案并从数据库中添加 ADO.NET 实体数据模型、EF 设计器。您应该会看到一个对话框,其中包含我们在上面创建的数据连接。选择那个。我选择在连接字符串中包含敏感数据。

现在,当您转到显示表格的窗口时,它们会自动出现!

希望有一天这对某人有所帮助。我断断续续地坚持了几个星期。

于 2021-11-30T20:02:06.170 回答