国产剧情视频在线观看-国产剧情麻豆女教师在线观看-国产剧情精品在线观看-国产剧情精品-国产剧情91-国产玖玖在线观看


曙海教育集團論壇Linux專區Linux應用開發 → Oracle應用Linux開發C


  共有9467人關注過本帖樹形打印

主題:Oracle應用Linux開發C

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
Oracle應用Linux開發C  發帖心情 Post By:2010-11-23 11:05:05

隨著Linux操作系統的不斷完善與發展,出現了大量基于 Linux平臺的應用開發,原有的基于UNIX平臺的商業軟件也不斷被移植到Linux上來。最典型的,Oracle公司宣布,他的現有的及未來所有的數據庫產品和商業應用都將支持Linux平臺。本文所述OCI for Linux的C語言庫,正是Linux平臺上Oracle的C語言接口。
我們知道,在一個復雜的Oracle數據庫應用中,C程序代碼由于其語言本身的靈活性、高效性,往往被加入到其商務邏輯的核心層模塊中。Oracle數據庫對C語言的接口就是OCI, Oracle 8.05int sqlo_init(int threaded_mode) 初始化程序庫接口,讀出環境變量,設置相應的全局變量。當前,threaded_mode設為0。
2)int sqlo_connect(int * dbh, char * connect_str) 連接數據庫,dbh為數據庫連接描述符,connect_str為用戶名/口令字符串。
3)int sqlo_finish(int dbh) 斷開數據庫連接。
4)int sqlo_open(int dbh, char * stmt, int argc, char *argv[]) 打開由stmt確定的查詢語句所返回的游標。Argc,argv為查詢的參數,后面我們將用更清晰的方法傳遞參數。
5)int sqlo_close(int sth) 關閉由上一個函數打開的游標。
6)int sqlo_fetch(int sth) 從打開的游標中獲取一條記錄,并將之存入一個已分配內存空間中。
7)const char **sqlo_values(int sth, int *numbalues, int dostrip) 從內存中返回上一次sqlo_fetch取得的值,是以字符串形式返回的。
8)以下介紹另一種檢索方式,int sqlo_prepare(int dbh, char const *stmt),返回一個打開的游標sth。
9)int sqlo_bind_by_name(int sth, const char * param_name, int param_type, const void * param_addr, unsigned int param_size, short * ind_arr, int is_array) 將查詢語句的傳入參數,按照名字的形式與函數中的變量綁定。如果你使用數組,那么參數param_addr和ind_arr必須指向該數組。
int sqlo_bind_by_pos(int sth, int param_pos, int param_type, const void * param_addr, unsigned int param_size, short * ind_arr, int is_array) 將查詢語句的傳出值,按照位置順序與函數中的變量綁定。
10)int sqlo_execute(int sth, int iterations) 執行查詢語句。“Iterations”可設為“1”。
11)在執行完數據庫操作后,我們可用int sqlo_commit (int dbh)提交操作,或用int sqlo_rollback(int dbh)回滾操作。
12)Libsqlora8還有其他一些操作函數,這里就不一一列出了。
下面舉幾個例子說明這些函數如何使用。
cstr = "ocitest/ocitest"; //用戶名/口令
status = sqlo_init(0);
if (SQLO_SUCCESS != status)
{ printf ("sql_init failed. Exitingn");
exit(1);
}
status = sqlo_connect(&dbh, cstr); // int dbh
以上源代碼,顯示了如何連接數據庫
/* Select all and display */
char *select_stmt="SELECT cname, clength, colid FROM ocicolu";
if (0>(sd = sqlo_open(dbh, select_stmt, 0, NULL)))
{ printf("sqlo_open failed: %sn", sqlo_geterror(dbh));
return 0;
}
while (0 == sqlo_fetch(sd,1))
{ v = sqlo_values(sd, NULL, 1);
printf("Result: %sn",v);
}
if (0 > sqlo_close(sd))
{ printf("sqlo_open failed: %sn", sqlo_geterror(dbh));
return 0;
}
以上例子展示了第一種查詢方法,顯然,這種方法較簡單,但不夠靈活。
char *update_stmt =
"UPDATE ocitest.upload_log SET upload_fresh = where log_name = :1";
if (0 <= (sth = sqlo_prepare(dbh, update_stmt)))
{ if (SQLO_SUCCESS !=
(sqlo_bind_by_name(sth, ":1", SQLOT_STR, packet_name, 64, NULL, 0)
))
{ printf("sqlo_bind_param failed failed: %sn", sqlo_geterror(dbh) );
return 0;
}
}
if (SQLO_SUCCESS != sqlo_execute(sth, 1))
{ printf("sqlo_execute failed: %sn", sqlo_geterror(dbh) );
return 0;
}
上面的代碼顯示了如何通過名字綁定變量,“:1”在Oracle SQL語句中表示為一個變量(名字隨意),在sqlo_bind_by_name函數中與packet_name變量綁定。在變量綁定完畢后,就可以調用sqlo_execute函數來執行這個SQL語句。
好了,我們已經向大家介紹了Libsqlora8的基本使用方法,如果希望了解更多內容,Libsqlora8的程序包中帶有詳細的說明和例子,大家不妨自己鉆研一下。有什么心得,歡迎和我聯系。E-mail:nick_chen@yeah.net /*-------------------------------------------------------------------------
* testlora.c
* Test programm for libsqlora8(Kai Poitschke)
* Assuming you installed the library with prefix=/usr/local, the command
* to compile this is:
* gcc -o sample sample.c -lsqlora8 -L$ORACLE_HOME/lib -lclntsh
*-----------------------------------------------------------------------*/
#include
#include
#include #include "sqlora.h" #define MAX_ITERS 10 #define MAX_LOOPS 1 /* how many time we run the tests */ #define CLOSE_CURSOR 1 /*-------------------------------------------------------------------------
* create our test table
*-----------------------------------------------------------------------*/
int create_table( int dbh )
{
int nkey;
char ckey;
double nv

支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

Oracle應用Linux開發C








簽名
国产剧情视频在线观看-国产剧情麻豆女教师在线观看-国产剧情精品在线观看-国产剧情精品-国产剧情91-国产玖玖在线观看
<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>
    欧美一区二区视频在线观看2020| 欧美激情1区2区3区| 亚洲第一网站| 国产欧美日本一区视频| 欧美日本一道本在线视频| 久久视频免费观看| 午夜在线一区| 亚洲综合精品一区二区| 一本一道久久综合狠狠老精东影业 | 欧美电影美腿模特1979在线看| 午夜精品一区二区三区在线| 一区二区三区.www| 亚洲美女在线看| 日韩香蕉视频| 9i看片成人免费高清| 99精品国产热久久91蜜凸| 亚洲免费高清视频| 久久综合久色欧美综合狠狠| 久久亚洲私人国产精品va媚药| 欧美中文字幕视频| 久久高清福利视频| 久久久91精品国产| 久久蜜桃香蕉精品一区二区三区| 久久久精品国产免大香伊| 久久久久久久久伊人| 久久亚裔精品欧美| 麻豆成人小视频| 免费人成精品欧美精品| 欧美大片免费看| 欧美看片网站| 国产精品每日更新| 国产一区二区毛片| 136国产福利精品导航网址| 亚洲国产精品va在看黑人| 亚洲欧洲另类| 国产精品99久久久久久宅男| 亚洲一区二区在线看| 欧美一区永久视频免费观看| 久久久久久夜| 欧美久久九九| 国产精品欧美日韩一区二区| 国产一二三精品| 亚洲黄一区二区三区| 一本色道久久加勒比88综合| 亚洲一区二区三区中文字幕| 久久成人人人人精品欧| 久久午夜羞羞影院免费观看| 欧美国产日韩二区| 国产精品久线观看视频| 黄色成人免费观看| 日韩午夜av在线| 亚洲欧美成人精品| 久久在线免费观看| 欧美日韩免费观看一区三区| 国产伦精品一区| 亚洲国产欧美日韩精品| 亚洲在线观看视频| 久久亚洲精品视频| 国产精品v一区二区三区| 国产亚洲综合性久久久影院| 亚洲精品久久久久| 欧美专区中文字幕| 欧美日韩精品免费观看视频| 国产一区久久| 在线亚洲精品| 鲁大师成人一区二区三区| 国产精品国码视频| 亚洲第一网站| 亚洲欧美国产精品桃花| 蜜臀va亚洲va欧美va天堂| 亚洲欧美成人一区二区在线电影 | 欧美乱妇高清无乱码| 国产伦精品一区| 亚洲精品乱码久久久久久日本蜜臀 | 亚洲尤物精选| 久久这里只有| 国产精品久久77777| 亚洲成人中文| 亚洲欧美在线播放| 欧美日本网站| 国产日韩欧美制服另类| 99国产精品| 葵司免费一区二区三区四区五区| 国产精品日日摸夜夜摸av| 最近中文字幕mv在线一区二区三区四区| 亚洲女同在线| 欧美日韩视频在线一区二区观看视频| 狠狠干成人综合网| 午夜激情综合网| 欧美视频在线一区二区三区| 亚洲第一中文字幕| 欧美在线影院| 国产精品久久久久久久久久三级| 亚洲国产一区在线| 久久久久国产一区二区三区四区 | 亚洲国产高潮在线观看| 午夜视频久久久| 欧美日韩综合网| 亚洲激情欧美| 老司机午夜精品视频| 国产一区二区精品| 午夜精品久久久| 国产精品国产三级国产aⅴ入口| 最新日韩av| 美女在线一区二区| 国内自拍一区| 久久激情五月丁香伊人| 国产精品视频导航| 亚洲女ⅴideoshd黑人| 欧美三级视频在线| 一区二区三区福利| 欧美日韩国产精品一区二区亚洲| 亚洲国产成人精品视频| 久久久久久婷| 国内精品视频666| 欧美中文字幕第一页| 亚洲精选久久| 99视频精品免费观看| 欧美v亚洲v综合ⅴ国产v| 一区二区在线视频播放| 久久久精品欧美丰满| 韩日成人在线| 久久一区激情| 尤物yw午夜国产精品视频明星| 久久久综合免费视频| 一区二区在线视频| 免费观看日韩av| 亚洲国产老妈| 欧美激情一区二区三区四区| 亚洲欧洲一区二区天堂久久| 欧美国产欧美亚洲国产日韩mv天天看完整 | 伊人久久婷婷| 久久久久久69| 狠狠色丁香婷婷综合| 久久久久久久精| 在线观看成人av| 美女999久久久精品视频| 亚洲国产精品福利| 欧美精品激情| 在线视频你懂得一区二区三区| 欧美午夜片欧美片在线观看| 亚洲视频综合在线| 国产乱人伦精品一区二区| 欧美一区二区三区在线观看视频| 国产欧美日韩另类视频免费观看| 欧美亚洲一区| 在线观看欧美日韩| 欧美女人交a| 一区二区免费在线视频| 国产精品久久午夜| 久久成人一区二区| 在线欧美三区| 欧美日韩在线播放一区| 午夜精品三级视频福利| 黄色国产精品| 欧美黄色一区二区| 亚洲天堂久久| 国产主播一区二区三区| 老牛影视一区二区三区| 亚洲精品小视频| 国产精品国产三级国产专播精品人 | 亚洲精品影视| 国产精品久久久久久久久免费樱桃 | 亚洲国内高清视频| 欧美日韩视频一区二区三区| 亚洲欧美资源在线| 欧美第一黄网免费网站| 亚洲深夜福利在线| 国产午夜精品理论片a级大结局 | 狠狠色狠色综合曰曰| 欧美成人免费大片| 久久成人18免费网站| 国产欧美一区二区三区久久人妖 | 亚洲在线黄色| 国产一区二区欧美日韩| 欧美成人中文字幕| 国产精品99久久99久久久二8| 国产欧美日韩一区二区三区在线 | 亚洲欧美日韩第一区| 国产亚洲欧美另类中文| 欧美xart系列高清| 亚洲新中文字幕| 韩日精品视频一区| 欧美欧美天天天天操| 香蕉久久夜色精品国产使用方法 | 羞羞答答国产精品www一本| 激情六月婷婷综合| 欧美日韩www| 欧美一区二区三区成人| 亚洲精品视频在线看| 国产日韩欧美亚洲| 欧美精品亚洲一区二区在线播放| 香蕉久久夜色精品国产使用方法| 亚洲国产电影| 国产日韩欧美在线视频观看| 欧美国产精品日韩| 欧美在线观看视频一区二区| 日韩视频三区| 激情综合久久| 国产精品久久久久久久久久尿 |