標籤:
該配置是在windows 7 32位下進行的,程式已經通過了測試(使用VBS進行的測試)
1.檔案下載
--------------------------------------------------------------------------
http://www.oracle.com/technetwork/topics/winsoft-085727.html
需要下載兩個檔案 instantclient-basic-nt-12.1.0.2.0.zip "http://download.oracle.com/otn/nt/instantclient/121020/instantclient-basic-nt-12.1.0.2.0.zip"
instantclient-odbc-nt-12.1.0.2.0.zip "http://download.oracle.com/otn/nt/instantclient/121020/instantclient-odbc-nt-12.1.0.2.0.zip"
到官網下載需要登陸 使用者名稱: **** 密碼:*****
將兩壓縮包進行解壓。
將"instantclient-odbc-nt-12.1.0.2.0.zip"裡面的所有檔案和檔案夾拷貝到"instantclient-basic-nt-12.1.0.2.0.zip"解壓到的檔案裡面
假設將檔案都放到了"xxx\instantclient_12_1"檔案夾裡面
--------------------------------------------------------------------------
2.安裝client
-------------------------------------------------------------------------------------------
開啟instantclient_12_1檔案夾找到 cmd.exe(若沒有則在system32下找到並拷貝過來) 右鍵"cmd.exe"檔案點擊以管理員身份運行。
輸入"odbc_install.exe"點擊Enter運行,若安裝成功則會出現"Oracle ODBC Driver is installed successfully"
-----------------------------------------------------------------------------------------
3.環境變數需要配置的內容
滑鼠右鍵電腦-->屬性-->進階系統設定-->進階-->環境變數-->系統變數
-----------------------------------------------------------
ORACLE_HOME xxx\instantclient_12_1
Path 添加 xxx\instantclient_12_1
TNS_ADMIN xxx\instantclient_12_1\network\ADMIN
------------------------------------------------------------
其中xxx\instantclient_12_1\network\ADMIN 檔案夾中的 tnsnames.ora檔案內容需要進行修改 將"TESTDB"中的"HOST=192.168.19.176"做修改若無tnsnames.ora檔案則需要自己建
"SERVICE_NAME=ORCL" ORCL是SID
4.odbc需要配置的內容 開始-->控制台-->管理工具-->資料來源(ODBC)-->使用者DSN-->添加
---------------------------------------------------------------
點擊 "Oracle in instantclient_12_1" 點擊 完成 在Oracle ODBC Driver Configuration對話口進行內容填寫
=================================================================
Data Source Name 自己隨便取個名字如:"bbb"
Description 串連描述如:"xxxxxxxxx"
TNS Service Name 有兩種方式進行一種是點擊下拉tnsnames.ora配置的名稱如"TESTDB"
另一種填寫 IP地址+連接埠號碼+SID 如: "192.168.19.176:1521/ORCL"
UserID 訪問資料庫的使用者名稱
======================================================================
點擊測試彈出"Oracle ODBC Driver Connect"對話口 填寫好密碼 點擊"OK" 若串連成功則提示 "Connection successful"
至此odbc配置成功
---------------------------------------------------------------
測試
----------------------------------------------------------------------------------
BVS版
以下是一段vbs測試程式 拷貝下列檔案取拓展名為".vbs"雙擊文檔可以進行測試
其中的"database=sys"表示要訪問的資料庫名稱是sys
找到"audit_actions"表中的行數並顯示出來
‘*******************************************‘從我開始拷貝****************************************
Dim objConnection ‘CONNECTION對象執行個體 Dim objRecordSet ‘RECORDSET對象執行個體 Dim objCommand ‘命令對象執行個體 Dim strConnectionString ‘連接字串 Sub ConnectDatabase() Set objConnection = CreateObject("ADODB.CONNECTION") ‘1 - 建立CONNECTION對象的執行個體 strConnectionString = "Dsn=bbb;uid=bips48;pwd=m123;database=sys" ‘2 - 建立連接字串 objConnection.Open strConnectionString Set objRecordSet = CreateObject("ADODB.RECORDSET") ‘4 - 建立RECORDSET對象執行個體 Set objCommand = CreateObject("ADODB.COMMAND") ‘5 - 建立COMMAND對象執行個體 objCommand.ActiveConnection = objConnection objCommand.CommandText = "select count(*) from audit_actions" objRecordSet.CursorLocation = 3 objRecordSet.Open objCommand ‘6 - 執行SQL語句,將結果儲存在RECORDSET對象執行個體中 intArrayLength = objRecordSet.RecordCount ‘將查詢結果的行數作為數組的長度 MsgBox intArrayLength If intArrayLength > 0 Then Do While NOT objRecordSet.EOF ‘將資料庫查詢的列值賦值給數組 MsgBox objRecordSet("COUNT(*)") objRecordSet.MoveNext Loop End If End Sub ConnectDatabase
‘***************************************‘拷貝到我結束*********************************
C#版
static void Main(string[] args) { Console.WriteLine(DateTime.Now); System.Data.Odbc.OdbcConnectionStringBuilder connBuilder = new System.Data.Odbc.OdbcConnectionStringBuilder(); connBuilder.Dsn = "bbb"; connBuilder.Add("uid", "bips48"); connBuilder.Add("pwd", "m123"); connBuilder.Add("database", "sys"); string sss = connBuilder.ToString(); Console.WriteLine(connBuilder.ToString()); System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection(connBuilder.ToString()); try { conn.Open(); System.Data.Odbc.OdbcCommand comm = new System.Data.Odbc.OdbcCommand("select count(*) from audit_actions", conn); var reader = comm.ExecuteReader(); while (reader.Read()) { Console.WriteLine(reader[0].ToString()); } Console.WriteLine("串連成功!"); } catch (Exception e) { Console.WriteLine(e); } finally { conn.Close(); } Console.Read(); }
----------------------------------------------------------------------------------
Oracle使用ODBC串連配置