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)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 华安县| 泌阳县| 剑川县| 蒙山县| 罗江县| 阳山县| 河源市| 隆德县| 峨边| 枝江市| 任丘市| 运城市| 容城县| 七台河市| 家居| 息烽县| 始兴县| 吴江市| 富裕县| 玛多县| 靖远县| 湄潭县| 鄂州市| 石柱| 花垣县| 常宁市| 阜南县| 镶黄旗| 满城县| 札达县| 唐河县| 三都| 镇江市| 萨迦县| 金湖县| 清丰县| 南漳县| 丹江口市| 张家口市| 闵行区| 杨浦区|