安裝unxiodbc軟體,串連oracle資料庫

來源:互聯網
上載者:User

標籤:   應用程式   include   oracle   伺服器   

         安裝unixodbc——以下操作在root使用者下操作


    安裝過程和報錯處理我是參考及引用網路上的資源,也結合了自己的實際安裝環境


一、安裝unixodbc工具

1、下載unixodbc壓縮包(unixODBC-2.3.4.tar.gz),用ssh工具將其上傳linux伺服器。(:http://www.unixodbc.org/)


2、輸入以下命令,進行安裝:

#tar   -zxvf   unixODBC-2.3.4.tar.gz——解壓

#cd  unixODBC-2.3.4——進入解壓後的安裝目錄

#./configure --prefix=/usr/local/unixODBC-2.3.4 --includedir=/usr/include --libdir=/usr/lib --bindir=/usr/bin --sysconfdir=/etc——對unixODBC-2.3.4軟體進行配置

#make——對unixODBC-2.3.4進行編譯

#make install——安裝unixODBC-2.3.4

ps:在Linux下安裝一個應用程式時,一般先運行指令碼configure,然後用make來編譯來源程式,在運行make install,最後運行make clean刪除一些臨時檔案(沒做過最後一步)。


二、安裝oracle資料庫的odbc驅動

1、下載、上傳並安裝以下兩同版本號碼的rpm軟體包

oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.rpm

oracle-instantclient11.2-odbc-11.2.0.1.0-1.i386.rpm

: http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

#rpm -ivh oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.rpm ——安裝操作

#rpm -ivh oracle-instantclient11.2-odbc-11.2.0.1.0-1.i386.rpm——安裝操作

ps:下載32位或63位的rpm包,由linux系統來決定,用uname -a,可查看當前系統的型號


2、將/usr/lib/oracle/11.2/client/lib/* 拷貝到/usr/lib/目錄下——將oracle下動態串連共用庫拷貝到linux系統預設路徑下


3、執行ldconfig——將linux系統新增的oracle動態串連共用庫進行載入


4、在/usr/lib/oracle/11.2/NETwork/admin/ 下建立檔案tnsnames.ora ,如下:

ORCL =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.162.35.137)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = ORCL)

)

)

其中ORCL為一個標識名,設定檔odbc.ini中的ServerName項要與之相對應,SERVICE_NAME後跟要訪問的資料庫名,HOST為資料庫所在主機IP地址,PORT為連接埠號碼。

ps:若之前已經有tnsnames.ora檔案,注意看下配置細節即可。


5、在/etc/profile中增加:  export TNS_ADMIN=/usr/lib/oracle/11.2/network/admin/——配置新增的環境變數資訊


6、執行 . /etc/profile (注意前面的英文句號,點號後面有空格) 將環境變數註冊


三、檔案配置

主要是修改 /etc/ 下的兩個設定檔 odbc.ini 及 odbcinst.ini 。

1、在/etc/odbcinst.ini 中對各資料庫的驅動進行配置,一般格式如

[oraclezy]

Description     = odbc for Oracle——描述

Driver              = /usr/lib/libsqora.so.11.1——驅動程式

Setup              = /usr/lib/liboraodbcS.so——設定

FileUsage        = 1

[ODBC]

Trace=1——追蹤

Debug=1——調試

Pooling=No

ps:上述配置中的 Driver 及 Setup 後跟的欄位,可能由於版本不同,配置會略有不同,要以本機上的庫名或驅動名為準,可先用 ls 命令查看一下。


2、在 /etc/odbc.ini 中對應用程式要調用的ODBC介面進行配置,格式如下:

[oracle]

#odbcinst.ini中對應中括弧中的名字

driver      = oraclezy

server      = 192.168.1.167 or localhost

port        = 1521

#tns的名字

ServerName  = ORCL

UserID           = root

password      = 123456(以安裝oracle資料庫時註冊的使用者為主)


四、測試連接

完成以上操作後,執行iqsl oracle(以在odbc.ini的資料來源名為主)  root(使用者) 123456(密碼) -v

即:isql oracle root 123456 -v

出現此介面,即安裝配置成功:

+---------------------------------------+

| Connected!                            |

|                                       |

| sql-statement                         |

| help [tablename]                      |

| quit                                  |

|                                       |

+---------------------------------------+

SQL>


五、odbc串連oracle資料庫報錯類型

1、ORA-12170:TNS:Connect timeout occurred:連線逾時,注意/etc/odbc.ini 設定檔中servername與tnsnames.ora是否一致

ps:我在安裝時,就只遇到一個報錯:

[01000][unixODBC][Driver Manager]Can‘t open lib ‘/usr/lib/oracle/10.2.0.4/client

/libsqora.so.10.1‘ : file not found

[ISQL]ERROR: Could not SQLConnect

處理方法:

原因是libsqora.so.11.1依賴的包沒有

參考連結:http://bbs.csdn.net/topics/390566189

1、使用如下命令查看依賴關係

# ldd /usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1

linux-vdso.so.1 =>  (0x00007fff99b1d000)

libdl.so.2 => /lib64/libdl.so.2 (0x00007fbcb52f1000)

libm.so.6 => /lib64/libm.so.6 (0x00007fbcb506c000)

libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fbcb4e4f000)

libnsl.so.1 => /lib64/libnsl.so.1 (0x00007fbcb4c36000)

libclntsh.so.11.1 => /usr/lib/oracle/11.2/client64/lib/libclntsh.so.11.1 (0x00007fbcb22c6000)

libodbcinst.so.1 => not found (0x00007fbcb20b5000)

libc.so.6 => /lib64/libc.so.6 (0x00007fbcb1d23000)

/lib64/ld-linux-x86-64.so.2 (0x000000393aa00000)

libnnz11.so => /usr/lib/oracle/11.2/client64/lib/libnnz11.so (0x00007fbcb1955000)

libaio.so.1 => /lib64/libaio.so.1 (0x00007fbcb1754000)

libltdl.so.7 => /usr/lib64/libltdl.so.7 (0x00007fbcb154b000)

2、使用如下命令尋找libodbcinst.so.1的位置

#find / -name libodbcinst*

/usr/lib64/libodbcinst.so

/usr/lib64/libodbcinst.so.2

/usr/lib64/libodbcinst.so.2.0.0

/usr/lib/libodbcinst.so

/usr/lib/libodbcinst.so.2

/usr/lib/libodbcinst.so.2.0.0

確實沒有libodbcinst.so.1

3、解決該問題是實際操作

將/usr/lib64/libodbcinst.so.2、/usr/lib/libodbcinst.so.2分別複製

#cp /usr/lib/libodbcinst.so.2 /usr/lib/libodbcinst.so.1

#cp /usr/lib64/libodbcinst.so.2 /usr/lib64/libodbcinst.so.1

重新運行驗證命令即可


安裝unxiodbc軟體,串連oracle資料庫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.