qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          使用OCCI連接Linux下Oracle數據庫

           OCCI(Oracle C++ Call Interface):C++程序與Oracle數據庫實現交互的應用程序接口,它以動態連接庫的形式提供給用戶。OCCI對OCI實行了對象級的封裝,其底層仍是OCI
            OCCI連接Linux下的Oracle數據庫:
            1 安裝Linux下的oracle客戶端
            2 下載對應的oracle-instantclient-basic-10.2.0.4-1.i386.zip將其拷貝至Linux的Oracle賬戶并解壓至instantclient_10_2目錄
            實現OCCI的六大步驟:
            1 創建環境變量Environment
            2 創建連接對象Connection
            3 創建SQL語句的執行對象Statement
            4 執行SQL語句(execute()函數,executeUpdate()函數,executeQuery()函數)
            5 處理結果集ResultSet(查詢結果)
            6 關閉連接
            在Linux的Oracle數據庫下創建一個表用于操作
          create table user_info
          (
          user_id int not null primary key,
          user_name varchar2(100)
          );
          //AddOcci.cc
          #include <iostream>
          #include <string>
          #include <occi.h>
          #pragma comment(lib,"oci.lib")
          #pragma comment(lib,"ociw32.lib")
          #pragma comment(lib,"oraocci10.lib")
          using namespace std;
          using namespace oracle::occi;
          /*******************************
          *向數據庫中添加一條記錄
          *******************************/
          int main()
          {
          //創建環境變量
          //Environment
          Environment *env = Environment::createEnvironment(Environment::OBJECT);
          //username是oracle的用戶名
          //userpass是oracle的密碼
          //connstr是oracle的連接字符串
          string username = "hahaya";
          string userpass = "hahaya";
          string connstr = "192.168.0.6:1521/orcl";
          //創建連接
          //connection
          Connection *conn = env->createConnection(username, userpass, connstr);
          if(conn == NULL)
          {
          cout << "access oracle failed..." << endl;
          return 0;
          }
          //創建一個SQL語句的執行對象
          //statement
          Statement *st = conn->createStatement();
          st->setSQL("insert into user_info values(1, 'hahaya')");
          st->executeUpdate();
          //關閉連接
          env->terminateConnection(conn);
          Environment::terminateEnvironment(env);
          return 0;
          }
           執行AddOcci程序之前:
            執行AddOcci程序之后:
          //ListOcci.cc
          #include <iostream>
          #include <string>
          #include <occi.h>
          #pragma comment(lib,"oci.lib")
          #pragma comment(lib,"ociw32.lib")
          #pragma comment(lib,"oraocci10.lib")
          using namespace std;
          using namespace oracle::occi;
          /*******************************
          *查詢表中數據
          *******************************/
          int main()
          {
          Environment *env = Environment::createEnvironment(Environment::OBJECT);
          string username = "hahaya";
          string userpass = "hahaya";
          string connstr = "192.168.0.6:1521/orcl";
          Connection *conn = env->createConnection(username, userpass, connstr);
          Statement *st = conn->createStatement();
          st->setSQL("select * from user_info");
          ResultSet *rs = st->executeQuery();
          while(rs->next())
          {
          cout << "user id:" << rs->getInt(1) << "user name:" << rs->getString(2) << endl;;
          }
          st->closeResultSet(rs);
          env->terminateConnection(conn);
          Environment::terminateEnvironment(env);
          return 0;
          }
            執行ListOcci之前:
            執行DelOcci結果:

          posted on 2014-04-10 10:58 順其自然EVO 閱讀(352) 評論(0)  編輯  收藏 所屬分類: 數據庫

          <2014年4月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 云浮市| 永城市| 阳谷县| 贞丰县| 行唐县| 成武县| 汪清县| 合阳县| 瓮安县| 永德县| 威海市| 永吉县| 竹溪县| 晋州市| 松溪县| 新田县| 罗源县| 桃江县| 西畴县| 凯里市| 宜昌市| 静安区| 衡阳县| 噶尔县| 平远县| 普兰店市| 温州市| 安阳市| 奉化市| 阳城县| 阿拉尔市| 舒兰市| 三河市| 蒲城县| 万安县| 隆德县| 铜梁县| 元朗区| 闸北区| 含山县| 仪陇县|