久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区


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


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

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








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
欧美在线free| 国产视频在线观看一区| 欧美激情艳妇裸体舞| 欧美成人福利视频| 日韩你懂的在线观看| 精品日韩在线观看| 国产午夜亚洲精品羞羞网站| 欧美高清一级片在线观看| 国产精品热久久久久夜色精品三区| 中文成人综合网| 1024亚洲合集| 婷婷综合久久一区二区三区| 日韩高清不卡在线| 国产99久久久国产精品潘金| 99国内精品久久| 精品无人乱码一区二区三区的优势| 日韩在线导航| 4438成人网| 日本一区二区成人| 亚洲国产成人高清精品| 韩国女主播一区| 91福利入口| 亚洲高清精品中出| 制服丝袜国产精品| 国产精品丝袜黑色高跟| 亚洲成人资源网| 国产成人在线免费| 精品一区二区在线免费观看| jlzzjlzz国产精品久久| 欧美日韩亚洲一区二区三区四区| 在线免费一区三区| 久久久精品免费免费| 亚洲午夜私人影院| 高清免费成人av| 豆国产96在线|亚洲| 久久九九视频| 7799精品视频| 亚洲精品日日夜夜| 国产高清精品网站| 精品国产91亚洲一区二区三区www| 一本色道久久综合精品竹菊| 久久综合色综合88| 午夜精品福利久久久| 97久久久精品综合88久久| 视频在线99| 久久久亚洲精华液精华液精华液 | 成人动漫视频在线观看免费| 日韩亚洲视频在线| 欧美成人video| 视频一区二区欧美| 国产精品日本一区二区| 欧美亚洲精品日韩| 亚洲精品在线免费观看视频| 日韩专区欧美专区| 国产精品综合久久久久久| 欧美精品777| 亚洲成av人片一区二区三区| 91福利视频导航| 91精品欧美一区二区三区综合在| 亚洲午夜在线电影| 国产专区一区二区三区| 欧美精品vⅰdeose4hd| 亚洲成人在线免费| 国产区一区二区三区| 日韩精品一区二区三区在线播放| 日本色综合中文字幕| 国产精品裸体一区二区三区| 日韩欧美综合一区| 久久99日本精品| 五月婷婷综合色| 国产精品三级av在线播放| 国产.欧美.日韩| 欧美天堂亚洲电影院在线播放| 亚洲精品久久久久久国产精华液| 超碰97国产在线| 精品欧美一区二区在线观看| 国内一区二区视频| 在线国产亚洲欧美| 亚洲在线一区二区三区| 久久av一区二区三区漫画| 久久免费午夜影院| 成人av在线播放网站| 欧美精品一二三| 激情综合色播激情啊| 日本精品一级二级| 日韩专区在线视频| 图片区小说区区亚洲五月| 亚洲欧美日韩在线不卡| 韩国成人av| 中文字幕视频一区二区三区久| 99蜜桃在线观看免费视频网站| 精品国产乱子伦一区| 不卡一区二区中文字幕| 欧美mv日韩mv国产| 99热国产精品| 国产嫩草影院久久久久| 国产精品久久精品国产 | 7777精品伊人久久久大香线蕉| 蜜桃久久久久久久| 欧美日韩午夜影院| 国产成人综合亚洲91猫咪| 欧美一区二区久久久| 国产盗摄女厕一区二区三区| 777xxx欧美| 国产91丝袜在线播放| 日韩午夜激情免费电影| 蜜臀av在线播放一区二区三区| 欧美综合亚洲图片综合区| 麻豆国产欧美一区二区三区| 欧美无乱码久久久免费午夜一区| 久久国产人妖系列| 日韩一级在线观看| 不卡一区二区三区四区五区| ㊣最新国产の精品bt伙计久久| 看欧美日韩国产| 亚洲电影中文字幕在线观看| 日本道在线观看一区二区| 国产一区二区免费视频| 精品少妇一区二区三区日产乱码 | 久久久久久国产精品mv| 亚洲影视在线观看| 欧美影院一区二区三区| 波多野结衣在线aⅴ中文字幕不卡| 国产女同性恋一区二区| 欧美日韩一区在线视频| 久久精品久久久精品美女| 精品播放一区二区| 欧美极品一区| 国产在线国偷精品免费看| 2022国产精品视频| 蜜桃网站成人| 国产一区二区视频在线| 国产精品进线69影院| 欧美在线视频日韩| 粉嫩精品一区二区三区在线观看 | 亚洲成人av电影在线| 欧美日韩第一区日日骚| 成人自拍偷拍| 日韩影院精彩在线| 精品福利视频一区二区三区| 欧美精品一区三区在线观看| 久久机这里只有精品| 精品久久久久久无| 日本一区二区三区在线视频| 国产在线视频不卡二| 日韩免费观看高清完整版在线观看| 精品国产一区二区三区四区精华 | 日韩美女一区二区三区四区| 99国产在线视频| 亚洲一区二区三区在线播放| 在线亚洲一区观看| av中文字幕不卡| 日韩国产欧美视频| 欧美日韩三级一区| 99国内精品久久| 亚洲美女在线一区| 欧美视频日韩视频在线观看| 91视频国产观看| 亚洲国产成人va在线观看天堂| 欧美剧情片在线观看| 波多野结衣在线一区| 亚洲欧美精品午睡沙发| 欧美成人官网二区| 久久久久一区二区三区| 久久av中文字幕片| 国产日韩欧美制服另类| 69成人精品免费视频| 国产视频一区二区不卡| 日韩av电影免费观看高清完整版在线观看| 欧美一区二区三区在线看| 在线视频不卡一区二区| 99国内精品久久| 青青青爽久久午夜综合久久午夜| 精品国产一区二区三区忘忧草 | 欧美激情在线一区二区| 色妹子一区二区| 97免费高清电视剧观看| 性欧美疯狂xxxxbbbb| 精品成人在线观看| 99porn视频在线| 丁香六月综合激情| 亚洲高清视频的网址| 精品噜噜噜噜久久久久久久久试看| 国产精品免费一区二区三区观看| 成人一区二区三区| 婷婷中文字幕综合| 日韩亚洲欧美高清| 亚洲一区二区三区免费观看| 99re在线| 国产成人精品三级麻豆| 成人欧美一区二区三区1314| 日本一区二区免费在线| 欧美日韩黄色影视| 亚洲成色最大综合在线| 日韩精品第一页| 91视频国产观看| 国产一区视频导航| 婷婷开心久久网| 日韩av中文字幕一区二区三区| 中文字幕一区二区三区在线观看|