Oracle使用ODBC連接配置


該配置是在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();
        }

 

----------------------------------------------------------------------------------

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM