了解Oracle数据库和ODAC安装

时间:2012-01-13 09:29:21

标签: oracle odp.net oracle-xe odac

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

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

1 个答案:

答案 0 :(得分:2)

Oracle XE有点特别之处在于您通常在同一台计算机上安装服务器和客户端。从逻辑上讲,它们是分开的,但确实让事情变得难以理解。因此,我将参考其他专家。

  1. The folks at ORAFAQ have information about the TNSNAMES.ORA file.我个人的策略是让我所有的TNSNAMES.ORA文件都一样,所以没有混淆的机会。

  2. ODP.NET用于...... .NET,而ODAC是“本机”(OLE),并提供了比ODP.NET更多的工具。使用符合您需求的任何东西。

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

  4. 重启机器?您是否在环境中添加了适当的库/库?