2

我在 Win7 机器上安装了 VS2012 和最新的 32 位版本的 ODAC(带有 Oracle 开发工具的第 5 版)。一切都是全新安装。在这种环境中,我有一个 ASP.NET Web 表单解决方案,它最初是在 VS2010 中开发的,其中包含基于 32 位 ODAC 第 4 版构建的 EDMX 文件。

我可以使用服务器资源管理器设置与数据库的连接并查看表,但我现在无法通过更新向导修改我的 EDMX 文件。更新向导中不会显示任何表格。

在此处输入图像描述

这是 VS2012 更新向导第一步中的连接字符串:

metadata=res://*/Models.EventModel.EventModel.csdl|
res://*/Models.EventModel.EventModel.ssdl|
res://*/Models.EventModel.EventModel.msl;
provider=Oracle.DataAccess.Client;
provider connection string="data source=<serverid>;
persist security info=True;
user id=<userid>"

但是,在我的另一个 Win7 机器上,我使用完全相同的 ASP.NET 解决方案全新安装了 VS2010、EF 4.1 和以前的 32 位版本的 ODAC(第 4 版),但我对更新向导没有任何问题。

在此处输入图像描述

这是来自 VS2010 和 ODAC4 的更新向导连接字符串:

metadata=res://*/Models.EventModel.EventModel.csdl|
res://*/Models.EventModel.EventModel.ssdl|
res://*/Models.EventModel.EventModel.msl;
provider=Oracle.DataAccess.Client;
provider connection string="DATA SOURCE=<serverid>;
PASSWORD=;
PERSIST SECURITY INFO=True";
USER ID=<userid>"

其他相关资料:

1) 我在我的 VS2012/ODAC5 解决方案中使用我的 VS2010/ODAC4 解决方案中的 web.config。

2) 我已将 VS2012 解决方案设置为目标 .NET 4.5。

3) 我已经确保通过 NuGet 安装了 EF5,并且我已经安装了 VS2012 Update 1。

4)我还设置了一个干净安装VS2010和ODAC5的盒子,我遇到了同样的问题。更新向导中没有表。

问题:

我需要更改任何 web.config 设置或其他设置来解决此问题吗?如果是这样,设置是什么?

在此先感谢您的帮助。我真的很想使用新的 ODAC 和 VS2012。

4

1 回答 1

8

在 Oracle 论坛中找到的这个解决方法帮助了我。(参见user9948241在 12 月 19 日的帖子。) Oracle 有一个新的论坛页面,而上面提到的帖子显然没有进入新论坛。

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

更新:下面显示的是向导中的 Filters 选项卡,用于从 Visual Studio Server Explorer 添加(或修改)数据连接。

仔细查看并注意,在“选择过滤条件”的值字段中,我有两个用逗号分隔的模式值(实际值已从屏幕截图中删除)。一个是默认架构值,另一个是我想要的架构。您可以通过单击我用红色标记的省略号来设置这些模式值。

在此处输入图像描述

出于某种原因,我不必在 VS2010 中使用以前版本的 ODAC 执行所有这些操作,我删除了默认架构并添加了我想要的架构。

于 2012-12-19T23:28:58.957 回答