2012-01-13 134 views
4

我想在ASP.NET MVC项目中使用Oracle XE DB。我在VS运行的同一台机器上安装了Oracle 11g XE。安装在C:\ oraclexe中成功完成。一切都如所料,我能够通过服务器资源管理器使用默认的.NET Oracle数据访问提供程序连接到数据库。但我想使用ODP.NET,所以我在C:\ app中安装了ODP.NET + ODT。这是第一个令人困惑的事情。 C:\ oraclexe \ server和C:\ app \ client_1的目录结构类似。两者都有Tnsnames.ora所在的NETWORK \ ADMIN文件夹。我知道客户端用于连接到数据库,但:了解Oracle数据库和ODAC安装

  1. 哪个Tnsname.ora将用于连接到数据库?
  2. Oraclexe还包含Oracle.DataAccess.dll所在的odp.net文件夹。如果服务器安装带有odp.net,为什么我需要安装ODAC? VS中的服务器资源管理器仅在ODAC安装后才提供ODP.NET驱动程序用于连接。
  3. ODAC附带Oracle即时客户端。何时使用Oracle客户端和何时使用Oracle Instant Client?如果我决定使用Oracle Client,然后我将安装ODAC进行连接,它是否也会安装属于ODAC的Instant Client?
  4. 最后安装服务器和客户端后,VS 2010仍然没有给我提供的Oracle供应商在ASP.NET配置

回答

2

的Oracle XE是这有点儿特别的你通常在同一台机器上安装服务器和客户端。从逻辑上讲,它们是分开的,但它确实使事情变得难以理解。出于这个原因,我会提及其他专家。

  1. The folks at ORAFAQ have information about the TNSNAMES.ORA file.我个人的策略是让所有我的TNSNAMES.ORA文件相同的,所以没有opportinity混乱。

  2. ODP.NET用于...... .NET的使用,而ODAC是“本地”(OLE)并提供比ODP.NET更多的工具。使用任何适合您需求的作品。

  3. 对于大多数情况下,您将分发即时客户端。完整客户端对开发人员更有用。详情请参阅documentationFAQs。您可以在一台计算机上安装多个客户端,因此我不确定问题所在。

  4. 重新启动机器?您是否将适当的库/库添加到您的环境中?

+2

4 ...继续。您需要在您的项目中引用Oracle.DataAccess.dll。该文件可以在Oracle路径的ODP.NET \ bin文件夹中找到。然后你可以添加'使用Oracle.DataAccess.Client'到您的文件的顶部。 – 2012-02-09 22:36:22