[C++]linux下使用occi連線oracle遇到的兩個錯誤
我的makefile如下:
[plain] view plaincopyprint?- includepath=${ORACLE_HOME}/precomp/public
- occpath=${ORACLE_HOME}/oci/include
- libpath=${ORACLE_HOME}/lib
- libfile=-L${libpath} #/usr/lib/libstdc++.so.5
- incfile=-I${includepath}
- occifile=-I${occpath}
- cppOra:cppOra.cc
-
g++ -o cppOra cppOra.cc ${occifile} ${incfile} ${libfile} -lclntsh -locci -Wall -O -g
- clean:
- rm cppOra
PS:-I是指定include路徑,-L是指定lib路徑
linux下我unzip後的路徑為: /home/oracle/cry/instantclient_11_2
1.編譯錯誤:
/usr/bin/ld: warning: libnnz11.so, needed by /usr/lib/oracle/11.1/client/lib/libclntsh.so, not found (try using -rpath or -rpath-link)
/usr/lib/oracle/11.1/client/lib/libclntsh.so: undefined reference to `nztSetSqlnetFunc'
/usr/lib/oracle/11.1/client/lib/libclntsh.so: undefined reference to `nztSetAppDefaultLocation'
/usr/lib/oracle/11.1/client/lib/libclntsh.so: undefined reference to `nzos_DisableClientAuthentication'
..
解決方法:
還是庫連線的問題,在/etc/ld.so.conf中新增 /home/oracle/cry/instantclient_11_2 後正常.
2.執行錯誤:
./cppOra: error while loading shared libraries: libnnz11.so: cannot open shared object file: No such file or directory
解決:
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
其實質還是lib庫檔案連結的問題.
最後執行正常如下:
[[email protected] cry]$ ./cppOra
debug1
7369 AND SMITH
2013-07-14 02:00:29
7499 AND ALLEN
2013-07-14 02:00:29
7521 AND WARD
2013-07-14 02:00:29
7566 AND JONES
2013-07-14 02:00:29
7654 AND MARTIN
2013-07-14 02:00:29
7698 AND BLAKE
2013-07-14 02:00:29
7782 AND CLARK
2013-07-14 02:00:29
7788 AND SCOTT
2013-07-14 02:00:29
7839 AND KING
2013-07-14 02:00:29
7844 AND TURNER
2013-07-14 02:00:29
7876 AND ADAMS
2013-07-14 02:00:29
7900 AND JAMES
2013-07-14 02:00:29
7902 AND FORD
2013-07-14 02:00:29
7934 AND MILLER
2013-07-14 02:00:29
SELECT SUCCESS
相關推薦
Linux下Python連線Oracle 報cx_Oracle.DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be load
在Linux上使用python執行資料庫指令碼的時候報:cx_Oracle.DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded解決方法 這個導致這個問題的原因是本機的Pytho
linux下用scp命令在兩個服務器之間傳輸文件,利用php_scp函數進行文件傳輸
evc 在操作 path send 返回值 遠程 false cal 上傳 在linux下利用scp進行文件傳輸, 從服務器下載文件 scp [email protected]/* */:/path/filename /path/filename 上傳
Linux下qt 禁止程式執行兩個
Linux系統下qt防止同一程式在系統中執行兩個例項,直接上程式碼: QEventLoop loop; connect(&process,SIGNAL(readyReadStandardOutput()),&loop,SLOT(quit()));
[C++]linux下使用occi連線oracle遇到的兩個錯誤
-- 我的makefile如下: [plain] view plaincopyprint? includepath=${ORACLE_HOME}/precomp/public occpath=${ORACLE_HOME}/oci/include
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. 安裝 安裝後,庫檔案路
Linux環境下Python連線Oracle
最近公司要求在linux下對Mysql,Oracle進行增加使用者,使用者改密等操作。Mysql資料庫實現起來比較簡單,這個Oracle讓我頭疼了一陣。於是從網上查閱資料,經自己的測試以後終於成功,現將方法總結如下:python資料庫介面python DB AP
Linux下PHP開啟Oracle支持(oci8)
找到 11.2.0.3 com 文本文 des 1.2 download 編譯 執行命令 使用php的常見問題是:編譯php時忘記加入某擴展,後來想加入擴展,可是由
c++ linux 下匯編分析傳參以及返回值
傳遞 {} UNC 而不是 pub x86 target 訪問 開始 註意:都是在沒有優化的情況下編譯的。因為只要開-O1或是-O2,那麽匯編代碼就少的可憐了,都被優化掉了 編譯器版本:x86-64 gcc 5.5 1 POD類型傳參 1.1 一個pod參數,p
linux下重新啟動oracle
media iat med rtu 連接數 關閉數據庫 linux下 oracl -a 第一步、以Oracle帳戶進入Linux系統 第二步、執行以下命令查看數據庫監聽器的狀況: lsnrctl status 或者查看數據庫端口是否被監聽(默認1521) netstat -
linux下執行python指令碼的兩種方式
1、直接使用python xxxx.py執行。其中python可以寫成python的絕對路徑。使用which python進行查詢。 2、在檔案的頭部(第一行)寫上#!/usr/bin/python2.7,這個地方使用python的絕對路徑,就是上面用which python查詢來的結果
Linux下解除安裝Oracle 11g
第一種方法: 使用oracle自帶的runInstaller 解除安裝 [[email protected]_0_14_centos deinstall]$ cd $ORACLE_HOME [[email protected]_0_14_centos 11.2.0]$ cd dei
linux下快速安裝oracle client 12
前言: 之前裝過一次 oracle client 11 但是oracle 資料庫是 12 後來出現亂碼問題 怎麼也解決不了 發現系統和navicat 都是相同的字元編碼 所以猜測資料庫的編碼應該是沒有問
linux下啟動/關閉oracle
一、Linux下啟動Oracle Linux下啟動Oracle分為兩步: 1)啟動監聽; 2)啟動資料庫例項; 1.登入伺服器,切換到oracle使用者,或者以oracle使用者登入 [[email protected] ~]$ su -
Linux下啟動/關閉Oracle正確順序
一、Linux下啟動Oracle Linux下啟動Oracle分為兩步: 1)啟動監聽; 2)啟動資料庫例項; 1.登入伺服器,切換到oracle使用者,或者以oracle使用者登入 [[email protected] ~]$ su - or
linux下重啟oracle 命令
-- linux 下對 oracle 資料庫的操作 1. linux下啟動 oracle su - oracle (切換到oracle使用者下) sqlplus /nolog conn /as sysdba startup exit 資料庫啟動使用startup命令,它有
C++使用POCO庫連線oracle資料庫(ODBC)
POCO庫是個功能很強大的工具庫,這次專案中就用到了POCO庫中的DATA連線資料庫的方式,直接上程式碼! //使用ODBC的方式連線oracle資料庫 ODBC::Connector::registerConnector();//註冊 Ses
linux下重啟oracle服務
在linux下重啟oracle資料庫及監聽器: 方法1: 用root以ssh登入到linux,開啟終端輸入以下命令: cd $ORACLE_HOME #進入到oracle的安裝目錄 dbstart #重啟伺服器 lsnrctl star
嵌入式第一天(linux下minicom連線開發板)
本人使用linux,而天嵌科技的開發板的開發工具全都是基於windows的,本人又不想重回windows, 所以板子買來之後一直擱置了好幾個月,基於各種原因,今天特意花了一點時間來研究linux下如何連線 開發板。 條件:宿主機T400,linux2.6,usb2.0介面,
分享一個Linux下安裝ASM+ORACLE的自動化指令碼(一)
近期在脫產參加Oracle技術培訓,專家級講師說Oracle資料庫60%的問題都是出在安裝過程不規範,讓我們多練習資料庫的安裝,孰能生巧,並且可以對以後安裝資料庫時可能遇到的問題進行及時準確地定位。 Linux下安裝Oracle資料庫不同於Windows,最
Linux下重啟Oracle資料庫
原文連結 https://www.2cto.com/database/201709/680889.html 1、Linux下以Oracle帳戶進入Linux系統。 2、執行以下命令檢視資料庫監聽器的狀況: lsnrctl status 3、執行以