RM新时代国际平台

  • <div id="r605l"></div>
      1. <th id="r605l"></th>
      2. Linux下c++使用occi連接oracle11.2數(shù)據(jù)庫

        linux下c/c++連接oracle可以使用oci、occi、Pro*C/C++幾種方法:Oracle Call Interface (OCI) 是 Oracle Database 的全面、高性能、原生 C 語言接口,可用于開發(fā)自定義或打包數(shù)據(jù)庫應(yīng)用。OCI 具有高可靠性。SQL*Plus、Real Application Testing (RAT)、SQL*Loader 和 Data-Pump 等 Oracle 工具都使用 OCI。OCI 為其他語言特定接口提供了基礎(chǔ),例如 Oracle JDBC-OCI、Oracle Data Provider for Net (ODP.Net)、Oracle Precompilers、Oracle ODBC 和 Oracle C++ Call Interface (OCCI) 驅(qū)動(dòng)程序都基于 OCI 構(gòu)建。OCI 還被一些主要的腳本語言驅(qū)動(dòng)程序所使用,例如用于 Node.js 的 node-oracledb、PHP OCI8、ruby-oci8、Perl DBD::Oracle、Python cx_Oracle 以及統(tǒng)計(jì)編程語言 R 的 ROracle 驅(qū)動(dòng)程序。,OCCI 基于標(biāo)準(zhǔn) C++ 和面向?qū)ο蟮哪J?,旨在提?Oracle 數(shù)據(jù)庫應(yīng)用的開發(fā)效率和質(zhì)量。OCCI 正在成功地用于客戶端-服務(wù)器架構(gòu)、中間層和復(fù)雜對象建模應(yīng)用。OCCI 是訪問 Oracle 關(guān)系對象特性(如對象類型、繼承、關(guān)系和集合)的自然接口。對象在 OCCI 中表示為 C++ 類實(shí)例,從而實(shí)現(xiàn)應(yīng)用和數(shù)據(jù)庫之間的無縫集成。具有客戶端對象緩存的導(dǎo)航訪問方法提供了全面的數(shù)據(jù)庫透明性。Oracle Pro*C/C++預(yù)編譯器允許您在應(yīng)用程序中使用 SQL 的電源和靈活性。方便、易用的界面可讓您的應(yīng)用程序直接訪問 Oracle。與許多應(yīng)用程序開發(fā)工具不同,Pro*C/C++允許您創(chuàng)建高度自定義的應(yīng)用程序。例如,您可以創(chuàng)建包含最新窗口和鼠標(biāo)技術(shù)的用戶界面。您還可以創(chuàng)建在后臺運(yùn)行的應(yīng)用程序,而無需用戶交互。pro*c/c++是嵌入到c/c++里面的方式。需要先把proc文件轉(zhuǎn)換成c/c++語法后,再用c/c++編譯。(https://docs.oracle.com/cd/E11882_01/appdev.112/e10825/toc.htm)

        本文主要介紹c/c++通過occi操作oracle數(shù)據(jù)庫。

        rpm 安裝文件,將以下四個(gè)文件拷至 linux中, 下載網(wǎng)址:

        https://www.oracle.com/technetwork/cn/database/occidownloads-083553-zhs.html

        oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm

        oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm

        oracle-instantclient11.2-odbc-11.2.0.3.0-1.x86_64.rpm

        oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm

        使用命令安裝:rpm -ivh *.rpm

        成功之后,出現(xiàn)以下文件:

        注:如果沒有上面指明的路徑,則需要重裝安裝,使用命令: rpm -ivh --force *.rpm

        手動(dòng)添加tnsnames.ora文件

        /usr/lib/oracle/11.2/client64/ 下,創(chuàng)建文件

        http://www.toutiao.com/a6862619538790449675/network/admin/tnsnames.ora

        tnsnames.ora:

        注: ip和端口按各數(shù)據(jù)庫參數(shù)而定

        在一個(gè)目錄下,新建his.cpp文件,文件內(nèi)容如下:

        1.手動(dòng)在linux 中執(zhí)行,但是重啟后就無效了;先測試環(huán)境可先這樣執(zhí)行

        (一定要加 NLS_LANG的變量,字符集要和數(shù)據(jù)庫相同,否則實(shí)際操作數(shù)據(jù)庫的時(shí)候很可能處理不了)

        2.若要使重啟仍生效,需更改文件 bashrc,添加下面加粗部分并保存

        使用下列命令編譯出測試程序,編譯無誤后,可以運(yùn)行程序查看結(jié)果


        下一篇:Linux新手入門系列:創(chuàng)建oracle實(shí)例
        RM新时代国际平台
      3. <div id="r605l"></div>
          1. <th id="r605l"></th>
          2. <div id="r605l"></div>
              1. <th id="r605l"></th>
              2. 新时代RM|国际平台 新时代软件下载 RM新时代官网网址 rm新时代是正规平台 新时代rm平台入口