精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Sybase批量操作的實現

數據庫
在Sybase的使用過程中,經常會遇到批量操作的問題,下文對Sybase批量操作的實現作了詳盡的闡述,供您參考學習之用。

Sybase批量操作應該如何實現呢?下面就為您詳細介紹Sybase批量操作的事項方法,如果您對Sybase批量操作方面感興趣的話,不妨一看。

一、前言

在項目研發過程中,需要開發一個Sybase批量操作的動態鏈接庫(DLL),以前的實現主要是程序中直接調用bcp.exe,這種方式由應用程序創建子進程,不好控制批量操作過程,失敗跟蹤難度比較大,因此想利用bcp.exe調用的函數來實現操作過程。本人通過分析bcp.exe程序,得到了批量操作的DB LIBRARY API函數,再查閱API函數的資料得以實現該動態鏈接庫。

二、實現

批量操作動態鏈接庫只實現了一個輸出函數, 應用程序通過動態加載DLL,再獲取函數地址,便可調用函數實現Sybase批量操作。

輸出函數定義如下:

  1. LIBBCP_API BOOL BCP_Transfer_2(const char *task, const char *step, const char *config, long *copiedrow);  

在動態鏈接庫中定義了兩個類:CInteriorGlobal和CSYBBCP。CInteriorGlobal完成全局的初始化操作,CSYBBCP實現數據庫的批量操作。
在調用Sybase數據庫的DB LIBRARY API函數進行數據庫的相關操作時,首先需要調用dbsetversion函數設置版本信息,這個函數只能調用一次,如果再次調用則會報錯。而類CSYBBCP在BCP_Transfer_2函數中動態創建和釋放,如果在CSYBBCP中直接調用dbsetversion會導致多次調用出錯。因此需要采用一種機制讓dbsetversion只能調用一次,這里使用了設計模式中的SingleTom模式,SingleTom模式就是確保實例唯一,本人利用該類僅做一次實例化操作來初始化Sybase客戶端版本信息。

下面是CInteriorGlobal的定義:

  1. class CInteriorGlobal  
  2. {  
  3. public:  
  4. static CInteriorGlobal *Instance();  
  5. private:  
  6. CInteriorGlobal();  
  7. private:  
  8. static CInteriorGlobal *_instance;  
  9. };  

CInteriorGlobal的實現,在構造函數中設置版本信息:

  1. CInteriorGlobal::CInteriorGlobal()  
  2. {  
  3. dbsetversion(DBVERSION_100);  
  4. }  
  5. CInteriorGlobal    *CInteriorGlobal::_instance  = 0;  
  6. CInteriorGlobal * CInteriorGlobal::Instance()  
  7. {  
  8. if(0 == _instance)  
  9. _instance = new CInteriorGlobal;  
  10. return _instance;  
  11. }  

為了完成批量操作,定義類CSYBBCP,具體定義如下:

  1. class CSYBBCP  
  2. {  
  3. public:  
  4. CSYBBCP();  
  5. ~CSYBBCP();  
  6. BOOL        DoConnect(int taskindex, int stepindex, char *server, char *database, char *username,  
  7. char *password, char *charset, char *language);  
  8. BOOL        DoQuery(char *sql, char **buf, int *rowcount, int *fieldcount);  
  9. BOOL        DoUpdate(char *sql, char *database = NULL);  
  10. BOOL        BCP_Connect(int taskindex, int stepindex, char *server, char *database,  
  11. char *username, char *password, char *charset, char *language);  
  12. BOOL        BCP_Transfer_db(char *sql, char *fldterminator, char *rowterminator, int direction,  
  13. char *datafile, char *errfile, long *copiedrow);  
  14. private:  
  15. BOOL        m_isbcpout;  
  16. int         m_stepindex;  
  17. int         m_taskindex;  
  18. char        m_viewname[MAX_STRING_NUM];  
  19. char        m_database[MAX_STRING_NUM];  
  20. DBPROCESS  *m_dbproc;  
  21. private:  
  22. int         GetTableFieldNums(char *table);  
  23. BOOL        DoDisconnect();  
  24. };  

