锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
db2 prep Dbprog.sqc bindfile gave me the following error.
172 SQL0008N The token "int" found in a host variable
declaration is not valid.
Is seems that the precompiler do not accept the int declarations, it accept only short or long. Is there a way to tell the precompiler to accept int variable like this
EXEC SQL BEGIN DECLARE SECTION;
int maj = 0;
int min = 0;
char pch = 0;
EXEC SQL END DECLARE SECTION;
Thanks
鏀規(guī)垚long紜疄灝卞彲浠ヤ簡銆?br>
]]>
淇濇寔娓告爣鎵撳紑鐨勬柟娉曟槸鍦ㄥ畾涔夋父鏍囨椂鍔犱笂with hold閫夐」
浣嗘槸錛屾垜declare 娓告爣鏃朵嬌鐢ㄤ簡with hold閫夐」--鍙commit鏈夋晥銆?br>
紼嬪簭孌碉細
declare test_cur cursor with hold for
select .... from A where ... order by ... with ur;
open test_cur;
while( 1 ){
fecth test_cur into ......;
鍒ゆ柇SQLCODE
begin_work(); /* 鍏跺疄灝辨槸璁劇疆浜嗕竴涓爣蹇?*/
SQL 鎿嶄綔錛屼慨鏀瑰叾浠栬〃鎴栬呮父鏍囨墍鍦ㄨ〃鐨勬暟鎹?br> 鏍規(guī)嵁緇撴灉鍒ゆ柇 commit or rollback銆?nbsp; /* 姝ゅ濡傛灉rollback 娓告爣琚叧闂?*/
}
寮傚父鐘舵侊細
濡傛灉娓告爣涓繘琛屼簡SQL鎿嶄綔錛屾牴鎹粨鏋滃垽鏂茍rollback鏃訛紝
涓嬩竴嬈etch鏃訛紝浼氭彁紺?501 娌℃湁鎵撳紑娓告爣銆備粠鑰屾姤閿欓鍑恒?br>
榪欑鏂規(guī)鏄惁鍙
declare test_cur cursor with hold for
select .... from A where ... order by ... with ur;
open test_cur;
while( 1 ){
fecth test_cur into ......;
鍒ゆ柇SQLCODE
pid = fork();
if( pid == 0 ) { /* 瀛愯繘紼嬪共媧?*/
sqledtin( &sqlca );
setsid();
signal( SIGHUP, SIG_IGN );
db_disconn( G_mdb_name );
begin_work(); /* 鍏跺疄灝辨槸璁劇疆浜嗕竴涓爣蹇?*/
SQL 鎿嶄綔錛屼慨鏀瑰叾浠栬〃鎴栬呮父鏍囨墍鍦ㄨ〃鐨勬暟鎹?br> 鏍規(guī)嵁緇撴灉鍒ゆ柇 commit or rollback銆?nbsp;
db_disconn();
exit();
}
/* 涓昏繘紼嬬瓑寰呭瓙榪涚▼緇撴潫 */
}
close test_cur;
rollback to savepoint a;
]]>
鍏崇郴鍨嬫暟鎹簱浜х敓鍚庡緢蹇氨鎴愪負鏁版嵁搴撶郴緇熺殑涓繪祦浜у搧錛岀敱浜庢瘡涓狣BMS鍘傚晢閮芥湁鑷繁鐨勪竴濂楁爣鍑嗭紝浜轟滑寰堟棭灝變駭鐢熶簡鏍囧噯鍖栫殑鎯蟲硶錛屼簬鏄駭鐢熶簡SQL錛岀敱浜庡叾璇硶瑙勮寖閫愭笎涓轟漢鎵鎺ュ彈錛屾垚涓篟DBMS涓婄殑涓誨璇█銆傛渶鍒濓紝鍚勬暟鎹簱鍘傚晢涓轟簡瑙e喅[鏈枃鐢辯綉绔?a >www.gwdq.com鍏枃澶у叏www.gwdq.cn鏀墮泦鏁寸悊]浜掕繛鐨勯棶棰橈紝寰寰鎻愪緵宓屽叆寮廠QL API錛岀敤鎴峰湪瀹㈡埛鏈虹瑕佹搷浣滅郴緇熶腑鐨凴DBMS鏃訛紝寰寰瑕佸湪紼嬪簭涓祵鍏QL璇彞榪涜棰勭紪璇戙傜敱浜庝笉鍚屽巶鍟嗗湪鏁版嵁鏍煎紡銆佹暟鎹搷浣溿佸叿浣撳疄鐜扮敋鑷寵娉曟柟闈㈤兘鍏鋒湁涓嶅悓紼嬪害鐨勫樊寮傦紝鎵浠ュ郊姝や笉鑳藉吋瀹廣?br>闀挎湡浠ユ潵錛岃繖縐岮PI鐨勯潪瑙勮寖鎯呭喌浠ょ敤鎴峰拰RDBMS鍘傚晢閮戒笉鑳芥弧鎰忋傚湪80騫翠唬鍚庢湡錛屼竴浜涜憲鍚嶇殑鍘傚晢鍖呮嫭Oracle銆丼ybase銆丩otus銆両ngres銆両nformix銆丠P銆丏EC絳夌粨鎴愪簡SQL Access Group錛堢畝縐癝AG錛夛紝鎻愬嚭浜哠QL API鐨勮鑼冩牳蹇冿細璋冪敤綰ф帴鍙o紙Call Level Interface錛夛紝綆縐癈LI銆?br>1991騫?1鏈堬紝寰蔣瀹e竷浜哋DBC錛屾騫存帹鍑哄彲鐢ㄧ増鏈?992騫?鏈堬紝鎺ㄥ嚭浜哋DBC SDK 2.0鐗堛侽DBC鍩轟簬SAG鐨凷QL CAE鑽夋鎵瑙勫畾鐨勮娉曪紝鍏卞垎涓篊ore銆丩evel 1銆?Level 2涓夌瀹氫箟錛屽垎鍒鑼冧簡22銆?6銆?3鍏?1鏉″懡浠わ紝鍏朵腑29鏉″懡浠ょ敋鑷寵秴瓚婁簡SAG CLI涓師鏈夌殑瀹氫箟錛屽姛鑳藉己澶ц岀伒媧匯傚畠榪樺寘鎷爣鍑嗙殑閿欒浠g爜闆嗐佹爣鍑嗙殑榪炴帴鍜岀櫥褰旸BMS鏂規(guī)硶銆佹爣鍑嗙殑鏁版嵁綾誨瀷琛ㄧず絳夈?br>鐢變簬ODBC鎬濇兂涓婄殑鍏堣繘鎬э紝涓旀病鏈夊悓綾葷殑鏍囧噯鎴栦駭鍝佷笌涔嬬珵浜夛紝瀹冧竴鏋濈嫭縐錛屾帹鍑哄悗浠呬粎涓や笁騫村氨鍙楀埌浜嗕紬澶氬巶瀹朵笌鐢ㄦ埛鐨勯潚鐫愶紝鎴愪負涓縐嶅箍涓烘帴鍙楃殑鏍囧噯銆傜洰鍓嶏紝宸茬粡鏈?30澶氬鐙珛鍘傚晢瀹e竷浜嗗ODBC鐨勬敮鎸侊紝甯歌鐨凞BMS閮芥彁渚涗簡ODBC鐨勯┍鍔ㄦ帴鍙o紝榪欎簺鍘傚晢鍖呮嫭Oracle銆丼ybase銆両nformix銆両ngres銆両BM(DB/2)銆丏EC(RDB)銆丠P(ALLBASE/SQL)銆丟upta銆丅orland(Paradox)絳夈傜洰鍓嶏紝ODBC宸茬粡鎴愪負瀹㈡埛鏈?鏈嶅姟鍣ㄧ郴緇熶腑鐨勪竴涓噸瑕佹敮鎸佹妧鏈?br>浜屻丱DBC鐨勫熀鏈濇兂涓庣壒鐐?br>ODBC鐨勫熀鏈濇兂鏄負鐢ㄦ埛鎻愪緵綆鍗曘佹爣鍑嗐侀忔槑鐨勬暟鎹簱榪炴帴鐨勫叕鍏辯紪紼嬫帴鍙o紝寮鍙戝巶鍟嗘牴鎹甇DBC鐨勬爣鍑嗗幓瀹炵幇搴曞眰鐨勯┍鍔ㄧ▼搴忥紝榪欎釜椹卞姩瀵圭敤鎴鋒槸閫忔槑鐨勶紝騫跺厑璁告牴鎹笉鍚岀殑DBMS閲囩敤涓嶅悓鐨勬妧鏈姞浠ヤ紭鍖栧疄鐜幫紝榪欏氨鍒╀簬涓嶆柇鍚告敹鏂扮殑鎶鏈岃秼瀹屽杽銆?br>榪欏悓鏃朵篃灝辨槸鏁版嵁搴撻┍鍔ㄧ殑鎬濇兂錛屽畠寰堢被浼間簬Windows涓墦鍗伴┍鍔ㄧ殑鎬濇兂銆傚湪Windows涓紝鐢ㄦ埛瀹夎涓嶅悓鐨勬墦鍗伴┍鍔ㄧ▼搴忥紝浣跨敤鍚屾牱涓鏉℃墦鍗拌鍙ユ垨鎿嶄綔錛屽氨鍙緢瀹規(guī)槗鍦板疄鐜板湪涓嶅悓鎵撳嵃鏈轟笂鎵撳嵃杈撳嚭錛岃屼笉闇瑕佷簡瑙e唴閮ㄧ殑鍏蜂綋鍘熺悊銆侽DBC鍑虹幇浠ュ悗錛岀敤鎴峰畨瑁呬笉鍚岀殑DBMS椹卞姩灝卞彲鐢ㄥ悓鏍風殑SQL璇彞瀹炵幇鍦ㄤ笉鍚孌BMS涓婅繘琛屽悓鏍風殑鎿嶄綔錛岃屼笖鏃犻渶棰勭紪璇戙侽DBC甯︽潵浜嗘暟鎹簱榪炴帴鏂瑰紡鐨勫彉闈╋紝濡傚浘1鎵紺恒傚湪浼犵粺鏂瑰紡涓紝寮鍙戜漢鍛樿鐔熸?zhèn)夊涓狣BMS鍙婂叾API錛屼竴鏃BMS绔嚭鐜板彉鍔紝鍒欏線寰瀵艱嚧鐢ㄦ埛绔郴緇熼噸鏂扮紪寤烘垨鑰呮簮浠g爜鐨勪慨鏀癸紝榪欑粰寮鍙戝拰緇存姢宸ヤ綔甯︽潵浜嗗緢澶у洶闅俱傚湪ODBC鏂瑰紡涓紝涓嶇搴曞眰緗戠粶鐜濡備綍錛屼篃鏃犺閲囩敤浣曠DBMS錛岀敤鎴峰湪紼嬪簭涓兘浣跨敤鍚屼竴濂楁爣鍑嗕唬鐮侊紝鏃犻渶閫愪釜浜嗚В鍚凞BMS鍙婂叾API鐨勭壒鐐癸紝婧愮▼搴忎笉鍥犲簳灞傜殑鍙樺寲鑰岄噸鏂扮紪寤烘垨淇敼錛屼粠鑰屽噺杞諱簡寮鍙戠淮鎶ょ殑宸ヤ綔閲忥紝緙╃煭浜嗗紑鍙戝懆鏈熴?br>@@12W03500.GIF;鍥? 鏁版嵁搴撹繛鎺ユ柟寮忕殑杞彉@@
姒傛嫭璧鋒潵錛孫DBC鍏鋒湁浠ヤ笅鐏墊椿鐨勭壒鐐癸細
1. 浣跨敤鎴風▼搴忔湁寰堥珮鐨勪簰鎿嶄綔鎬э紝鐩稿悓鐨勭洰鏍囦唬鐮侀傜敤浜庝笉鍚岀殑DBMS錛?br>2. 鐢變簬ODBC鐨勫紑鏀炬э紝瀹冧負紼嬪簭闆嗘垚鎻愪緵浜嗕究鍒╋紝涓哄鎴鋒満/鏈嶅姟鍣ㄧ粨鏋勬彁渚涗簡鎶鏈敮鎸侊紱
3. 鐢變簬搴旂敤涓庡簳灞傜綉緇滅幆澧冨拰DBMS鍒嗗紑錛岀畝鍖栦簡寮鍙戠淮鎶や笂鐨勫洶闅俱?br>涓夈丱DBC鐨勪綋緋葷粨鏋勫拰瀹炵幇
ODBC鏄緷闈犲垎灞傜粨鏋勬潵瀹炵幇鐨勶紝濡傛鍙繚璇佸叾鏍囧噯鎬у拰寮鏀炬с傚浘2鎵紺轟負ODBC鐨勪綋緋葷粨鏋勶紝瀹冨叡鍒嗕負鍥涘眰錛氬簲鐢ㄧ▼搴忋侀┍鍔ㄧ▼搴忕鐞嗗櫒銆侀┍鍔ㄧ▼搴忓拰鏁版嵁婧愩傚井杞叕鍙稿ODBC瑙勭▼榪涜浜嗚鑼冿紝瀹冧負搴旂敤灞傜殑寮鍙戣呭拰鐢ㄦ埛鎻愪緵鏍囧噯鐨勫嚱鏁般佽娉曞拰閿欒浠g爜絳夛紝寰蔣榪樻彁渚涗簡椹卞姩紼嬪簭綆$悊鍣紝瀹冨湪Windows涓槸涓涓姩鎬侀摼鎺ュ簱鍗砄DBC.DLL銆傞┍鍔ㄧ▼搴忓眰鐢卞井杞丏BMS鍘傚晢鎴栫涓夊紑鍙戝晢鎻愪緵錛屽畠蹇呴』絎﹀悎ODBC鐨勮紼嬶紝瀵逛簬Oracle錛屽畠鏄疧
鏈枃鏉ヨ嚜: 鍏枃澶у叏(www.gwdq.com) 璇︾粏鍑哄鍙傝冿細http://www.gwdq.com/lwzx/jsj/jsjll/146960.html
RA6WIN.DLL錛屽浜嶴QL Server錛屽畠鏄疭QLSRVR.DLL銆?/p>
@@12W03501.GIF;鍥? ODBC浣撶郴緇撴瀯@@
涓嬮潰鎴戜滑璇︾粏浠嬬粛鍚勫眰鐨勫姛鑳姐?br>1. 搴旂敤紼嬪簭灞?Application)
浣跨敤ODBC鎺ュ彛鐨勫簲鐢ㄧ▼搴忓彲鎵ц浠ヤ笅浠誨姟錛?br>鈶犺姹備笌鏁版嵁婧愮殑榪炴帴鍜屼細璇?SQLConnect)錛?br>鈶″悜鏁版嵁婧愬彂閫丼QL璇鋒眰(SQLExecDirct鎴朣QLExecute)錛?br>鈶㈠SQL璇鋒眰鐨勭粨鏋滃畾涔夊瓨鍌ㄥ尯鍜屾暟鎹牸寮忥紱
鈶h姹傜粨鏋滐紱
鈶ゅ鐞嗛敊璇紱
鈶ュ鏋滈渶瑕侊紝鎶婄粨鏋滆繑鍥炵粰鐢ㄦ埛錛?br>鈶﹀浜嬪姟榪涜鎺у埗錛岃姹傛墽琛屾垨鍥為鎿嶄綔(SQLTransact)錛?br>鈶х粓姝㈠鏁版嵁婧愮殑榪炴帴(SQLDisconnect)銆?br>2. 椹卞姩紼嬪簭綆$悊鍣?Driver Manager)
鐢卞井杞彁渚涚殑椹卞姩紼嬪簭綆$悊鍣ㄦ槸甯︽湁杈撳叆搴撶殑鍔ㄦ佽繛鎺ュ簱ODBC.DLL錛屽叾涓昏鐩殑鏄鍏ラ┍鍔ㄧ▼搴忥紝姝ゅ榪樻墽琛屼互涓嬪伐浣?
鈶犲鐞嗗嚑涓狾DBC鍒濆鍖栬皟鐢紱
鈶′負姣忎竴涓┍鍔ㄧ▼搴忔彁渚汷DBC鍑芥暟鍏ュ彛鐐癸紱
鈶負ODBC璋冪敤鎻愪緵鍙傛暟鍜屾搴忛獙璇併?br>3. 椹卞姩紼嬪簭(Driver)
椹卞姩紼嬪簭鏄疄鐜癘DBC鍑芥暟鍜屾暟鎹簮浜や簰鐨凞LL錛屽綋搴旂敤紼嬪簭璋冪敤SQL Connect鎴栬匰QLDriver Connect鍑芥暟鏃訛紝椹卞姩紼嬪簭綆$悊鍣ㄨ鍏ョ浉搴旂殑椹卞姩紼嬪簭錛屽畠瀵規(guī)潵鑷簲鐢ㄧ▼搴忕殑ODBC鍑芥暟璋冪敤榪涜搴旂瓟錛屾寜鐓у叾瑕佹眰鎵ц浠ヤ笅浠誨姟:
鈶犲緩绔嬩笌鏁版嵁婧愮殑榪炴帴錛?br>鈶″悜鏁版嵁婧愭彁浜よ姹傦紱
鈶㈠湪搴旂敤紼嬪簭闇姹傛椂錛岃漿鎹㈡暟鎹牸寮忥紱
鈶h繑鍥炵粨鏋滅粰搴旂敤紼嬪簭錛?br>鈶ゅ皢榪愯閿欒鏍煎紡鍖栦負鏍囧噯浠g爜榪斿洖錛?br>鈶ュ湪闇瑕佹椂璇存槑鍜屽鐞嗗厜鏍囥?br>浠ヤ笂榪欎簺鍔熻兘閮芥槸瀵瑰簲鐢ㄧ▼搴忓眰鍔熻兘鐨勫叿浣撳疄鐜般傞┍鍔ㄧ▼搴忕殑閰嶇疆鏂瑰紡鍙互鍒掑垎涓轟互涓嬩袱縐嶃?br>(1)鍗曞眰嬈?single-tier) 榪欑鏂瑰紡涓嬶紝椹卞姩紼嬪簭瑕佸鐞哋DBC璋冪敤SQL璇彞錛屽茍鐩存帴鎿嶇旱鏁版嵁搴擄紝鍥犳鍏鋒湁鏁版嵁瀛樺彇鍔熻兘銆傝繖縐嶉厤緗渶甯歌鐨勬槸鍚屼竴鍙板井鏈轟箣涓婂紓縐嶆暟鎹簱閫氳繃ODBC瀛樺彇錛屽鍦≒owerbuilder涓瓨鍙朮Base銆丒xcel銆丳aradox絳夋暟鎹枃浠?濡傚浘3鎵紺恒侤@12W03502.GIF;鍥? 涓灞傞厤緗ず鎰忓浘@@
(2)澶氬眰嬈?multiple-tier) 榪欑閰嶇疆涓┍鍔ㄧ▼搴忎粎浠呭鐞哋DBC璋冪敤錛岃屽皢SQL璇彞浜ょ粰鏈嶅姟鍣ㄦ墽琛岋紝鐒跺悗榪斿洖緇撴灉銆傝繖縐嶆儏鍐靛線寰鏄簲鐢ㄧ▼搴忋侀┍鍔ㄧ▼搴忕鐞嗗櫒銆侀┍鍔ㄧ▼搴忛┗鐣欏湪瀹㈡埛鏈虹錛岃屾暟鎹簮鍜屾暟鎹瓨鍙栧姛鑳芥斁鍦ㄦ湇鍔″櫒绔傝濡傜敤Foxpro鎴朎xcel瀛樺彇SQL Server鎴朞racle涓婄殑鏁版嵁,濡傚浘4鎵紺恒?br>@@12W03503.GIF;鍥? 浜屽眰閰嶇疆紺烘剰鍥継@
鏈夋椂鍦ㄤ互涓婁袱鑰呬箣闂村姞涓婄綉鍏充互瑙e喅[鏈枃鐢辯綉绔?a >www.gwdq.com鍏枃澶у叏www.gwdq.cn鏀墮泦鏁寸悊]閫氫俊鍗忚鐨勮漿鎹㈢瓑闂錛岃繖鏃墮┍鍔ㄧ▼搴忚灝嗚姹傚厛浼犻佺粰緗戝叧錛屽璁塊棶DEC RDB鍜孖BM AS/400鏃剁殑閰嶇疆,濡傚浘5鎵紺恒?br>@@12W03504.GIF;鍥? 涓夊眰閰嶇疆紺烘剰鍥継@
4. 鏁版嵁婧?br>鏁版嵁婧愮敱鐢ㄦ埛鎯寵瀛樺彇鐨勬暟鎹拰瀹冪浉鍏崇殑鎿嶄綔緋葷粺銆丏BMS鍙婄綉緇滅幆澧冪粍鎴愩?br>鍥涖佷竴鑷存х駭鍒?br>浠庡簲鐢ㄧ▼搴忚鐐規(guī)潵鐪嬶紝鏈鐞嗘兂鐨勬儏鍐墊槸姣忎釜鏁版嵁婧愬拰椹卞姩紼嬪簭閮芥敮鎸佸悓涓濂桹DBC鍑芥暟璋冪敤鍜孲QL璇彞銆備絾鏄敱浜庡艦褰㈣壊鑹茬殑DBMS鍦ㄥ疄鐜頒笂鏈夊緢澶х殑宸紓錛屽畠浠墍渚濊禆鐨勭郴緇熷拰鐜涔熷悇涓嶇浉鍚岋紝鍦ㄥODBC鏀寔鐨勭▼搴︿笂灝變笉涓鑷淬備竴鑷存х駭鍒?Conformance Levels)寤虹珛浜嗗浼楀鍔熻兘鐨勬爣鍑嗗垝鍒嗭紝涓哄簲鐢ㄧ▼搴忓拰椹卞姩紼嬪簭鎻愪緵甯姪鍜岄夋嫨鐨勪緷鎹傚畠鍒掑畾浜嗛┍鍔ㄧ▼搴忔墍鏀寔鐨凮DBC鍑芥暟鍜孲QL璇彞鐨勮寖鍥達紝鎴戜滑鍙互鐢⊿QLGetInfo銆丼QLGetFunctions銆丼QLTypeInfo涓変釜鍑芥暟鑾風煡椹卞姩紼嬪簭鎵鏀寔鐨勫姛鑳介泦銆侽DBC浠嶢PI鍜孲QL璇硶涓ゆ柟闈㈠垝鍒嗙駭鍒?br>1. API鐨勪竴鑷存?br>ODBC灝嗗嚱鏁拌皟鐢ㄥ垝鍒嗕負涓夌駭銆?br>(1)鏍稿績API 瀹冨寘鎷簡涓嶴AG鐨凜LI鐩稿尮閰嶇殑鍩烘湰鍔熻兘錛屽寘鎷細鍒嗛厤涓庨噴鏀劇幆澧冦佽繛鎺ュ強璇彞鍙ユ焺錛涜繛鎺ュ埌鏁版嵁婧愶紱鍑嗗騫舵墽琛孲QL璇彞鎴栫珛鍗蟲墽琛孲QL璇彞錛涗負SQL璇彞鍜岀粨鏋滃垪涓殑鍙傛暟鍒嗛厤瀛樺偍鍣紱浠庣粨鏋滀腑媯绱㈡暟鎹紝媯绱㈢粨鏋滅殑淇℃伅錛涙彁浜ゅ拰鎾ゆ秷浜嬪姟澶勭悊錛涙绱㈤敊璇俊鎭?br>(2)涓綰PI 瀹冨寘鎷簡鏍稿績API鐨勫叏閮ㄥ姛鑳斤紝姣斿鐢ㄧ壒瀹氶┍鍔ㄧ▼搴忕殑瀵硅瘽妗嗚繛鎺ュ埌鏁版嵁婧愶紱璁劇疆鍜屾煡璇㈣鍙ュ煎拰榪炴帴閫夐」錛涢侀儴鍒嗘垨鍏ㄩ儴鍙傛暟鍊鹼紱媯绱㈤儴鍒嗗拰鍏ㄩ儴緇撴灉錛涙绱㈢洰褰曚俊鎭紱媯绱㈠叧浜庨┍鍔ㄧ▼搴忓拰鏁版嵁婧愮殑淇℃伅銆?br>(3)浜岀駭API 鍏跺姛鑳藉寘鎷牳蹇冨拰涓綰PI鐨勫叏閮ㄥ姛鑳斤紱嫻忚鍙幏寰楃殑榪炴帴鍜屽彲鑾峰緱鐨勬暟鎹簮鍒楄〃錛涘彂閫佸弬鏁板兼暟緇勶紝媯绱㈢粨鏋滄暟緇勶紱媯绱㈠弬鏁頒釜鏁板強鍙傛暟鎻忚堪錛涘簲鐢ㄥ彲鍗峰姩鐨勫厜鏍囷紱媯绱QL璇彞鍜屾湰鏈鴻〃鏍鹼紱媯绱㈠悇縐嶇洰褰曚俊鎭紱璋冪敤杞崲DLL銆?br>2. SQL璇硶鐨勪竴鑷存х駭鍒?br>浠嶴QL鏂歸潰鍙垝鍒嗕負鏈灝忕殑SQL璇硶銆佹牳蹇僑QL璇硶鍜屾墿灞昐QL璇硶涓変釜絳夌駭銆?br>浜斻丱DBC鐨勫簲鐢ㄤ笌鍓嶆櫙
ODBC鐨勫嚭鐜扮粰鐢ㄦ埛鎻忕粯浜嗕竴涓浜虹殑鍓嶆櫙錛屽嵆緗戠粶涓殑Windows鐢ㄦ埛鍙互鏂逛究鍦拌闂悇縐嶆暟鎹簱銆傜幇鍦紝鍦ㄥ井杞帹鍑虹殑璁稿浜у搧涓兘鎻愪緵浜哋DBC鏀寔錛屽Visal Basic 3.0銆乂isal C1.5銆丒xcel 5.0銆乄ord 6.0銆丗oxPro銆丄ccess絳夈傚悓鏃跺叾浠栦竴浜涘簲鐢ㄨ蔣浠跺拰寮鍙戝伐鍏蜂篃鎻愪緵浜嗗ODBC鐨勬敮鎸併傚洜姝ょ敤鎴峰彧瑕佸畨瑁呬笉鍚岀殑ODBC椹卞姩紼嬪簭錛屽氨鍙瓨鍙栫浉搴旂殑鏁版嵁搴撲駭鍝侊紝鑰屼笉綆$敤鎴蜂嬌鐢ㄤ綍縐嶅墠鍙板簲鐢ㄨ蔣浠訛紝涔熶笉綆″悗鍙版槸浣曠鏁版嵁搴擄紝榪欎釜瀛樺彇鐨?br>鏈枃鏉ヨ嚜: 鍏枃澶у叏(www.gwdq.com) 璇︾粏鍑哄鍙傝冿細http://www.gwdq.com/lwzx/jsj/jsjll/146960_2.html
榪囩▼鏄竴鑷寸殑銆?br>浣嗘槸鐢變簬ODBC浜х敓鐨勬椂闂磋繕涓嶉暱錛屽叾搴旂敤涔熷悓鏃跺瓨鍦ㄧ潃涓浜涢棶棰樸傞鍏堬紝瀹冪殑灞傛姣旇緝澶氾紝琛ㄧ幇鍦ㄦц兘涓婃瘮涓撴湁鐨凙PI瑕佹參錛岃繖鏄叾鏍囧噯鍖栧拰寮鍙戞ф墍甯︽潵鐨勫繀瑕佺殑浠d環(huán)錛涘叾嬈★紝鐢變簬ODBC瑙勫畾浜嗕笁涓眰嬈$殑涓鑷存х駭鍒紝搴旂敤紼嬪簭涓庨┍鍔ㄧ▼搴忎箣闂寸殑鍖歸厤灝變細鍑虹幇涓浜涢棶棰樺拰鐭涚浘錛屾瘮濡傛煇浜涢┍鍔ㄧ▼搴忔敮鎸佺殑綰у埆姣旇緝浣庯紝鑰屽簲鐢ㄧ▼搴忚姹傜殑姣旇緝楂橈紱鍐嶈咃紝鐢變簬涓嶅悓鐨勯┍鍔ㄧ▼搴忎負涓嶅悓鐨勫紑鍙戝晢鎵寮鍙戯紝嫻嬭瘯宸ヤ綔涓嶈兘緇熶竴錛岃岀幇鏈夌殑寮鍙戝拰嫻嬭瘯宸ュ叿騫朵笉寰堝畬鍠勶紱鍚屾椂錛屽湪闈濻QL鐨勬暟鎹簱緋葷粺涓婄殑搴旂敤涔熷瓨鍦ㄤ竴浜涢棶棰樸?br>寰蔣鍏徃灝哋DBC浣滀負涓欏瑰緢閲嶈鐨勬妧鏈紝瀹冨凡鎵胯榪涗竴姝ユ敼榪汷DBC鎶鏈紝涓洪┍鍔ㄧ▼搴忓紑鍙戣呮彁渚涙洿鍏堣繘鐨勫紑鍙戝拰嫻嬭瘯宸ュ叿錛岃繕灝嗕氦浠樼郴緇熺鐞嗗拰鐩戞帶宸ュ叿錛屽畠榪樺皢涓嶥BMS鍘傚晢鍜岀涓夋柟鍘傚晢寤虹珛鏇村瘑鍒囩殑鍚堜綔錛屼互鏈熶嬌椹卞姩紼嬪簭鏀寔鏇撮珮綰у埆鐨勪竴鑷存э紝騫跺湪瑙勮寖鍖栨柟闈㈡湁鎵瀹屽杽銆傜洰鍓嶏紝ODBC宸蹭負鏁版嵁搴撲緵搴斿晢緇勭粐鍐呴儴鎵璁ゅ彲錛屽悓鏃朵負浼楀搴旂敤杞歡鍘傚晢鍜岀涓夋柟寮鍙戝晢鎵浣跨敤錛岀浉淇¢殢鐫SQL鐨勬帹騫垮拰瑙勮寖錛岀敤鎴峰拰寮鍙戝晢浼氭洿鍔犱緷璧栦簬榪欎竴鎶鏈?br>鏈枃鏉ヨ嚜: 鍏枃澶у叏(www.gwdq.com) 璇︾粏鍑哄鍙傝冿細http://www.gwdq.com/lwzx/jsj/jsjll/146960_3.html
]]>
cc -o len len.o -q64 -L/home/sqllib/lib64 -ldb2
len.o:len.c
cc -c -g -q64 -I/home/sqllib/include/ len.c
clean:
rm -f *.o
SQLAllocStmt() 鍒嗛厤鏂扮殑璇彞鍙ユ焺騫跺皢鍏朵笌榪炴帴鍙ユ焺鎸囧畾鐨勮繛鎺ョ浉鍏寵仈銆傚浜庡湪浠諱綍涓涓椂鍊欏彲浠ュ垎閰嶇殑璇彞鍙ユ焺鏁扮洰娌℃湁宸插畾涔夌殑闄愬埗銆?
鍦ㄨ皟鐢ㄦ鍑芥暟涔嬪墠錛屽繀欏昏皟鐢?SQLConnect()銆?
蹇呴』鍦?SQLBindParam()銆?tt>SQLPrepare()銆丼QLExecute()銆丼QLExecDirect() 鎴栦換浣曞叾瀹冨皢璇彞鍙ユ焺浣滀負鍏朵腑涓涓緭鍏ヨ嚜鍙橀噺鐨勫嚱鏁頒箣鍓嶈皟鐢ㄦ鍑芥暟銆?
璇硶
SQLRETURN SQLAllocStmt (SQLHDBC hdbc,
SQLHSTMT *phstmt);
鍑芥暟鑷彉閲?/strong> 鐢ㄦ硶
DB2 UDB CLI 浣跨敤姣忎釜璇彞鍙ユ焺鏉ヤ嬌鎵鏈夋弿榪扮銆佺粨鏋滃箋佹父鏍囦俊鎭拰鐘舵佷俊鎭笌宸插鐞嗙殑 SQL 璇彞鐩稿叧鑱斻傝櫧鐒舵瘡涓?SQL 璇彞閮藉繀欏昏鏈夎鍙ュ彞鏌勶紝浣嗗彲浠ュ皢鍙ユ焺閲嶆柊鐢ㄤ簬涓嶅悓鐨勮鍙ャ?
瀵規(guī)鍑芥暟鐨勮皟鐢ㄨ姹?hdbc 寮曠敤媧誨姩鐨勬暟鎹簱榪炴帴銆?
瑕佹墽琛屽畾浣嶅瀷鏇存柊鎴栧垹闄わ紝搴旂敤紼嬪簭蹇呴』灝嗕笉鍚岀殑璇彞鍙ユ焺鐢ㄤ簬 SELECT 璇彞鍜?UPDATE 鎴?DELETE 璇彞銆?
濡傛灉鎸囧悜璇彞鍙ユ焺鐨勮緭鍏ユ寚閽堬紙phstmt錛夋寚鍚戠敱鍏堝墠鐨?SQLAllocStmt() 璋冪敤鍒嗛厤鐨勬湁鏁堣鍙ュ彞鏌勶紝鍒欐璋冪敤鐨勭粨鏋滄槸瑕嗙洊鍘熷鍊箋傝繖鏄簲鐢ㄧ▼搴忕紪紼嬮敊璇紝DB2 UDB CLI 涓嶆嫻嬫閿欒銆?
榪斿洖鐮?/strong>
濡傛灉榪斿洖 SQL_ERROR錛屽垯 phstmt 鑷彉閲忚緗負 SQL_NULL_HSTMT銆傚簲鐢ㄧ▼搴忓簲浣跨敤鍚屼竴涓?hdbc 鏉ヨ皟鐢?SQLError() 騫跺皢 hstmt 鑷彉閲忚緗負 SQL_NULL_HSTMT銆?
璇婃柇 璇峰弬鑰?SQLFetch()錛?a >紺轟緥錛夈?
鏁版嵁綾誨瀷
鑷彉閲?
浣跨敤
鎻忚堪
SQLHDBC
hdbc
杈撳叆
榪炴帴鍙ユ焺
SQLHSTMT *
phstmt
杈撳嚭
鎸囧悜璇彞鍙ユ焺鐨勬寚閽?
SQLSTATE
鎻忚堪
璇存槑
08003
榪炴帴鏈墦寮
hdbc 鑷彉閲忔寚瀹氱殑榪炴帴灝氭湭鎵撳紑銆傚繀欏繪垚鍔熷湴涓洪┍鍔ㄧ▼搴忓緩绔嬭繛鎺ワ紙騫朵笖璇ヨ繛鎺ュ繀欏誨凡鎵撳紑錛夋墠鑳藉垎閰?hstmt銆?
40003 *
鏈煡璇彞鏄惁瀹屾垚
鍦ㄥ嚱鏁板畬鎴愬鐞嗕箣鍓嶏紝CLI 涓庢暟鎹簮涔嬮棿鐨勯氫俊閾捐礬鍙戠敓鏁呴殰銆?
58004
緋葷粺閿欒
涓嶅彲鎭㈠鐨勭郴緇熼敊璇?
HY001
鍐呭瓨鍒嗛厤澶辮觸
椹卞姩紼嬪簭鏃犳硶鍒嗛厤鏀寔姝ゅ嚱鏁扮殑鎵ц鎴栧畬鎴愭墍蹇呴渶鐨勫唴瀛樸?
HY009
鑷彉閲忓兼棤鏁?
phstmt 鏄┖鎸囬拡
HY013 *
鍐呭瓨綆$悊闂
椹卞姩紼嬪簭鏃犳硶璁塊棶鏀寔姝ゅ嚱鏁扮殑鎵ц鎴栧畬鎴愭墍蹇呴渶鐨勫唴瀛樸?
]]>
鐢ㄩ?/strong>
SQLAllocEnv() 鍒嗛厤鐜鍙ユ焺鍜岀浉鍏寵仈鐨勮祫婧愩?
搴旂敤紼嬪簭蹇呴』鍦?SQLAllocConnect() 鎴栦換浣曞叾瀹?DB2 UDB CLI 鍑芥暟涔嬪墠璋冪敤姝ゅ嚱鏁般傚湪浠ュ悗鎵鏈夐渶瑕佺幆澧冨彞鏌勪綔涓鴻緭鍏ョ殑鍑芥暟璋冪敤涓紝閮戒紶閫?henv 鍊箋?
璇硶
鍑芥暟鑷彉閲?/strong> 鐢ㄦ硶
瀵逛簬姣忎釜搴旂敤紼嬪簭錛屽湪浠諱綍涓涓椂鍊欓兘鍙兘鏈変竴涓椿鍔ㄧ幆澧冦備互鍚庝換浣曞 SQLAllocEnv() 鐨勮皟鐢ㄥ皢榪斿洖鐜版湁鐨勭幆澧冨彞鏌勩?
緙虹渷鎯呭喌涓嬶紝瀵?SQLFreeEnv() 鎵浣滅殑絎竴涓垚鍔熻皟鐢ㄥ皢閲婃斁涓庤鍙ユ焺鐩稿叧鑱旂殑璧勬簮銆傛棤璁烘垚鍔熷湴璋冪敤浜嗗灝戞 SQLAllocEnv()錛岄兘浼氬彂鐢熻繖縐嶆儏鍐點傚鏋滅幆澧冨睘鎬?SQL_ATTR_ENVHNDL_COUNTER 璁劇疆涓?SQL_TRUE錛屽垯鍦ㄩ噴鏀句笌鍙ユ焺鐩稿叧鑱旂殑璧勬簮涔嬪墠錛屽繀欏諱負姣忔鎴愬姛鐨?SQLAllocEnv() 璋冪敤鏉ヨ皟鐢?SQLFreeEnv()銆?
瑕佺‘淇濇墍鏈夌殑 DB2 UDB CLI 璧勬簮閮戒繚鎸佹椿鍔ㄧ姸鎬侊紝璋冪敤 SQLAllocEnv() 鐨勭▼搴忎笉搴旂粓姝㈡垨紱誨紑鍫嗘爤銆傚惁鍒欙紝搴旂敤紼嬪簭灝嗕涪澶辨墦寮鐨勬父鏍囥佽鍙ュ彞鏌勫拰鍏跺畠宸插垎閰嶇殑璧勬簮銆?
榪斿洖鐮?/strong>
濡傛灉榪斿洖 SQL_ERROR錛屽茍涓?phenv 絳変簬 SQL_NULL_HENV錛屽垯鐢變簬娌℃湁鍙ユ焺鍙互涓庨檮鍔犵殑璇婃柇淇℃伅鐩稿叧鑱旓紝鎵浠ヤ笉鑳借皟鐢?SQLError()銆?
濡傛灉榪斿洖鐮佹槸 SQL_ERROR錛屽茍涓旀寚鍚戠幆澧冨彞鏌勭殑鎸囬拡涓嶇瓑浜?SQL_NULL_HENV錛屽垯璇ュ彞鏌勬槸鍙楅檺鍙ユ焺銆傝繖琛ㄧず璇ュ彞鏌勫彧鑳藉湪 SQLError() 鐨勮皟鐢ㄤ腑浣跨敤浠ヨ幏鍙栨洿澶氱殑閿欒淇℃伅錛屾垨鑰呯敤浜?SQLFreeEnv() 鐨勮皟鐢ㄣ?
璇婃柇
鏈夊叧浠g爜紺轟緥鐨勪俊鎭紝鍙傝浠g爜涓嶄繚璇佸0鏄庝俊鎭?/font>銆?
鍙傝?/strong>
SQLRETURN SQLAllocEnv (SQLHENV *phenv);
鏁版嵁綾誨瀷
鑷彉閲?
浣跨敤
鎻忚堪
SQLHENV *
phenv
杈撳嚭
鎸囧悜鐜鍙ユ焺鐨勬寚閽?
SQLSTATE
鎻忚堪
璇存槑
58004
緋葷粺閿欒
涓嶅彲鎭㈠鐨勭郴緇熼敊璇?
/*******************************************************
** file = basiccon.c
** - demonstrate basic connection to two datasources.
** - error handling ignored for simplicity
**
** Functions used:
**
** SQLAllocConnect SQLDisconnect
** SQLAllocEnv SQLFreeConnect
** SQLConnect SQLFreeEnv
**
**
********************************************************/
#include <stdio.h>
#include <stdlib.h>
#include "sqlcli.h"
int
connect(SQLHENV henv,
SQLHDBC * hdbc);
#define MAX_DSN_LENGTH 18
#define MAX_UID_LENGTH 10
#define MAX_PWD_LENGTH 10
#define MAX_CONNECTIONS 5
int
main()
{
SQLHENV henv;
SQLHDBC hdbc[MAX_CONNECTIONS];
/* allocate an environment handle */
SQLAllocEnv(&henv);
/* Connect to first data source */
connect(henv, &hdbc[0];);
/* Connect to second data source */
connect(henv, &hdbc[1];);
/********* Start Processing Step *************************/
/* allocate statement handle, execute statement, etc. */
/********* End Processing Step ***************************/
printf("\nDisconnecting .....\n");
SQLFreeConnect(hdbc[0]); /* free first connection handle */
SQLFreeConnect(hdbc[1]); /* free second connection handle */
SQLFreeEnv(henv); /* free environment handle */
return (SQL_SUCCESS);
}
/********************************************************************
** connect - Prompt for connect options and connect **
********************************************************************/
int
connect(SQLHENV henv,
SQLHDBC * hdbc)
{
SQLRETURN rc;
SQLCHAR server[MAX_DSN_LENGTH + 1], uid[MAX_UID_LENGTH + 1],
pwd[MAX_PWD_LENGTH
+ 1];
SQLCHAR buffer[255];
SQLSMALLINT outlen;
printf("Enter Server Name:\n");
gets((char *) server);
printf("Enter User Name:\n");
gets((char *) uid);
printf("Enter Password Name:\n");
gets((char *) pwd);
SQLAllocConnect(henv, hdbc);/* allocate a connection handle */
rc = SQLConnect(*hdbc, server, SQL_NTS, uid, SQL_NTS, pwd, SQL_NTS);
if (rc != SQL_SUCCESS) {
printf("Error while connecting to database\n");
return (SQL_ERROR);
} else {
printf("Successful Connect\n");
return (SQL_SUCCESS);
}
}
]]>
SQLAllocHandle() 鍒嗛厤浠諱綍綾誨瀷鐨勫彞鏌勩?
璇硶
SQLRETURN SQLAllocHandle (SQLSMALLINT htype,
SQLINTEGER ihandle,
SQLINTEGER *handle);
鍑芥暟鑷彉閲?/strong> 鐢ㄦ硶
姝ゅ嚱鏁扮粍鍚堜簡鍑芥暟 SQLAllocEnv()銆丼QLAllocConnect() 鍜?SQLAllocStmt()銆?
濡傛灉 htype 鏄?SQL_HANDLE_ENV錛屽垯 ihandle 蹇呴』鏄?SQL_NULL_HANDLE銆傚鏋?htype 鏄?SQL_HANDLE_DBC錛屽垯 ihandle 蹇呴』鏄湁鏁堢殑鐜鍙ユ焺銆傚鏋?htype 鏄?SQL_HANDLE_DESC 鎴?SQL_HANDLE_STMT錛屽垯 ihandle 蹇呴』鏄湁鏁堢殑榪炴帴鍙ユ焺銆?
榪斿洖鐮?/strong>
鏁版嵁綾誨瀷
鑷彉閲?
浣跨敤
鎻忚堪
SQLSMALLINT
htype
杈撳叆
瑕佸垎閰嶇殑鍙ユ焺鐨勭被鍨嬨傚繀欏繪槸 SQL_HANDLE_ENV銆丼QL_HANDLE_DBC銆丼QL_HANDLE_DESC 鎴?SQL_HANDLE_STMT銆?
SQLINTEGER
ihandle
杈撳叆
鎻忚堪鍦ㄥ叾涓垎閰嶆柊鍙ユ焺鐨勪笂涓嬫枃鐨勫彞鏌勶紱鐒惰岋紝濡傛灉 htype 鏄?SQL_HANDLE_ENV錛屽垯榪欐槸 SQL_NULL_HANDLE銆?
SQLINTEGER *
handle
杈撳嚭
鎸囧悜鍙ユ焺鐨勬寚閽?
]]>
SQLSetConnectAttr() 璁劇疆鐗瑰畾榪炴帴鐨勮繛鎺ュ睘鎬с?
璇硶
SQLRETURN SQLSetConnectAttr (SQLHDBC hdbc,
SQLINTEGER fAttr,
SQLPOINTER vParam,
SQLINTEGER sLen);
鍑芥暟鑷彉閲?/strong> 琛?146. SQLSetConnectAttr 鑷彉閲?/a> 鐢ㄦ硶
閫氳繃 SQLSetConnectAttr() 璁劇疆鐨勬墍鏈夎繛鎺ュ拰璇彞閫夐」閮藉皢鎸佺畫鍒拌皟鐢?SQLFreeConnect() 鎴栦笅嬈¤皟鐢?SQLSetConnectAttr() 鏃朵負姝€?
閫氳繃 vParam 璁劇疆鐨勪俊鎭殑鏍煎紡鍙栧喅浜庢墍鎸囧畾鐨?fAttr銆傞夐」淇℃伅鍙互鏄?32 浣嶆暣鏁幫紝涔熷彲浠ユ槸鎸囧悜浠ョ┖緇堟鐨勫瓧絎︿覆鐨勬寚閽堛? 鍦?IBM 鏈涓細
鏈夊叧“闅旂綰у埆”鐨勮緇嗚鏄庯紝璇峰弬鑰?IBM SQL Reference銆?
搴旇鍦ㄨ皟鐢?SQLConnect() 涔嬪墠璁劇疆 SQL_ATTR_COMMIT 灞炴с傚鏋滃湪寤虹珛榪炴帴涔嬪悗鏇存敼浜嗗鹼紝騫朵笖璇ヨ繛鎺ユ槸涓庤繙紼嬫暟鎹簮鐨勮繛鎺ワ紝鍒欏湪涓嬩竴嬈″榪炴帴鍙ユ焺鎴愬姛璋冪敤 SQLConnect() 涔嬪墠錛屾鏇存敼涓嶄細鐢熸晥銆? 榪斿洖鐮?/strong>
璇婃柇 琛?148. SQLSetConnectAttr SQLSTATE
鎸囧畾浜嗘棤鏁堢殑 fAttr 鍊箋?
鏁版嵁綾誨瀷
鑷彉閲?
浣跨敤
鎻忚堪
SQLHDBC
hdbc
杈撳叆
榪炴帴鍙ユ焺
SQLINTEGER
fAttr
杈撳叆
瑕佽緗殑榪炴帴灞炴э紝鏈夊叧鏇村淇℃伅錛岃鍙傝?a >琛?147銆?
SQLPOINTER
vParam
杈撳叆
涓?fAttr 鐩稿叧鑱旂殑鍊箋傛牴鎹夐」鐨勪笉鍚岋紝榪欏彲浠ユ槸鎸囧悜 32 浣嶆暣鏁板肩殑鎸囬拡錛屼篃鍙互鏄瓧絎︿覆銆?
SQLINTEGER
sLen
杈撳叆
濡傛灉杈撳叆鍊兼槸瀛楃涓茬殑璇濓紝姝よ嚜鍙橀噺灝辨槸瀹冪殑闀垮害錛涘惁鍒欎笉浣跨敤姝よ嚜鍙橀噺銆?
fAttr
鍐呭
SQL_ATTR_AUTOCOMMIT
32 浣嶇殑鍊鹼紝瀹冭緗繛鎺ョ殑钀藉疄琛屼負銆傚彲鑳界殑鍊煎垪紺哄涓嬶細
SQL_ATTR_COMMIT
鎴?br>SQL_TXN_ISOLATION32 浣嶇殑鍊鹼紝瀹冭緗?hdbc 鎵寮曠敤鐨勫綋鍓嶈繛鎺ョ殑浜嬪姟闅旂綰у埆銆侱B2 UDB CLI 鎺ュ彈涓嬪垪鍊鹼紝浣嗘瘡涓湇鍔″櫒閮藉彲鑳藉彧鏀寔榪欎簺闅旂綰у埆鐨勫叾涓煇涓浜涳細
SQL_ATTR_DATE_FMT
32 浣嶇殑鏁存暟鍊鹼紝榪欎釜鍊煎彲浠ユ槸錛?
SQL_ATTR_DATE_SEP
32 浣嶇殑鏁存暟鍊鹼紝榪欎釜鍊煎彲浠ユ槸錛?
SQL_ATTR_DBC_DEFAULT_LIB
涓涓瓧絎﹀鹼紝榪欎釜鍊兼寚紺哄皢鐢ㄤ簬瑙f瀽鏈檺瀹氭枃浠跺紩鐢ㄧ殑緙虹渷搴撱傚鏋滆繛鎺ユ鍦ㄤ嬌鐢ㄧ郴緇熷懡鍚嶆柟寮忥紝鍒欐欏規(guī)棤鏁堛?
SQL_ATTR_DBC_SYS_NAMING
32 浣嶇殑鏁存暟鍊鹼紝榪欎釜鍊煎彲浠ユ槸錛?
SQL_ATTR_DECIMAL_SEP
32 浣嶇殑鏁存暟鍊鹼紝榪欎釜鍊煎彲浠ユ槸錛?
SQL_ATTR_EXTENDED_COL_INFO
32 浣嶇殑鏁存暟鍊鹼紝榪欎釜鍊煎彲浠ユ槸錛?
SQL_ATTR_TIME_FMT
32 浣嶇殑鏁存暟鍊鹼紝榪欎釜鍊煎彲浠ユ槸錛?
SQL_ATTR_TIME_SEP
32 浣嶇殑鏁存暟鍊鹼紝榪欎釜鍊煎彲浠ユ槸錛?
SQL_SAVEPOINT_NAME
涓涓瓧絎﹀鹼紝瀹冩寚紺?SQLEndTran() 瑕佸鍑芥暟 SQL_SAVEPOINT_NAME_ROLLBACK 鎴?SQL_SAVEPOINT_NAME_RELEASE 浣跨敤鐨勪繚瀛樼偣鍚嶇О銆?
SQL_2ND_LEVEL_TEXT
32 浣嶇殑鏁存暟鍊鹼紝榪欎釜鍊煎彲浠ユ槸錛?
SQLSTATE
鎻忚堪
璇存槑
HY001
鍐呭瓨鍒嗛厤澶辮觸
椹卞姩紼嬪簭鏃犳硶鍒嗛厤鏀寔姝ゅ嚱鏁扮殑鎵ц鎴栧畬鎴愭墍蹇呴渶鐨勫唴瀛樸?
HY009
鑷彉閲忓兼棤鏁?
緇欏畾 fAttr 鍊鹼紝瀵硅嚜鍙橀噺 vParam 鎸囧畾浜嗘棤鏁堢殑鍊箋?
]]>