毛片网站在线看_天堂俺去俺来也www久久婷婷_日韩av免费网站_18性欧美xxxⅹ性满足_一区二区三区韩国免费中文网站 _性xx色xx综合久久久xx_999亚洲国产精


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


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

主題: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








簽名
毛片网站在线看_天堂俺去俺来也www久久婷婷_日韩av免费网站_18性欧美xxxⅹ性满足_一区二区三区韩国免费中文网站 _性xx色xx综合久久久xx_999亚洲国产精
欧美亚洲高清一区| 捆绑调教美女网站视频一区| 久久国产成人午夜av影院| 亚洲欧美另类久久久精品| 亚洲欧美偷拍卡通变态| 91丨porny丨国产入口| 亚洲日本丝袜连裤袜办公室| 在线观看欧美日本| 日韩电影在线一区| 精品黑人一区二区三区久久| 国产精品一区在线观看你懂的| 中文字幕精品一区二区三区精品| 99久久99久久免费精品蜜臀| 亚洲成人免费观看| www精品美女久久久tv| 大桥未久av一区二区三区中文| 中文字幕综合网| 717成人午夜免费福利电影| 韩国理伦片一区二区三区在线播放| 久久亚洲精精品中文字幕早川悠里 | 中文字幕欧美日韩一区| 在线观看国产日韩| 蜜臀国产一区二区三区在线播放| 中文字幕久久午夜不卡| 5858s免费视频成人| 99久久精品国产导航| 麻豆91精品视频| 综合激情成人伊人| 日韩精品在线看片z| 色哟哟一区二区在线观看| 奇米777欧美一区二区| 国产精品久久久久久久久快鸭| 欧美一区二区三区在线电影 | 欧美在线观看视频一区二区| 国内精品伊人久久久久av一坑| 国产精品毛片无遮挡高清| 欧美久久一区二区| 成人ar影院免费观看视频| 秋霞电影网一区二区| 亚洲色欲色欲www| 精品国产成人系列| av在线播放一区二区三区| 欧美日韩日本视频| 樱桃视频在线观看一区| 99精品久久只有精品| 日韩三级视频中文字幕| 麻豆国产一区二区| 日韩欧美亚洲另类制服综合在线| 天堂蜜桃一区二区三区| 欧美一卡二卡三卡| 国产精品一区二区三区网站| 国产精品视频在线看| 91原创在线视频| 午夜久久久久久久久久一区二区| 91亚洲男人天堂| 一区二区视频免费在线观看| 亚洲综合999| 一本一道综合狠狠老| 欧美性猛交xxxx黑人交| 亚洲精品国产品国语在线app| 91香蕉视频污| fc2成人免费人成在线观看播放| 在线观看免费成人| 久久精品视频免费| 欧美成人vps| 在线播放一区二区三区| 91视频在线观看免费| 成人国产电影网| 成人午夜短视频| 不卡av免费在线观看| 成人av资源下载| 99re66热这里只有精品3直播 | 在线不卡中文字幕播放| 欧美性猛交一区二区三区精品| 色噜噜狠狠成人网p站| 99在线热播精品免费| 成人深夜福利app| 99久久婷婷国产| 色狠狠综合天天综合综合| 色狠狠av一区二区三区| av电影一区二区| 色综合色狠狠天天综合色| 色婷婷综合在线| 色综合天天综合在线视频| 欧美在线观看18| 777欧美精品| 欧美一区永久视频免费观看| 欧美精品一卡两卡| 日韩精品在线一区| 久久久久久麻豆| 国产欧美一区二区精品秋霞影院| 中文字幕中文乱码欧美一区二区| 亚洲人成伊人成综合网小说| 亚洲综合一区二区| 偷拍自拍另类欧美| 极品少妇一区二区| 国产精品一区二区视频| 成人国产精品免费观看| 欧美午夜片在线观看| 欧美一级免费大片| 国产午夜精品久久久久久免费视 | 成人午夜激情片| 欧美中文字幕不卡| 亚洲欧美视频在线观看| 亚洲美女屁股眼交3| 亚洲成va人在线观看| 美女精品一区二区| 国产91丝袜在线18| 欧美性猛片xxxx免费看久爱| 欧美电影免费观看高清完整版| 26uuu色噜噜精品一区二区| 国产精品久久久久aaaa| 日韩主播视频在线| 99在线精品一区二区三区| 欧美日韩亚洲综合在线| 久久久精品人体av艺术| 亚洲美腿欧美偷拍| 精品一区二区日韩| 91老司机福利 在线| 精品日韩av一区二区| 亚洲欧美另类小说| 国产精品自拍在线| 欧美日韩视频在线第一区| 国产午夜精品久久| 日韩av中文字幕一区二区| 99久久免费精品高清特色大片| 91精品国产综合久久婷婷香蕉 | 成人av第一页| 精品乱人伦小说| 一区二区三区在线免费观看| 国产综合色视频| 欧美日韩精品免费| 国产精品视频九色porn| 蜜臀av性久久久久蜜臀aⅴ四虎| 99在线精品一区二区三区| 精品久久久久久久久久久久包黑料| 国产精品久久久久久亚洲伦| 美女任你摸久久 | 91网上在线视频| 国产亚洲一区二区三区| 免费精品99久久国产综合精品| 一本久久精品一区二区| 国产欧美日韩精品一区| 毛片一区二区三区| 欧美日韩一二区| 亚洲码国产岛国毛片在线| 国产剧情一区二区| 欧美一区二区三区视频免费| 亚洲国产一区在线观看| 成人免费视频app| 日本亚洲三级在线| 欧美偷拍一区二区| 一区二区在线观看免费| 白白色亚洲国产精品| 国产午夜精品福利| 国产精品一区二区果冻传媒| 精品剧情在线观看| 日本va欧美va欧美va精品| 欧美日本乱大交xxxxx| 亚洲精品综合在线| 91亚洲资源网| 中文字幕欧美一| 成人性生交大片| 国产精品色婷婷久久58| 国产成人无遮挡在线视频| 26uuu久久天堂性欧美| 国精产品一区一区三区mba视频 | 日本一区二区动态图| 国产精品一区二区黑丝| 久久午夜色播影院免费高清| 激情久久久久久久久久久久久久久久| 67194成人在线观看| 日本不卡高清视频| 日韩一级精品视频在线观看| 美女在线一区二区| 2023国产精品视频| 国产精品自拍一区| 中文字幕第一区| 97aⅴ精品视频一二三区| 亚洲私人黄色宅男| 色综合久久久久久久久| 亚洲愉拍自拍另类高清精品| 欧美区一区二区三区| 亚洲成人三级小说| 日韩欧美激情一区| 国产成人av一区二区三区在线| 欧美国产精品一区二区| 成人av在线播放网站| 亚洲综合色自拍一区| 日韩一级视频免费观看在线| 国产又黄又大久久| 国产精品热久久久久夜色精品三区 | 三级一区在线视频先锋| 欧美精品日韩综合在线| 另类综合日韩欧美亚洲| 久久久久国产精品厨房| av电影在线观看一区| 亚洲国产视频直播| 精品日韩99亚洲| 欧美日韩一二区|