2012-01-13 114 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