2011-04-07 270 views
1

今天是我第一天嘗試在Asp.NET中使用Oracle數據庫,所以我不知道我需要做什麼。連接到Oracle數據庫

我加入這個代碼

Dim oOracleConn As OracleConnection = New OracleConnection() 
oOracleConn.ConnectionString = "Data Source=xxxxx;User Id=yyy;Password=psw;" 
oOracleConn.Open() 
Response.write("Connected to Oracle.") 
oOracleConn.Close() 
oOracleConn.Dispose() 
End Sub 

但它給了我

類型 '的OracleConnection' 沒有定義的錯誤。

現在我看了一下互聯網,它說它可能是對缺少的DLL的引用?

我知道我的頁面中有一個DLL引用,我不認爲我的服務器上的任何位置都有DLL。

我從哪裏得到這個DLL?

我已經下載了ODBC .NET數據提供程序,但是這似乎沒有幫助。

我試着在Visual Studio中添加一個引用,但我無法在列表中找到Oracle客戶端引用。

任何想法?

感謝

+0

您是否安裝了Oracle Data Provider for .NET?http://www.oracle.com/technetwork/developer-tools/visual-studio/downloads/index.html – Rhapsody 2011-04-07 12:52:10

+0

只需安裝它,現在感謝:) – 2011-04-07 13:16:26

+0

我似乎只是現在得到這個錯誤'TNS:偵聽器目前不知道在連接描述符中請求的服務「 – 2011-04-07 13:57:43

回答

3

Oracle的推薦的方法是使用Oracle Data Provider for .NET

您需要一個與您的開發機器和網絡服務器上安裝的數據庫版本兼容的Oracle客戶端。

有一些怪癖,你必須指定數據庫連接字符串。一些類型的互聯網靈魂有documented oracle提供商的數據庫連接字符串。

oracle客戶端有一個名爲TNSNAMES.ORA的文件,它通常位於安裝客戶端的Oracle主目錄下的安裝位置(安裝位置因版本和安裝設置而異)中的/ NETWORK/ADMIN文件夾中。

該文件包含一個數據庫列表,其中包含端口號,主機名和Oracle SID,允許oracle客戶端連接到服務器。

一旦完成所有這些配置(或者您決定使用「TNS-less」連接字符串),您應該能夠建立與oracle的數據庫連接。

ODP.NET提供程序文檔還提供了一些示例代碼,這些代碼在開始使用時非常有用。

+0

感謝您提供這些信息,結果證明TNSNAMES.ORA是我的錯 - 它沒有正確設置 – 2011-04-08 10:35:23

1

this,這的OracleConnection是一種過時的API,但正在使用的DLL是:

System.Data.OracleClient.dll 

編輯:這article提供不同的API的一些數據與.NET連接到Oracle

+0

我應該用什麼來代替OracleConnection?我從互聯網上的某處獲得了該代碼 – 2011-04-07 12:57:27

+0

@Jamie:請參閱編輯 – 2011-04-07 13:01:37

0

真正的問題是數據類型映射,但不是連接或提供者。