在類CSYBBCP中,主要是函數BCP_Transfer_db進行數據庫大批量數據的導入和導出,要完成數據傳輸操作,需要如下幾個步驟:

  1. // 初始化:指定表明和數據文件  
  2. if(bcp_init(m_dbproc, tablename, datafile, NULL, direction) == FAIL)  
  3. {  
  4. return FALSE;  
  5. }  
  6. // 設置批量操作的控制參數,這里設置的每批記錄數  
  7. if(bcp_control(m_dbproc, BCPBATCH, (DBINT) 1000) == FAIL)  
  8. {  
  9. return FALSE;  
  10. }  
  11. // 設置列數  
  12. if(bcp_columns(m_dbproc, cCols) == FAIL)  
  13. {  
  14. return FALSE;  
  15. }  
  16. // 設置列格式  
  17. for(ii = 1; ii < cCols; ii++)  
  18. {  
  19. if(bcp_colfmt(m_dbproc, ii, SYBCHAR, 0, -1, (UINT8 *) fldterminator, _strlen(fldterminator), ii) == FAIL)  
  20. {  
  21. return FALSE;  
  22. }  
  23. }  
  24. if(bcp_colfmt(m_dbproc, ii, SYBCHAR, 0, -1, (UINT8 *) rowterminator, _strlen(rowterminator), ii) == FAIL)  
  25. {  
  26. return FALSE;  
  27. }  
  28. // 執行批量操作  
  29. while(bcp_exec(m_dbproc, & cRows) == FAIL)  
  30. {  
  31. return FALSE;  
  32. }  
  33. // 批量操作結束  
  34. retcode = bcp_done(m_dbproc);  

在使用Sybase12.5客戶端之前,程序未調用bcp_control函數,在執行bcp_exec函數時不是使用while,而是使用if判斷,代碼如下:

  1. if(bcp_exec(m_dbproc, & cRows) == FAIL)  
  2. {  
  3. return FALSE;  
  4. }  

程序能正常完成功能,當使用Sybase12.5客戶端后,在執行時發現程序突然退出,異常處理也未能記錄日志,后跟蹤發現程序是在執行bcp_exec時退出,但是未能查出原因,咨詢Sybase公司技術人員,也沒能解決問題。后來在一次測試中偶然發現有時能導入數據,于是測試數據文件在什么情況下能導入,實驗其臨界點,多次測試后發現文件1000條記錄為臨界點,超過則出現問題。于是本人在程序中調用bcp_control函數,設置批量記錄為1000,如果數據文件記錄多于1000,則需要bcp_exec執行多次才能完成,所以采用while,而不是if,這樣問題解決。

三、結束

在上面的論述中,還僅僅涉及DB LIBRARY,對于Sybase客戶端編程,還有CT LIBRARY方式,目前CT已經支持導出,但不支持導入。

 


【編輯推薦】

設置SYBASE用戶口令為空

深入探究SYBASE數據庫日志

Sybase日期函數應用示例

Sybase建立索引的原則

Sybase分頁顯示存儲過程

責任編輯:段燃 來源: 互聯網
相關推薦

2024-10-11 12:00:00

Python批量文件操作

2010-11-29 09:12:46

sybase分頁存儲過

2010-11-29 13:28:55

sybase自動備份

2010-10-28 10:37:54

Oracle批量賦權

2010-11-24 11:13:07

MySQL批量導入

2009-09-27 14:33:01

Hibernate批量

2023-11-03 15:15:50

SQL數據庫

2013-05-02 10:03:59

網絡管理網絡設備交換機

2010-11-29 10:22:46

Sybase建立索引

2010-11-29 13:50:38

Sybase清除日志

2022-07-27 10:39:27

Python打包工具

2009-11-24 14:45:08

PHP批量上傳圖片

2023-12-18 16:07:15

2010-05-27 14:35:25

MySQL批量導入

2013-09-22 11:37:32

SAP

2010-11-29 13:09:07

sybase系統默認字

2010-11-03 10:26:22

DB2存儲過程

2011-10-31 09:35:50

2011-09-01 14:44:27

ubuntu

2025-05-23 07:05:03

點贊
收藏

51CTO技術棧公眾號

