Linux下用unixODBC連線Oracle資料庫的配置
1.環境
1[[email protected] ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.9 (Tikanga)[[email protected] ~]# uname -a
Linux bakdbserver 2.6.39-300.26.1.el5uek #1 SMP Thu Jan 3 18:31:38 PST 2013 x86_64 x86_64 x86_64 GNU/Linux
2.下載
2.1 unixODBC
下載地址:
http://www.unixodbc.org/
下載檔案:
unixODBC-2.3.0.tar.gz
2.2 Oracle ODBC Driver
下載地址:
下載檔案:
instantclient-basic-linux.x64-11.2.0.3.0.zip
instantclient-odbc-linux.x64-11.2.0.3.0.zip
其他平臺到下面地址下載:
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
將所有檔案上傳至伺服器的/opt/odbc/目錄下。
3.安裝unixODBC(root使用者)
#cd /opt/odbc/
#tar xvf unixODBC-2.3.0.tar.gz
#cd /opt/odbc/unixODBC-2.3.0
#./configure
#make
#make install
(預設是被安裝到/usr/local)
4.安裝Oracle ODBC(root使用者)
#cd /opt/odbc/
#unzip instantclient-basic-linux.x64-11.2.0.3.0.zip
#unzip instantclient-odbc-linux.x64-11.2.0.3.0.zip
(兩個檔案解壓到同一個目錄instantclient_10_2下)
#cd /opt/odbc/instantclient_11_2
#chmod 775 odbc_update_ini.sh
#./odbc_update_ini.sh /usr/local
(沒有提示表示安裝成功)
odbc_update_ini.sh引數說明:
引數1:unixODBC DM安裝路徑。
引數2:驅動安裝的絕對路徑(可選)。預設為執行指令碼的路徑。
引數3:驅動名(可選),預設為Oracle 11g ODBC driver。
引數4:資料來源名稱(可選),預設為OracleODBC-11g。
執行完成後將新增一個DNS條目到$HOME/.odbc.ini , <DriverManager_HOME>/etc/odbcinst.ini,名稱為:OracleODBC-11g
修改odbc目錄的許可權:
chown -R 775 /opt/odbc
5.配置本地服務名:
新增本地服務名。
$TNS_ADMIN/tnsnames.ora
或
$ORACLE_HOME/network/admin/tnsnames.ora
例如:
bi_195 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.5.195)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = cwdb)
)
)
如果是非Oracle使用者,可以通過設定環境變數TNS_ADMIN來制定tnsnames.ora所在位置,當該改使用者有對tnsnames.ora讀的許可權。
6.檢查驅動配置
/usr/local/etc/odbcinst.ini
[Oracle 11g ODBC driver]
Description = Oracle ODBC driver for Oracle 11g
Driver = /u01/app/ora11g/product/11.2.0/db_1/odbc/utl/libsqora.so.11.1
Setup =
FileUsage =
CPTimeout =
CPReuse =
7.新增oracle odbc配置(oracle使用者):
vi ~/.odbc.ini
[OracleODBC-11g]
Application Attributes = T
Attributes = W
BatchAutocommitMode = IfAllSuccessful
BindAsFLOAT = F
CloseCursor = F
DisableDPM = F
DisableMTS = T
Driver = Oracle 11g ODBC driver #對應/usr/local/etc/odbcinst.ini中的驅動配置名稱
DSN = OracleODBC-11g
EXECSchemaOpt =
EXECSyntax = T
Failover = T
FailoverDelay = 10
FailoverRetryCount = 10
FetchBufferSize = 64000
ForceWCHAR = F
Lobs = T
Longs = T
MetadataIdDefault = F
QueryTimeout = T
ResultSets = T
ServerName =bi_195 #對應tnsnames.ora中配置的本地服務名
SQLGetData extensions = F
Translation DLL =
Translation ption = 0
DisableRULEHint = T
UserID =
8.設定環境變數(oracle使用者):
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH: /opt/odbc/instantclient_11_2:/usr/local/lib
PATH=$PATH:/usr/local/bin
TNS_ADMIN(如果安裝有oracle軟體那麼對應的就是$ORACLE_HOME/network/admin/目錄,如果沒有安裝相應oracle軟體,需要指定tnsnames.ora所在的目錄,可選)
NLS_LANG(設定合適的字符集,可選)
9.測試(oracle使用者)
+---------------------------------------+
[[email protected] ~]# isql OracleODBC-11g bi bi -v
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> select * from v$version;
+-----------------------------------------------------------------+
| BANNER |
+-----------------------------------------------------------------+
| Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi|
| PL/SQL Release 10.2.0.5.0 - Production |
| CORE 10.2.0.5.0 Production |
| TNS for Linux: Version 10.2.0.5.0 - Production |
| NLSRTL Version 10.2.0.5.0 - Production |
+-----------------------------------------------------------------+
SQLRowCount returns -1
5 rows fetched
測試方法:
isql <資料來源名稱> <使用者名稱> <密碼> -v
10.遇到的問題:
isql OracleODBC-11g system oracle -v
出錯:
isql: symbol lookup error: /usr/lib/oracle/11.2/client/lib/libsqora.so.11.1: undefined symbol: SQLGetPrivateProfileStringW
這個問題就是unixODBC的版本問題啦,如果前面安裝了unixODBC 2.3.0的話不會出現這個錯誤(開始裝的unixODBC 2.3.2版本)
參考:
http://blog.itpub.net/23135684/viewspace-667126/
http://blog.csdn.net/karl_max/article/details/6896014
相關推薦
Linux下用unixODBC連線Oracle資料庫的配置
1.環境 1[[email protected] ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 5.9 (Tikanga) [[email protected]
Python Test API - 用python連線Oracle資料庫並操作
目的: 通過python連線遠端的一臺oracle資料庫伺服器,並用python程式碼實現增刪改查的操作。本研究是為測試API準備資料庫環境的第一步。 環境配置(如果用64bit的,就都需要64bit): 1. 在本地計算機上安裝好oralce client (64bit) 2.
用Navicat連線Oracle資料庫出錯解決方案
用Navicat連線Oracle資料庫時出現如下錯誤 上網一查原來是oci.dll版本不對。因為Navicat是通過oracle客戶端連線Oracle伺服器的,Oracle的客戶端分為兩種,一種是標準版,一種是簡潔版,即Or
Linux下的C#連線Mysql資料庫
今天在嘗試在 Linux 系統下使用C#連線資料庫,發現網上這方面的資訊很少,所以就寫一篇部落格記錄一下。 Linux下這裡使用的是mono。 首先是缺少Mysql.Data.dll這個庫的,所以需要安裝 https://dev.mysql.com/downloads/connector/net/ 安
用Navicat連線Oracle資料庫時報錯ORA-28547:connection to server failed, probable Oracle Net admin error
用Navicat連線Oracle資料庫時出現如下錯誤 上網一查原來是oci.dll版本不對。因為Navicat是通過Oracle客戶端連線Oracle伺服器的,Oracle的客戶端分為兩種,一種是標準版,一種是簡潔版,即Oracle Install Clie
【解決】Mac升級Mojave後用Navicat連線Oracle資料庫報ORA-21561: OID generation failed
一、原因排查 終端執行命令: xxxdeMacBook-Pro:~ xxx$ hostname xxxdeMacBook-Pro.local 發現是 輸出的hostname為 .local 而不是 localhost 檢視 hosts 檔案 : vim /e
Django連線Oracle資料庫配置
Django專案中,settings.py檔案中: service_name DATABASES = { 'default': { 'ENGINE': 'django.db.backends.oracle', 'NAME': 'IP:埠號/service_name',
Windows 7下通過Excel2007連線Oracle資料庫並對錶查詢
1. 環境變數的設定1.1 ORACLE_HOME環境變數的設定,我這裡指向了我的Oracle 10g的客戶端ORACLE_HOME=C:\oracle\product\10.2.0\client_21.2 TNS_ADMIN環境變數的設定,TNS_ADMIN目錄下需有tn
JDBC--實現用java連線oracle資料庫的操作(簡單實用)
在網上找了好多JDBC連線方法,試了又試總是有問題,最後結合好多方法,終於發現了一個簡單的連線步驟,分享給大家。 1. 建立一個Dynamic web project 2. 在專案名上右鍵-->
windows下用python連結Oracle資料庫
DATACENT= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ip地址)(PORT
使用Navicat premium 連線oracle 資料庫配置
Navicat premium是一款資料庫管理工具,是一個可多重連線資料庫的管理工具,它可以讓你以單一程式同時連線到 MySQL、SQLite、Oracle及PostgreSQL 資料庫,讓管理不同型別的資料庫更加的方便。 一、需要準備的軟體 1.Nav
[C++]linux下使用occi連線oracle遇到的兩個錯誤
-- 我的makefile如下: [plain] view plaincopyprint? includepath=${ORACLE_HOME}/precomp/public occpath=${ORACLE_HOME}/oci/include
linux下qt5.5 連線mysql資料庫詳細步驟
1. .pro 檔案包含 sql,標頭檔案包含 #include <QtSql> , private中構建QSqlDatabase db; 2. cpp中函式: void MainWindow::showDatabaseDate() { this-&g
linux centOs中安裝好資料庫,客戶端用plsql連線oracle
原創作品,轉載請在文章顯眼位置註明出處:https://www.cnblogs.com/sunshine5683/p/10030375.html 首先,回顧上篇 CenOs7安裝oracle圖文詳細過程(02) ,安裝好oracle後再伺服器端使用sqlplu
Mac下用OracleSQLDeveloper連線Windows虛擬機器的Oracle資料庫
因為在OS X中無法安裝Oracle資料庫(除了雪豹系統)所以只能用虛擬機器安裝Oracle來替代。 你需要的東西有:OracleSQLDeveloper For OS X
linux下c++使用occi連線oracle資料庫步驟,及出現的問題和解決
1. 所需安裝包 (64 位 ) oracle-instantclient-basic-10.2.0.3-1.x86_64.rpm oracle-instantclient-devel-10.2.0.3-1.x86_64.rpm 2. 安裝 安裝後,庫檔案路
菜鳥:只安裝和配置instantclient,用plsql developer,navicat for oracle,sqlplus連線oracle資料庫
環境配置: 1.到oracle官網下載instantclient basic包,解壓縮到E:\oracle\instantclient_11_2; 2.設定環境變數 NLS_lANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK(注意中間有空格,這個如
在windows下python指令碼訪問Oracle資料庫環境變數配置常見報錯與解決方法集合
4. ImportError: No module named luhn:下載地址 https://pypi.org/project/luhn/#files,下載後的包直接解壓到 ~:\Python27\Lib\site-packages下。或者直接cmd命令列直
WildFly10 配置連線Oracle資料庫
一、Oracle資料庫的連線引數 1、URL: jdbc:oracle:thin:@127.0.0.1:1521:XE // 127.0.0.1是本機地址,XE是精簡版Oracle的預設資料庫名 2、username/password 自己建立的使用者名稱和密
linux下用Apache一個IP多個網站多域名配置方法
# <VirtualHost 219.13.34.32> ServerAdmin [email protected] DocumentRoot /usr/local/apache/htdocs/upload ServerName desk.xker.com </VirtualHo