A. linux中怎麼用odbc連接oracle資料庫
collection.find().toArray(function(err,docs){
console.log(docs);
//將數據顯示到網頁上
// console.log('1'+docs[0].name);
// $('#question').append('<div>'+docs+'</div>');
// document.getElementById("editLevels").value =docs;
B. 如何在linux下用R語言通過odbc訪問oracle
1:Obtain a package called 「RODBC」 in order to connect with the database.Download it here: http://cran.r-project.org/web/packages/RODBC/index.html
2:Start R, switch to the location which contains the RODBC package and an enter the following R code:
install.packages(packagename.tar.gz)
3:After the package installation you can create a channel:
ch=odbcConnect("ORACLE2")
4:Check the channel with odbcGetInfo(ch)
5:If the connection was successful, the console shows something like this:
odbcGetInfo(ch)
DBMS_Name DBMS_Ver Driver_ODBC_Ver
"Oracle" "10.02.0010" "03.52"
Data_Source_Name Driver_Name Driver_Ver
"ORACLE2" "SQORA32.DLL" "11.02.0001"
ODBC_Ver Server_Name
"03.52" "143.93.91.33:1521/xe"
C. 如何在Linux下通過ODBC配置訪問遠程資料庫,0
例如:sqlplus
username/password@servicename
於是想,用我的兩台電腦雙機互聯試一試,也玩個遠程連接。實驗如下:
首先在我的台式機上安裝了Oracle9i的資料庫管理系統,並建立了一個資料庫實例:xy然後為該實例新增了一個用戶,用戶名和密碼都是kxy01
。啟動實例xy後,在台式機上,直接在cmd環境鍵入:sqlplus
kxy01/kxy01@xy
就可以連接上資料庫,呵呵,想來本地連接都是不費吹灰之力就行的。
之後,在我的筆記本上安裝了Oracle9i的Client工具。然後試著直接用上述命令訪問,顯然是不行的,系統返回無法解析服務名的錯誤信息。
要實現連接到遠程資料庫,先了解一下相關知識吧,查了一下書。原來,
Net
Configuration
Assitant
的工具,應該就是它了。啟動之:
Net
Configuration
Assitant共提供了4個配置功能:
監聽程序配置,
命名方法配置,
本地網路服務名配置
目錄使用配置。
要從遠程位置連接Oracle資料庫,必須配置Oracle網路監聽程序。
Net
Configuration
Assitant
可以用於此項配置工作,啟動後選擇監聽程序配置,一路下一步即可。
之後點開命名方法配置,系統已經默認提供了三種,其他兩種也不太認識,乾脆不改了,直接點後退,回到主菜單。
主菜單中,第三項是本地網路服務名配置。要通過網路訪問Oracle資料庫或其他服務,要使用網路服務名,該項配置允許使用由本地命名解析的網路服務名。而第四項為目錄使用配置,點開一看,居然要選擇目錄伺服器,我這一共就兩台電腦,要什麼目錄服務,看來第四項不適合本實驗了,顯然,關鍵配置就在第三項:本地網路服務名配置。
將其點開,選擇添加網路服務名操作,然後會詢問你希望訪問何種版本的Oracle資料庫服務。
按照常理,我裝的是Oracle9i自然應該選擇第一個(Oracle8i或更高版本資料庫服務),可經過實踐證明,只有選擇第二個(Oracle8i發行版8.0資料庫或服務)才能正常實現遠程連接,不明其中原因,也就只有選第二個拉。
然後輸入我的資料庫實例SID:xy然後選擇網路協議,雙機互聯應該選擇TCP吧,再然後填寫資料庫所在的主機名:kxyhome
。埠號採用默認的1521。
點擊下一步,進行資料庫連接的測試,測試成功後進行網路服務名的填寫,這個名字就應該是sqlplus連接時候用的服務名了,這里我們使用:xyhome之後一切配置完成,來到命行,使用sqlplus進行連接:sqlplus
kxy01/kxy01@xyhome成功啦!
D. 如何在linux下用R語言通過odbc訪問oracle
一、下載安裝包
http //www unixodbc.org/
下載文件:unixODBC-2.3.4.tar.gz
Oracle ODBC Driver
http //www oracle.com/technetwork/topics/linuxx86-64soft-092277.html
(根據系統需求進oracle官網下載相應版本)
下載文件:
oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
oracle-instantclient12.1-odbc-12.1.0.2.0-1.x86_64.rpm
oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm
二、 安裝
1、 安裝unixODBC
以root的身份運行:
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
make
make install
安裝成功後,unixODBC所需的頭文件都被安裝到了/usr/inlucde下,編譯好的庫文件安裝到了/usr/lib下,與unixODBC相關的可執行文件安裝到了/usr/bin下,配置文件放到了/etc下。
2、 安裝資料庫ODBC驅動
在ubuntu下用alien,在centos下用rpm安裝oracle的四個包。
進入oracle的安裝目錄(/usr/lib/x64/oracle/)
chmod 775 odbc_update_ini.sh
./odbc_update_ini.sh /etc(沒有提示表示安裝成功)
其中,odbc_update_ini.sh參數說明:
參數1:unixODBC安裝路徑。
參數2:驅動安裝的絕對路徑(可選)。
默認為運行腳本的路徑。
參數3:驅動名(可選),默認為Oracle 11g ODBC driver。
參數4:數據源名稱(可選)。
運行完成後將添加一個DNS條目到$HOME/.odbc.ini ,/etc/odbcinst.ini,名稱為:OracleODBC-11g
三、 設置環境變數
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x64/oracle/instantclient_11_2:/usr/local/lib
PATH=$PATH:/usr/local/bin
TNS_ADMIN(如果安裝有oracle軟體那麼對應的就是$ORACLE_HOME/network/admin/目錄,如果沒有安裝相應oracle軟體,需要指定tnsnames.ora所在的目錄,可選)
NLS_LANG(設定合適的字元集,可選)
LANG(系統字元編碼,可選)
/etc/profile (注意前面的英文句號,點號後面有空格) 將環境變數注冊.
一般來說,在centos裡面你可以通過在/etc/ld.so.conf.d/目錄下建一個新文件來實現
文件的名字是xxxx.conf,比如oracleinstantclient.conf
裡面的內容就是目錄:比如/usr/local/lib,可參考其他文件
建好後,運行ldconfig,就可以把ld新配置裝載進系統了
四、 配置本地服務名(tnsnames.ora)
按環境變數中TNS_ADMIN的設置目錄,添加本地服務名:$TNS_ADMIN/tnsnames.ora或$ORACLE_HOME/network/admin/tnsnames.ora
例如:TEST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.xx)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = test) ) )
註:此處HOST為所連接的ip地址,PORT為埠號
五、 檢查驅動配置
vi /etc/odbcinst.ini 在其中添加oracle驅動,如
[Oracle 11g ODBC driver]
Description = Oracle ODBC driver for Oracle 11g
Driver = /root/instantclient_11_2/libsqora.so.10.1
Setup =File
Usage =
CPTimeout =
CPReuse =
六、 添加oracle odbc配置(oracle用戶)
vi ~/.odbc.ini
[OracleODBC-10g]
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
MetadataId
Default = F
QueryTimeout = T
ResultSets = T
ServerName =TEST #對應tnsnames.ora中配置的本地服務名SQLGetData extensions = F
Translation DLL =
Translation ption = 0
DisableRULEHint = T
UserID =
七、 測試
用命令:isql<數據源名稱> <用戶名> <密碼> -v
[root@dwj~]$ isql OracleODBC-11g system oracle -v+---------------------------------------+|Connected! || ||sql-statement || help[tablename] ||quit || |+---------------------------------------+
E. 帆軟 linux 如何配置鏈接oracle
一、oracle伺服器安裝與配置:
操作系統:win7 32位 旗艦版
oracle版本:11g R2
安裝基本上不會出現什麼問題,如果之前裝過最好卸載掉,卸載步驟:
1. 在服務中停止所有的oracle相關服務;
2. 刪除注冊表中以下三個位置的oracle相關文件夾:
HKEY_LOCAL_MACHINE\SOFTWARE
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application
3. 在環境變數中path中,刪除oracle信息;
4. 在系統盤的Windows、Program Files、Program Files(x86)文件夾下,刪除oracle文件夾和oraodbc.ini文件;
5. 刪除oracle安裝目錄,重啟機器。
二、oracle linux client安裝與配置
1.安裝oracle-instantclient12.1-basic-12.1.0.1.0-1.i386.rpm
oracle-instantclient12.1-devel-12.1.0.1.0-1.i386.rpm
oracle-instantclient12.1-sqlplus-12.1.0.1.0-1.i386.rpm
2.在/etc/ld.so.conf中添加/usr/lib/oracle/12.1/client/lib路徑後執行ldconfig,也可以在LD_LIBRARY_PATH
中添加路徑
3.在~/.bashrc中添加export ORACLE_HOME=/usr/lib/oracle/12.1/client
export TNS_ADMIN=/usr/lib/oracle/12.1/client/network/admin,然後重新登錄
4.在/usr/lib/oracle/12.1/client目錄下添加network/admin/ntsnames.ora,如下
# tnsnames.ora Network Configuration File: F:\oracle\proct\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.221)(PORT = 1521))
)
(CONNECT_DATA =
(SID = orcl)
(SERVER = DEDICATED)
)
)
5.先運行./sqlplus username/[email protected]:1521/orcl,可以的話說明安裝沒問題,然後運行
./sqlplus username/passwd@orcl,不能連上就看看tnsnames.ora有沒問題
至此linux oracle client安裝配置OK