亚洲网站视频福利| 亚洲图片欧美激情| 午夜精品一区二区三区在线视 | www.97视频| 欧美久久一区二区三区| 午夜精品福利在线| 亚洲国产精品一区二区第一页| 99久久久国产精品无码免费| 亚洲精品婷婷| 中文字幕最新精品| 欧美一级片在线免费观看| a国产在线视频| 国产精品色一区二区三区| 91久久精品美女| 五月天激情国产综合婷婷婷| 久久国产中文字幕| 亚洲成人精品久久久| 狠狠热免费视频| 草草视频在线| 亚洲欧美激情插| 奇米精品在线| 亚洲高清在线观看视频| 免费视频最近日韩| 91地址最新发布| 欧美日韩激情在线观看| 国产在线观看91一区二区三区 | 国产精品第七十二页| 欧美日韩中文视频| 亚洲电影在线一区二区三区| 亚洲视频专区在线| 91丨porny丨对白| 国产精品777777在线播放| 91极品视觉盛宴| 黄色一级视频片| 色网在线观看| 亚洲精品日韩一| 亚洲精品自在在线观看| 欧美精品a∨在线观看不卡| 国产成人精品一区二| 国产日韩在线观看av| 波多野结衣高清视频| 在线综合欧美| 91大神在线播放精品| 久久久久成人网站| 欧美成人精品| 美女久久久久久久久久久| 网爆门在线观看| 日韩夫妻性生活xx| 夜夜嗨av一区二区三区免费区| 日本一区二区三区网站| 丝袜久久网站| 亚洲精品少妇网址| 色无极影院亚洲| 国产精品免费大片| 亚洲日本中文字幕| 性欧美一区二区| heyzo久久| 中文字幕欧美亚洲| 一区二区三区在线观看免费视频| 曰本一区二区三区视频| 日韩精品有码在线观看| 中文人妻一区二区三区| 亚洲a级精品| 亚洲欧美另类中文字幕| 色欲AV无码精品一区二区久久| av影片在线一区| 久久精彩免费视频| 免费国产羞羞网站美图| 欧美大片一区| 欧美激情综合色| 成年人视频在线免费看| 爽爽淫人综合网网站| 国产精品第一区| 国产又黄又粗又硬| 国产成人免费av在线| 国产日韩精品推荐| 欧美美女搞黄| 中文字幕日韩一区| 国内自拍中文字幕| 国产黄色大片在线观看| 精品国产31久久久久久| 波多野结衣家庭教师视频| 素人一区二区三区| 日韩一区二区在线观看视频| 99久久免费看精品国产一区 | 国产综合成人久久大片91| 91在线色戒在线| 六月婷婷综合网| 国产性天天综合网| 国产精品亚洲天堂| 成人女同在线观看| 欧美自拍偷拍一区| 男人操女人下面视频| 日本妇女一区| 久久久国产精品x99av | 午夜国产福利在线| 一区二区三区久久| 日本精品www| 日韩视频在线直播| 亚洲人精品午夜在线观看| 亚洲色偷偷综合亚洲av伊人| 亚洲美女色禁图| 国产日韩精品在线观看| 欧美一区二区三区激情| 中文字幕av资源一区| 成人av在线播放观看| 欧美电影免费观看| 精品国产1区二区| 国产精品麻豆免费版现看视频| 欧美日本精品| 国产精品美女久久| 日韩一级片免费在线观看| 欧美高清在线一区二区| 亚洲精品无码国产| 亚洲欧美在线综合| 亚洲伦理中文字幕| 国产精品9191| 国产一区二区三区观看| 三级三级久久三级久久18| 99热99re6国产在线播放| 欧美日韩一区二区三区免费看| 一起草在线视频| 欧美a级片网站| 国产伦精品一区二区三区精品视频| 神马久久久久久久久久| 亚洲欧美日韩一区二区三区在线观看| 国产黄色特级片| 日韩av三区| 欧美激情奇米色| 国产一区二区在线不卡| 亚洲国产精品t66y| aaa毛片在线观看| 日韩理论电影中文字幕| 欧美激情第6页| 国产视频手机在线观看| 国产精品国产三级国产aⅴ入口 | 国产亚洲一区精品| 日韩免费视频一区二区视频在线观看| 国产成人福利片| 超碰成人在线免费观看| 国产伊人久久| 在线观看不卡av| 无码人妻精品一区二区三区9厂| av一区二区三区黑人| 成人免费a级片| 日本一区影院| 久久久久久12| 亚洲欧美另类视频| 亚洲国产精品自拍| 亚洲精品激情视频| 国产综合亚洲精品一区二| 亚洲最大的网站| 中文字幕伦理免费在线视频| 欧美一区二区三区白人| 精品欧美一区二区久久久久| 国产在线国偷精品产拍免费yy| 992tv成人免费观看| 久久丁香四色| 国语自产偷拍精品视频偷 | www成人免费| 6080成人| 国外成人在线直播| 亚洲 欧美 自拍偷拍| 欧美日韩中文字幕| 夜夜春很很躁夜夜躁| 蜜桃视频一区二区| 精品国产三级a∨在线| 18国产精品| 欧美一级大片在线免费观看| 男人天堂网在线观看| 欧美性xxxxxx少妇| 永久久久久久久| 成人av电影免费在线播放| 91九色在线观看视频| 国产成人1区| 国产一区在线播放| http;//www.99re视频| 亚洲成色最大综合在线| 成人精品一区二区三区校园激情| 色噜噜狠狠一区二区三区果冻| 丰满的亚洲女人毛茸茸| 国产真实乱对白精彩久久| 久久视频免费在线| 哺乳挤奶一区二区三区免费看| 91精品国产九九九久久久亚洲| 日产精品久久久久久久性色| 欧美视频三区在线播放| 小早川怜子一区二区的演员表| 高清国产一区二区| 99精品视频播放| 综合久久久久| 免费亚洲一区二区| 久久综合偷偷噜噜噜色| 2018日韩中文字幕| 毛片在线看网站| 精品丝袜一区二区三区| 国产精品国产av| 婷婷亚洲久悠悠色悠在线播放 | 99国产成人精品| 欧美日韩国产在线| 黄色精品视频在线观看| 97久久人人超碰| 亚洲综合20p| 久久免费高清| 免费视频爱爱太爽了| 成人3d动漫在线观看| 国产精品久久久对白| av亚洲一区| 69视频在线免费观看| 黄网站免费在线观看| 亚洲视频日韩精品| 人妻va精品va欧美va| 欧美疯狂做受xxxx富婆| 麻豆精品久久久久久久99蜜桃| 一区二区三区在线高清| 欧美自拍偷拍网| 91免费在线视频观看| 制服丝袜在线第一页| 国产在线观看一区二区| 婷婷丁香激情网| 亚洲自拍另类| 国产自产在线视频| 国产在线不卡| 色一情一乱一乱一区91| 欧美综合另类| 日韩美女一区| 校园春色另类视频| 国产日韩久久| 99国产精品久久一区二区三区| 成人免费观看a| 欧洲成人一区| 国产福利精品在线| 中文日产幕无线码一区二区| 91精品国产91久久久久久吃药| 欧美人与禽猛交乱配| 欧美精品生活片| 国产在线观看免费麻豆| 色婷婷久久av| 97超碰国产一区二区三区| 亚洲无限av看| jizz在线免费观看| 亚洲一级黄色片| 国产美女性感在线观看懂色av| 亚洲另类xxxx| 国产三级在线免费| 亚洲欧洲第一视频| 免费理论片在线观看播放老| 亚洲乱码一区av黑人高潮| 欧美偷拍视频| 亚洲欧洲xxxx| 中文字幕在线播放| 久久精品99久久久香蕉| 日本在线播放| 大量国产精品视频| 国产第一页在线| 欧美激情亚洲国产| 黄色漫画在线免费看| 日本欧美爱爱爱| 成人日韩在线| 国产精品永久在线| 国产精品一区二区精品视频观看| 97人人香蕉| 女同久久另类99精品国产| 欧美精品一区二区三区四区五区| 国产乱码精品一区二区三区四区| 欧美午夜精品久久久久免费视| 激情婷婷综合| 在线综合视频网站| 欧美久久成人| 成人综合视频在线| 日韩电影在线免费| 人人爽人人爽av| 不卡一区二区三区四区| 91网站免费入口| 自拍偷拍欧美激情| 国产无遮挡又黄又爽又色| 欧美色另类天堂2015| 国产女优在线播放| 日韩一区二区三区四区五区六区| 欧美在线 | 亚洲| 亚洲一区二区福利| av毛片在线| 欧美性视频精品| 日韩欧国产精品一区综合无码| 97视频热人人精品| 天堂日韩电影| 亚洲欧美一二三| av成人激情| 在线看免费毛片| 91丨九色丨尤物| 成人涩涩小片视频日本| 天天射综合影视| 91久久精品国产91性色69 | 少妇户外露出[11p]| 国产欧美一区二区三区网站| 国产盗摄x88av| 日本久久精品电影| 亚洲精品网站在线| 中文字幕在线国产精品| 高h视频在线播放| 国产一区二中文字幕在线看 | 国产成人精品影视| 中文字幕人妻一区二区三区在线视频| 亚洲精品免费电影| 九九热最新视频| 亚洲精品美女久久久| 国产在线观看a视频| 国产成人精品视| 99ri日韩精品视频| 香蕉视频在线网址| 三级久久三级久久久| 北京富婆泄欲对白| 亚洲色图20p| 中文 欧美 日韩| 亚洲精品国产精品久久清纯直播| 国内精品久久久久国产| 国产精品极品美女在线观看免费| 成人知道污网站| 国产美女视频免费| 日本视频一区二区| 粉嫩av蜜桃av蜜臀av| 亚洲图片自拍偷拍| 国产精品爽爽久久久久久| 亚洲欧美在线免费| 涩涩涩在线视频| 国产精选在线观看91| 欧美成熟视频| 日本黄色www| 亚洲视频狠狠干| 亚洲最大成人av| 中文字幕日韩av| 日本h片久久| 亚洲成人18| 男女男精品视频| 女人黄色一级片| 欧美视频一区二区在线观看| 国产精品麻豆一区二区三区| 日本高清视频一区| 亚洲日本三级| 久草精品在线播放| 久久久国产一区二区三区四区小说| 亚洲男人的天堂在线视频| 日韩av综合网站| 色偷偷色偷偷色偷偷在线视频| 精品欧美一区二区精品久久| 亚洲国产高清一区二区三区| 国产精品一区二区在线免费观看| 亚洲综合在线免费观看| 国产综合在线播放| 午夜精品久久久久久99热软件 | 亚洲电影免费| 激情综合色丁香一区二区| 成年人视频软件| 欧美一区二区三区在线看| a级影片在线| 成人黄视频免费| 亚洲经典三级| 亚洲自拍偷拍一区二区| 欧美图区在线视频| 乱人伦中文视频在线| 97视频中文字幕| 99视频+国产日韩欧美| 国产精品无码一区二区三区| 欧美性极品少妇| bt在线麻豆视频| 国产伦精品一区二区三区照片91 | 午夜亚洲国产au精品一区二区| 日本高清视频免费观看| 57pao国产成人免费| 国内成人精品| 一区二区三区四区毛片| 一区二区免费在线| 欧洲免费在线视频| 国产日韩欧美在线| 在线观看一区视频| 亚洲а∨天堂久久精品2021| 欧美一区二区久久| 国产精品高颜值在线观看| 日本在线成人一区二区| 国产一区在线不卡| 日韩精品久久久久久久酒店| 尤物yw午夜国产精品视频| 日韩区欧美区| 91看片就是不一样| 亚洲欧美另类图片小说| 天堂а√在线8种子蜜桃视频| 国产在线精品一区免费香蕉| 激情综合激情| 成人免费视频入口| 亚洲国产成人爱av在线播放| 成人免费在线观看视频| 欧美精品卡一卡二| 国产精品久久综合| 亚洲 美腿 欧美 偷拍| 成人精品在线视频| 免费看黄裸体一级大秀欧美| 日韩激情综合网| 亚洲欧洲在线看| xxxxxhd亚洲人hd| www.夜夜爽|