首先還是先來看一下我的一些環境吧,
作業系統是 Win 7 旗艦版,
Oracle 版本為 Oracle 10g R2 ,
Visual Studio 為 Visual Studio 2008,
前面介紹的呢都是通過手工編寫 Oracle 資料庫連接字串來完成的訪問 Oracle 資料庫,
其中介紹了 OracleClient ,Oledb ,ODBC 這三類方法,
其實呢,對 Oracle 的操作並沒有想象中的那麼複雜,
尤其是當 Oracle 公司提供了在 Visual Studio 下的一些外掛程式的使用下就顯得更加容易了,
這使得您在 VS 下對 Oracle 的操作有些類似於對 Sql Server 的操作了,
其實呢,VS 對 Oracle 的訪問有三種資料提供者,
一種是:用於 Oracle 的 .NET Framework 資料提供者
一種是:用於 OLEDB 的 .NET Framework 資料提供者
一種是:Oracle Data Provider for .NET
其中第三種呢,您必須先安裝由 Oracle 提供的 ODP.NET 才能夠實現訪問,
這個呢將會在後面的博文中介紹,
必須要提及的是,您要完成在 VS 中訪問 Oracle 資料庫的話,
你必須先將 Oracle 資料庫配置好,
常見的一些配置錯誤主要是對
D:\oracle\product\10.2.0\db_1\network\ADMIN
這個目錄下的兩個檔案的配置
這兩個檔案的配置至關重要,其中 listener.ora 是使用者指定監聽服務的一些資訊的,
如果這個檔案設定不正確的話,將有可能導致監聽服務無法啟動,
簡單起見,直接把裡面的東西截個圖吧,
主要是要將 HOST 設定好,
而後就是要配置好 tnsnames.ora
這個檔案也非常重要,其直接涉及到您的 VS 或者是應用程式能否訪問到 Oracle 資料庫,
其中的設定說明是,HOST 用來指定 Oracle 伺服器所在的主機名稱或者 IP 位址,
而 SERVICE_NAME 則指定全域資料庫名,
一般來說,經過下面兩個步驟就可以判斷出您的上面的兩個檔案是否設定正確了,
首先是您設定好上面的兩個檔案以後,您就重新啟動監聽服務,
如果監聽服務能夠正常啟動的話,說明設定檔 listener.ora 配置基本正確,
而後的話,您可以通過 tnsping 資料庫名 來判斷 tnsnames.ora 的配置是否正確,
比如我的全域資料庫名為 Oracle ,
我就通過 tnsping Oracle 來判斷 tnsnames.ora 的配置是否正確,
如果得到上面的類似結果,則說明這個設定檔時正確的,
現在就來看前面的兩種方式吧,
然後我建立一個串連
更改資料來源(先使用”使用者 Oracle 的 .NET Framework 資料提供者”)
其中 Oracle 是用來指定要串連的 Oracle 資料庫的名字的
完成後可以看到
下面就來看一個 Demo 來對上面的設定進行一個測試
Demo 很簡單就是一個頁面上放一個 GridView ,
然後將 Oracle.SCOTT 中的 EMP 表中的資料全部綁定上去進行顯示,
直接看效果就可以了
---------------------------------------------華麗的分隔線-----------------------------------------
---------------------------------------------華麗的分隔線-----------------------------------------
---------------------------------------------華麗的分隔線-----------------------------------------
上面呢是介紹了使用資料提供者中的第一種完成訪問 Oracle 的任務,
而後就是要介紹 用於 OLEDB 的 .NET Framework 資料提供者了
和前面一樣,先添加一個與 Oracle 資料庫的串連,
只不過這次使用的資料提供者時 用於 OLEDB 的 .NET Framework 資料提供者了
我仍然以 scott 使用者進行訪問 Oracle 資料庫,
串連成功後可以看到
再看一個 Demo 來實現通過這個資料庫的串連來訪問 Oracle 資料庫
這個 Demo 呢和上一個 Demo 沒有區別,都是通過訪問 Oracle 得到 EMP 表中的資料,
這裡就不做示範了,
而至於最後一種方法,即使用 Oracle Data Provider for .NET 的話,
其可以通過 Oracle Developer Tools For Visual Studio .NET 來完成,
會在以後介紹!!!