<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      unixODBC編程(一)安裝配置ODBC

      訪問www.tomcoding.com網站,學習Oracle內部數據結構,詳細文檔說明,下載Oracle的exp/imp,DUL,logminer,ASM工具的源代碼,學習高技術含量的內容。

      在類Unix的操作系統環境中訪問數據庫,如果想要有好的移植性,或者更換數據庫而不需要修改代碼,最好的方式就是用ODBC訪問數據庫。ODBC是微軟公司在windows環境中訪問不同的數據庫而定義的統一訪問接口,在Unix環境中有一個軟件包叫做unixODBC,使用它可以用同樣的函數來訪問數據庫。

      在使用unixODBC之前要先安裝它,從官網unixODBC下載最新的軟件包,例如unixODBC-2.3.12.tar.gz,這是一個源代碼壓縮文件,需要編譯后安裝。下面以linux下安裝unixODBC為例,安裝到/home/oracle目錄下,配置oracleODBC驅動程序,看一下操作步驟。

      oracle用戶登錄linux,首先把軟件包傳到一個臨時目錄下,比如/tmp目錄。

      在當前目錄下解壓,tar xvfz unixODBC-2.3.12.tar.gz。

      由于linux系統下默認會安裝低版本的unixODBC,為了區別開來,我們把新的unixODBC安裝在/home/oracle目錄下,然后配置使用新版本的軟件包。

      進入源程序目錄,cd unixODBC-2.3.12

      配置軟件編譯環境,./configure --prefix /home/oracle/unixODBC,這個命令替換默認目錄,把軟件安裝在/home/oracle/unixODBC目錄下。

      編譯源代碼,make

      安裝軟件包,make install

      執行完上面的命令,在/home/oracle下已經創建了一個目錄unixODBC,所有頭文件,庫文件,配置文件,可執行文件都在里面。下面配置使用新的unixODBC軟件。unixODBC軟件使用兩個環境變量來找到軟件的位置和配置文件的位置,一個是ODBCHOME,指定軟件安裝的位置,一個是ODBCINI指定odbc.ini文件的位置,odbc.ini一般存放在ODBCHOME下的etc目錄中。創建一個文件odbc.env,用來存放環境變量,內容如下。

      ODBCHOME=/home/oracle/unixODBC
      export ODBCHOME

      ODBCINI=$ODBCHOME/etc/odbc.ini
      export ODBCINI

      ORACLE_HOME=/u01/oracle/product/19.3.0/db_1
      export ORACLE_HOME

      PATH=$ODBCHOME/bin:$PATH
      export PATH

      LD_LIBRARY_PATH=$ODBCHOME/lib:$ORACLE_HOME/lib
      export LD_LIBRARY_PATH

      文件中還設置了ORACLE_HOMELD_LIBRARY_PATH,因為后面要配置oracleODBC驅動程序,這是一個動態鏈接庫文件,位置在ORACLE_HOME/lib下。

      執行這個環境文件設置環境變量,使用命令 . ./odbc.env

      下面就要配置Oracle的驅動程序和應用程序使用的數據源名稱了。驅動程序在$ODBCHOME/etc/odbcinst.ini,編輯輸入下面的內容。

      [ora19c_driver]
      Description=ODBC driver for Oracle 19c
      Driver=/u01/oracle/product/19.3.0/db_1/lib/libsqora.so.19.1
      Setup=/u01/oracle/product/19.3.0/db_1/lib/libsqora.so.19.1

      這里主要指定了Oracle ODBC動態庫的位置和名稱。

      配置數據源在$ODBCHOME/etc/odbc.ini文件中,編輯輸入下面的內容。

      [ora_test]
      Description=Oracle ODBC test DSN
      Driver=ora19c_driver
      ServerName=//192.168.16.131:1521/pdb_dx

      這個文件主要定義了數據源名稱(DSN)和連接數據庫的信息還有使用的驅動程序。在這里數據源名稱是ora_test,驅動程序是在odbcinst.ini中配置的ora19c_driver,連接數據庫的信息是//192.168.16.131:1521/pdb_dx,也可以是一個tnsname,替換成自己的主機IP,端口和服務名。

      isql測試一下數據源是否能用。命令為isql -v ora_test scott tiger

      其中-v表示打印詳細信息,ora_test是數據源的名稱,scott是數據庫用戶名,tiger是用戶密碼。

      +---------------------------------------+
      | Connected!                            |
      |                                               |
      | sql-statement                         |
      | help [tablename]                    |
      | echo [string]                           |
      | quit                                         |
      |                                                |
      +---------------------------------------+

      如果出現上面的信息,表示數據源配置成功,否則會顯示出錯信息。

      說一下我在配置的過程中遇到的問題,還是有些不順利的地方。

      第一次配置完后,用isql測試,出現下面的錯誤。

      isql: symbol lookup error: /oracle11/product/11.2/lib/libsqora.so.11.1: undefined symbol: SQLGetPrivateProfileStringW

      nm libsqora.so.11.1 | grep "SQLGetPrivate"查看連接庫中的函數,確定存在上面的函數,但是在動態連接時找不到函數。網上查了半天,有人說是unixODBC的版本問題,繼續查找,在2.2.11版本之前確實沒有解決這個問題,但是現在用的是2.3.12版本,肯定已經解決這個問題了,所以不是unixODBC的版本問題,后來又查到在redhatcentOS5.x版本中都存在這個問題,是由于這些linux版本不是Oracle的認證版本,存在bug,所以出現問題。

      第二次配置,換一個linux版本,使用了centOS7,重復上面的配置步驟,最后使用isql測試。

      仍然出現錯誤,libsqora.so.11.1文件打不開,奇怪了,使用命令ldd看看哪些依賴文件沒有。

      ldd /oracle11/product/11.2/lib/libsqora.so.11.1

      發現libodbcinst.so.1 => not found

      這個文件應該在$ODBCHOME/lib下,查看一下發現只有libodbcinst.so.2文件,沒有libodbcinst.so.1,把libodbcinst.so.2拷貝成libodbcinst.so.1,然后執行isql測試,這次通過了。

      第三次配置,換了Oracle版本,使用Oracle 19c,這次順利通過。

      posted @ 2025-08-15 20:22  湯姆花花  閱讀(47)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 韩产日产国产欧产| 国产精品黄色片| 国产视频一区二区三区四区视频| 男人和女人做爽爽视频| 黑人玩弄人妻中文在线| 女人的天堂A国产在线观看| 99在线精品视频观看免费| 狠狠色丁香婷婷综合尤物| 久久人人爽爽人人爽人人片av| 午夜夫妻试看120国产| 国产蜜臀视频一区二区三区 | 国产精品综合色区av| 天堂mv在线mv免费mv香蕉| 18禁动漫一区二区三区| 久久一本人碰碰人碰| 成人午夜在线观看日韩| 国产精品不卡一区二区在线| 人妻放荡乱h文| 美女黄18以下禁止观看| 婷婷综合亚洲| 国产乱码日韩亚洲精品成人| 99久久亚洲综合精品成人网| 国产成人无码久久久精品一| 丰满人妻一区二区三区色| 成人午夜看黄在线尤物成人| 国产v综合v亚洲欧美大天堂| 无码人妻丝袜在线视频| 亚洲香蕉av一区二区蜜桃| 中文无码日韩欧免费视频| 九九热精品免费视频| 国产黄大片在线观看画质优化| 中文字幕久久波多野结衣av| 熟女人妇 成熟妇女系列视频| 亚洲熟女乱一区二区三区| 日韩加勒比一本无码精品| 亚洲精品人成网线在播放VA| 亚洲av色夜色精品一区| 蜜臀av午夜精品福利| 九色综合久99久久精品| 亚洲综合无码明星蕉在线视频| 人妻av资源先锋影音av资源|