Artifact e16fff59d532178b8717130d92db08369b0d65c6:
- File
src/win32/sql.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0d 0a 2a 20 20 20 20 ********\..*
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0060: 20 20 20 20 20 20 20 20 20 20 20 20 20 73 71 6c sql
0070: 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .d
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0090: 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 20 *..*
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d *.
00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*
00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73 Windows
0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75 API header modu
0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le
0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 20 *..*
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0170: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 *..*
0180: 20 20 20 20 20 20 20 20 20 54 72 61 6e 73 6c 61 Transla
0190: 74 65 64 20 66 72 6f 6d 20 4d 69 6e 47 57 20 57 ted from MinGW W
01a0: 69 6e 64 6f 77 73 20 68 65 61 64 65 72 73 20 20 indows headers
01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a *
01c0: 0d 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..*
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
01e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0200: 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 *..*
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0220: 20 20 20 20 20 50 6c 61 63 65 64 20 69 6e 74 6f Placed into
0230: 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 20 20 public domain
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0250: 20 20 20 20 20 2a 0d 0a 5c 2a 2a 2a 2a 2a 2a 2a *..\*******
0260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0280: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0290: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02a0: 2f 0d 0a 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e /..module win32.
02b0: 73 71 6c 3b 0d 0a 0d 0a 70 75 62 6c 69 63 20 69 sql;....public i
02c0: 6d 70 6f 72 74 20 77 69 6e 33 32 2e 73 71 6c 74 mport win32.sqlt
02d0: 79 70 65 73 3b 0d 0a 70 72 69 76 61 74 65 20 69 ypes;..private i
02e0: 6d 70 6f 72 74 20 77 69 6e 33 32 2e 77 69 6e 64 mport win32.wind
02f0: 65 66 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 4f 44 42 ef;....const ODB
0300: 43 56 45 52 20 3d 20 30 78 30 33 35 31 3b 0d 0a CVER = 0x0351;..
0310: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 43 43 45 ..const SQL_ACCE
0320: 53 53 49 42 4c 45 5f 50 52 4f 43 45 44 55 52 45 SSIBLE_PROCEDURE
0330: 53 3d 32 30 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c S=20;..const SQL
0340: 5f 41 43 43 45 53 53 49 42 4c 45 5f 54 41 42 4c _ACCESSIBLE_TABL
0350: 45 53 3d 31 39 3b 0d 0a 63 6f 6e 73 74 20 53 51 ES=19;..const SQ
0360: 4c 5f 41 4c 4c 5f 54 59 50 45 53 3d 30 3b 0d 0a L_ALL_TYPES=0;..
0370: 63 6f 6e 73 74 20 53 51 4c 5f 41 4c 54 45 52 5f const SQL_ALTER_
0380: 54 41 42 4c 45 3d 38 36 3b 0d 0a 63 6f 6e 73 74 TABLE=86;..const
0390: 20 53 51 4c 5f 41 50 49 5f 53 51 4c 41 4c 4c 4f SQL_API_SQLALLO
03a0: 43 43 4f 4e 4e 45 43 54 3d 31 3b 0d 0a 63 6f 6e CCONNECT=1;..con
03b0: 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 41 4c st SQL_API_SQLAL
03c0: 4c 4f 43 45 4e 56 3d 32 3b 0d 0a 63 6f 6e 73 74 LOCENV=2;..const
03d0: 20 53 51 4c 5f 41 50 49 5f 53 51 4c 41 4c 4c 4f SQL_API_SQLALLO
03e0: 43 53 54 4d 54 3d 33 3b 0d 0a 63 6f 6e 73 74 20 CSTMT=3;..const
03f0: 53 51 4c 5f 41 50 49 5f 53 51 4c 42 49 4e 44 43 SQL_API_SQLBINDC
0400: 4f 4c 3d 34 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c OL=4;..const SQL
0410: 5f 41 50 49 5f 53 51 4c 43 41 4e 43 45 4c 3d 35 _API_SQLCANCEL=5
0420: 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 ;..const SQL_API
0430: 5f 53 51 4c 43 4f 4c 55 4d 4e 53 3d 34 30 3b 0d _SQLCOLUMNS=40;.
0440: 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 .const SQL_API_S
0450: 51 4c 43 4f 4e 4e 45 43 54 3d 37 3b 0d 0a 63 6f QLCONNECT=7;..co
0460: 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 44 nst SQL_API_SQLD
0470: 41 54 41 53 4f 55 52 43 45 53 3d 35 37 3b 0d 0a ATASOURCES=57;..
0480: 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 const SQL_API_SQ
0490: 4c 44 45 53 43 52 49 42 45 43 4f 4c 3d 38 3b 0d LDESCRIBECOL=8;.
04a0: 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 .const SQL_API_S
04b0: 51 4c 44 49 53 43 4f 4e 4e 45 43 54 3d 39 3b 0d QLDISCONNECT=9;.
04c0: 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 .const SQL_API_S
04d0: 51 4c 45 52 52 4f 52 3d 31 30 3b 0d 0a 63 6f 6e QLERROR=10;..con
04e0: 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 45 58 st SQL_API_SQLEX
04f0: 45 43 44 49 52 45 43 54 3d 31 31 3b 0d 0a 63 6f ECDIRECT=11;..co
0500: 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 45 nst SQL_API_SQLE
0510: 58 45 43 55 54 45 3d 31 32 3b 0d 0a 63 6f 6e 73 XECUTE=12;..cons
0520: 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 46 45 54 t SQL_API_SQLFET
0530: 43 48 3d 31 33 3b 0d 0a 63 6f 6e 73 74 20 53 51 CH=13;..const SQ
0540: 4c 5f 41 50 49 5f 53 51 4c 46 52 45 45 43 4f 4e L_API_SQLFREECON
0550: 4e 45 43 54 3d 31 34 3b 0d 0a 63 6f 6e 73 74 20 NECT=14;..const
0560: 53 51 4c 5f 41 50 49 5f 53 51 4c 46 52 45 45 45 SQL_API_SQLFREEE
0570: 4e 56 3d 31 35 3b 0d 0a 63 6f 6e 73 74 20 53 51 NV=15;..const SQ
0580: 4c 5f 41 50 49 5f 53 51 4c 46 52 45 45 53 54 4d L_API_SQLFREESTM
0590: 54 3d 31 36 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c T=16;..const SQL
05a0: 5f 41 50 49 5f 53 51 4c 47 45 54 43 4f 4e 4e 45 _API_SQLGETCONNE
05b0: 43 54 4f 50 54 49 4f 4e 3d 34 32 3b 0d 0a 63 6f CTOPTION=42;..co
05c0: 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 47 nst SQL_API_SQLG
05d0: 45 54 43 55 52 53 4f 52 4e 41 4d 45 3d 31 37 3b ETCURSORNAME=17;
05e0: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f ..const SQL_API_
05f0: 53 51 4c 47 45 54 44 41 54 41 3d 34 33 3b 0d 0a SQLGETDATA=43;..
0600: 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 const SQL_API_SQ
0610: 4c 47 45 54 46 55 4e 43 54 49 4f 4e 53 3d 34 34 LGETFUNCTIONS=44
0620: 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 ;..const SQL_API
0630: 5f 53 51 4c 47 45 54 49 4e 46 4f 3d 34 35 3b 0d _SQLGETINFO=45;.
0640: 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 .const SQL_API_S
0650: 51 4c 47 45 54 53 54 4d 54 4f 50 54 49 4f 4e 3d QLGETSTMTOPTION=
0660: 34 36 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 46;..const SQL_A
0670: 50 49 5f 53 51 4c 47 45 54 54 59 50 45 49 4e 46 PI_SQLGETTYPEINF
0680: 4f 3d 34 37 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c O=47;..const SQL
0690: 5f 41 50 49 5f 53 51 4c 4e 55 4d 52 45 53 55 4c _API_SQLNUMRESUL
06a0: 54 43 4f 4c 53 3d 31 38 3b 0d 0a 63 6f 6e 73 74 TCOLS=18;..const
06b0: 20 53 51 4c 5f 41 50 49 5f 53 51 4c 50 41 52 41 SQL_API_SQLPARA
06c0: 4d 44 41 54 41 3d 34 38 3b 0d 0a 63 6f 6e 73 74 MDATA=48;..const
06d0: 20 53 51 4c 5f 41 50 49 5f 53 51 4c 50 52 45 50 SQL_API_SQLPREP
06e0: 41 52 45 3d 31 39 3b 0d 0a 63 6f 6e 73 74 20 53 ARE=19;..const S
06f0: 51 4c 5f 41 50 49 5f 53 51 4c 50 55 54 44 41 54 QL_API_SQLPUTDAT
0700: 41 3d 34 39 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c A=49;..const SQL
0710: 5f 41 50 49 5f 53 51 4c 52 4f 57 43 4f 55 4e 54 _API_SQLROWCOUNT
0720: 3d 32 30 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f =20;..const SQL_
0730: 41 50 49 5f 53 51 4c 53 45 54 43 4f 4e 4e 45 43 API_SQLSETCONNEC
0740: 54 4f 50 54 49 4f 4e 3d 35 30 3b 0d 0a 63 6f 6e TOPTION=50;..con
0750: 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 53 45 st SQL_API_SQLSE
0760: 54 43 55 52 53 4f 52 4e 41 4d 45 3d 32 31 3b 0d TCURSORNAME=21;.
0770: 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 .const SQL_API_S
0780: 51 4c 53 45 54 50 41 52 41 4d 3d 32 32 3b 0d 0a QLSETPARAM=22;..
0790: 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 const SQL_API_SQ
07a0: 4c 53 45 54 53 54 4d 54 4f 50 54 49 4f 4e 3d 35 LSETSTMTOPTION=5
07b0: 31 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 1;..const SQL_AP
07c0: 49 5f 53 51 4c 53 50 45 43 49 41 4c 43 4f 4c 55 I_SQLSPECIALCOLU
07d0: 4d 4e 53 3d 35 32 3b 0d 0a 63 6f 6e 73 74 20 53 MNS=52;..const S
07e0: 51 4c 5f 41 50 49 5f 53 51 4c 53 54 41 54 49 53 QL_API_SQLSTATIS
07f0: 54 49 43 53 3d 35 33 3b 0d 0a 63 6f 6e 73 74 20 TICS=53;..const
0800: 53 51 4c 5f 41 50 49 5f 53 51 4c 54 41 42 4c 45 SQL_API_SQLTABLE
0810: 53 3d 35 34 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c S=54;..const SQL
0820: 5f 41 50 49 5f 53 51 4c 54 52 41 4e 53 41 43 54 _API_SQLTRANSACT
0830: 3d 32 33 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 53 51 =23;....const SQ
0840: 4c 5f 43 42 5f 44 45 4c 45 54 45 3d 30 3b 0d 0a L_CB_DELETE=0;..
0850: 63 6f 6e 73 74 20 53 51 4c 5f 43 42 5f 43 4c 4f const SQL_CB_CLO
0860: 53 45 3d 31 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c SE=1;..const SQL
0870: 5f 43 42 5f 50 52 45 53 45 52 56 45 3d 32 3b 0d _CB_PRESERVE=2;.
0880: 0a 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 43 48 41 ...const SQL_CHA
0890: 52 3d 31 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f R=1;..const SQL_
08a0: 43 4c 4f 53 45 3d 30 3b 0d 0a 63 6f 6e 73 74 20 CLOSE=0;..const
08b0: 53 51 4c 5f 43 4f 4d 4d 49 54 3d 30 3b 0d 0a 63 SQL_COMMIT=0;..c
08c0: 6f 6e 73 74 20 53 51 4c 5f 43 55 52 53 4f 52 5f onst SQL_CURSOR_
08d0: 43 4f 4d 4d 49 54 5f 42 45 48 41 56 49 4f 52 3d COMMIT_BEHAVIOR=
08e0: 32 33 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 44 23;..const SQL_D
08f0: 41 54 41 5f 41 54 5f 45 58 45 43 3d 2d 32 3b 0d ATA_AT_EXEC=-2;.
0900: 0a 63 6f 6e 73 74 20 53 51 4c 5f 44 41 54 41 5f .const SQL_DATA_
0910: 53 4f 55 52 43 45 5f 4e 41 4d 45 3d 32 3b 0d 0a SOURCE_NAME=2;..
0920: 63 6f 6e 73 74 20 53 51 4c 5f 44 41 54 41 5f 53 const SQL_DATA_S
0930: 4f 55 52 43 45 5f 52 45 41 44 5f 4f 4e 4c 59 3d OURCE_READ_ONLY=
0940: 32 35 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 44 25;..const SQL_D
0950: 42 4d 53 5f 4e 41 4d 45 3d 31 37 3b 0d 0a 63 6f BMS_NAME=17;..co
0960: 6e 73 74 20 53 51 4c 5f 44 42 4d 53 5f 56 45 52 nst SQL_DBMS_VER
0970: 3d 31 38 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f =18;..const SQL_
0980: 44 45 43 49 4d 41 4c 3d 33 3b 0d 0a 63 6f 6e 73 DECIMAL=3;..cons
0990: 74 20 53 51 4c 5f 44 45 46 41 55 4c 54 5f 54 58 t SQL_DEFAULT_TX
09a0: 4e 5f 49 53 4f 4c 41 54 49 4f 4e 3d 32 36 3b 0d N_ISOLATION=26;.
09b0: 0a 63 6f 6e 73 74 20 53 51 4c 5f 44 4f 55 42 4c .const SQL_DOUBL
09c0: 45 3d 38 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f E=8;..const SQL_
09d0: 44 52 4f 50 3d 31 3b 0d 0a 63 6f 6e 73 74 20 53 DROP=1;..const S
09e0: 51 4c 5f 45 52 52 4f 52 3d 2d 31 3b 0d 0a 0d 0a QL_ERROR=-1;....
09f0: 63 6f 6e 73 74 20 53 51 4c 5f 46 44 5f 46 45 54 const SQL_FD_FET
0a00: 43 48 5f 4e 45 58 54 3d 31 3b 0d 0a 63 6f 6e 73 CH_NEXT=1;..cons
0a10: 74 20 53 51 4c 5f 46 44 5f 46 45 54 43 48 5f 46 t SQL_FD_FETCH_F
0a20: 49 52 53 54 3d 32 3b 0d 0a 63 6f 6e 73 74 20 53 IRST=2;..const S
0a30: 51 4c 5f 46 44 5f 46 45 54 43 48 5f 4c 41 53 54 QL_FD_FETCH_LAST
0a40: 3d 34 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 46 =4;..const SQL_F
0a50: 44 5f 46 45 54 43 48 5f 50 52 49 4f 52 3d 38 3b D_FETCH_PRIOR=8;
0a60: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 46 44 5f 46 ..const SQL_FD_F
0a70: 45 54 43 48 5f 41 42 53 4f 4c 55 54 45 3d 31 36 ETCH_ABSOLUTE=16
0a80: 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 46 44 5f ;..const SQL_FD_
0a90: 46 45 54 43 48 5f 52 45 4c 41 54 49 56 45 3d 33 FETCH_RELATIVE=3
0aa0: 32 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 2;....const SQL_
0ab0: 46 45 54 43 48 5f 41 42 53 4f 4c 55 54 45 3d 35 FETCH_ABSOLUTE=5
0ac0: 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 46 45 54 ;..const SQL_FET
0ad0: 43 48 5f 44 49 52 45 43 54 49 4f 4e 3d 38 3b 0d CH_DIRECTION=8;.
0ae0: 0a 63 6f 6e 73 74 20 53 51 4c 5f 46 45 54 43 48 .const SQL_FETCH
0af0: 5f 46 49 52 53 54 3d 32 3b 0d 0a 63 6f 6e 73 74 _FIRST=2;..const
0b00: 20 53 51 4c 5f 46 45 54 43 48 5f 4c 41 53 54 3d SQL_FETCH_LAST=
0b10: 33 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 46 45 3;..const SQL_FE
0b20: 54 43 48 5f 4e 45 58 54 3d 31 3b 0d 0a 63 6f 6e TCH_NEXT=1;..con
0b30: 73 74 20 53 51 4c 5f 46 45 54 43 48 5f 50 52 49 st SQL_FETCH_PRI
0b40: 4f 52 3d 34 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c OR=4;..const SQL
0b50: 5f 46 45 54 43 48 5f 52 45 4c 41 54 49 56 45 3d _FETCH_RELATIVE=
0b60: 36 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 46 4c 6;..const SQL_FL
0b70: 4f 41 54 3d 36 3b 0d 0a 63 6f 6e 73 74 20 53 51 OAT=6;..const SQ
0b80: 4c 5f 47 44 5f 41 4e 59 5f 43 4f 4c 55 4d 4e 3d L_GD_ANY_COLUMN=
0b90: 31 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 47 44 1;..const SQL_GD
0ba0: 5f 41 4e 59 5f 4f 52 44 45 52 3d 32 3b 0d 0a 63 _ANY_ORDER=2;..c
0bb0: 6f 6e 73 74 20 53 51 4c 5f 47 45 54 44 41 54 41 onst SQL_GETDATA
0bc0: 5f 45 58 54 45 4e 53 49 4f 4e 53 3d 38 31 3b 0d _EXTENSIONS=81;.
0bd0: 0a 63 6f 6e 73 74 20 53 51 4c 5f 49 43 5f 4c 4f .const SQL_IC_LO
0be0: 57 45 52 3d 32 3b 0d 0a 63 6f 6e 73 74 20 53 51 WER=2;..const SQ
0bf0: 4c 5f 49 43 5f 4d 49 58 45 44 3d 34 3b 0d 0a 63 L_IC_MIXED=4;..c
0c00: 6f 6e 73 74 20 53 51 4c 5f 49 43 5f 53 45 4e 53 onst SQL_IC_SENS
0c10: 49 54 49 56 45 3d 33 3b 0d 0a 63 6f 6e 73 74 20 ITIVE=3;..const
0c20: 53 51 4c 5f 49 43 5f 55 50 50 45 52 3d 31 3b 0d SQL_IC_UPPER=1;.
0c30: 0a 63 6f 6e 73 74 20 53 51 4c 5f 49 44 45 4e 54 .const SQL_IDENT
0c40: 49 46 49 45 52 5f 43 41 53 45 3d 32 38 3b 0d 0a IFIER_CASE=28;..
0c50: 63 6f 6e 73 74 20 53 51 4c 5f 49 44 45 4e 54 49 const SQL_IDENTI
0c60: 46 49 45 52 5f 51 55 4f 54 45 5f 43 48 41 52 3d FIER_QUOTE_CHAR=
0c70: 32 39 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 53 51 4c 29;....const SQL
0c80: 5f 49 4e 44 45 58 5f 41 4c 4c 3d 31 3b 0d 0a 63 _INDEX_ALL=1;..c
0c90: 6f 6e 73 74 20 53 51 4c 5f 49 4e 44 45 58 5f 43 onst SQL_INDEX_C
0ca0: 4c 55 53 54 45 52 45 44 3d 31 3b 0d 0a 63 6f 6e LUSTERED=1;..con
0cb0: 73 74 20 53 51 4c 5f 49 4e 44 45 58 5f 48 41 53 st SQL_INDEX_HAS
0cc0: 48 45 44 3d 32 3b 0d 0a 63 6f 6e 73 74 20 53 51 HED=2;..const SQ
0cd0: 4c 5f 49 4e 44 45 58 5f 4f 54 48 45 52 3d 33 3b L_INDEX_OTHER=3;
0ce0: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 49 4e 44 45 ..const SQL_INDE
0cf0: 58 5f 55 4e 49 51 55 45 3d 30 3b 0d 0a 0d 0a 63 X_UNIQUE=0;....c
0d00: 6f 6e 73 74 20 53 51 4c 5f 49 4e 54 45 47 45 52 onst SQL_INTEGER
0d10: 3d 34 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 49 =4;..const SQL_I
0d20: 4e 54 45 47 52 49 54 59 3d 37 33 3b 0d 0a 63 6f NTEGRITY=73;..co
0d30: 6e 73 74 20 53 51 4c 5f 49 4e 56 41 4c 49 44 5f nst SQL_INVALID_
0d40: 48 41 4e 44 4c 45 3d 2d 32 3b 0d 0a 0d 0a 63 6f HANDLE=-2;....co
0d50: 6e 73 74 20 53 51 4c 5f 4d 41 58 5f 43 41 54 41 nst SQL_MAX_CATA
0d60: 4c 4f 47 5f 4e 41 4d 45 5f 4c 45 4e 3d 33 34 3b LOG_NAME_LEN=34;
0d70: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 5f ..const SQL_MAX_
0d80: 43 4f 4c 55 4d 4e 5f 4e 41 4d 45 5f 4c 45 4e 3d COLUMN_NAME_LEN=
0d90: 33 30 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 30;..const SQL_M
0da0: 41 58 5f 43 4f 4c 55 4d 4e 53 5f 49 4e 5f 47 52 AX_COLUMNS_IN_GR
0db0: 4f 55 50 5f 42 59 3d 39 37 3b 0d 0a 63 6f 6e 73 OUP_BY=97;..cons
0dc0: 74 20 53 51 4c 5f 4d 41 58 5f 43 4f 4c 55 4d 4e t SQL_MAX_COLUMN
0dd0: 53 5f 49 4e 5f 49 4e 44 45 58 3d 39 38 3b 0d 0a S_IN_INDEX=98;..
0de0: 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 5f 43 4f const SQL_MAX_CO
0df0: 4c 55 4d 4e 53 5f 49 4e 5f 4f 52 44 45 52 5f 42 LUMNS_IN_ORDER_B
0e00: 59 3d 39 39 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c Y=99;..const SQL
0e10: 5f 4d 41 58 5f 43 4f 4c 55 4d 4e 53 5f 49 4e 5f _MAX_COLUMNS_IN_
0e20: 53 45 4c 45 43 54 3d 31 30 30 3b 0d 0a 63 6f 6e SELECT=100;..con
0e30: 73 74 20 53 51 4c 5f 4d 41 58 5f 43 4f 4c 55 4d st SQL_MAX_COLUM
0e40: 4e 53 5f 49 4e 5f 54 41 42 4c 45 3d 31 30 31 3b NS_IN_TABLE=101;
0e50: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 5f ..const SQL_MAX_
0e60: 43 55 52 53 4f 52 5f 4e 41 4d 45 5f 4c 45 4e 3d CURSOR_NAME_LEN=
0e70: 33 31 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 31;..const SQL_M
0e80: 41 58 5f 49 4e 44 45 58 5f 53 49 5a 45 3d 31 30 AX_INDEX_SIZE=10
0e90: 32 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 2;..const SQL_MA
0ea0: 58 5f 4d 45 53 53 41 47 45 5f 4c 45 4e 47 54 48 X_MESSAGE_LENGTH
0eb0: 3d 35 31 32 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c =512;..const SQL
0ec0: 5f 4d 41 58 5f 52 4f 57 5f 53 49 5a 45 3d 31 30 _MAX_ROW_SIZE=10
0ed0: 34 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 4;..const SQL_MA
0ee0: 58 5f 53 43 48 45 4d 41 5f 4e 41 4d 45 5f 4c 45 X_SCHEMA_NAME_LE
0ef0: 4e 3d 33 32 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c N=32;..const SQL
0f00: 5f 4d 41 58 5f 53 54 41 54 45 4d 45 4e 54 5f 4c _MAX_STATEMENT_L
0f10: 45 4e 3d 31 30 35 3b 0d 0a 63 6f 6e 73 74 20 53 EN=105;..const S
0f20: 51 4c 5f 4d 41 58 5f 54 41 42 4c 45 5f 4e 41 4d QL_MAX_TABLE_NAM
0f30: 45 5f 4c 45 4e 3d 33 35 3b 0d 0a 63 6f 6e 73 74 E_LEN=35;..const
0f40: 20 53 51 4c 5f 4d 41 58 5f 54 41 42 4c 45 53 5f SQL_MAX_TABLES_
0f50: 49 4e 5f 53 45 4c 45 43 54 3d 31 30 36 3b 0d 0a IN_SELECT=106;..
0f60: 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 5f 55 53 const SQL_MAX_US
0f70: 45 52 5f 4e 41 4d 45 5f 4c 45 4e 3d 31 30 37 3b ER_NAME_LEN=107;
0f80: 0d 0a 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 ....const SQL_MA
0f90: 58 49 4d 55 4d 5f 43 41 54 41 4c 4f 47 5f 4e 41 XIMUM_CATALOG_NA
0fa0: 4d 45 5f 4c 45 4e 47 54 48 3d 53 51 4c 5f 4d 41 ME_LENGTH=SQL_MA
0fb0: 58 5f 43 41 54 41 4c 4f 47 5f 4e 41 4d 45 5f 4c X_CATALOG_NAME_L
0fc0: 45 4e 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d EN;..const SQL_M
0fd0: 41 58 49 4d 55 4d 5f 43 4f 4c 55 4d 4e 5f 4e 41 AXIMUM_COLUMN_NA
0fe0: 4d 45 5f 4c 45 4e 47 54 48 3d 53 51 4c 5f 4d 41 ME_LENGTH=SQL_MA
0ff0: 58 5f 43 4f 4c 55 4d 4e 5f 4e 41 4d 45 5f 4c 45 X_COLUMN_NAME_LE
1000: 4e 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 N;..const SQL_MA
1010: 58 49 4d 55 4d 5f 43 4f 4c 55 4d 4e 53 5f 49 4e XIMUM_COLUMNS_IN
1020: 5f 47 52 4f 55 50 5f 42 59 3d 53 51 4c 5f 4d 41 _GROUP_BY=SQL_MA
1030: 58 5f 43 4f 4c 55 4d 4e 53 5f 49 4e 5f 47 52 4f X_COLUMNS_IN_GRO
1040: 55 50 5f 42 59 3b 0d 0a 63 6f 6e 73 74 20 53 51 UP_BY;..const SQ
1050: 4c 5f 4d 41 58 49 4d 55 4d 5f 43 4f 4c 55 4d 4e L_MAXIMUM_COLUMN
1060: 53 5f 49 4e 5f 49 4e 44 45 58 3d 53 51 4c 5f 4d S_IN_INDEX=SQL_M
1070: 41 58 5f 43 4f 4c 55 4d 4e 53 5f 49 4e 5f 49 4e AX_COLUMNS_IN_IN
1080: 44 45 58 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f DEX;..const SQL_
1090: 4d 41 58 49 4d 55 4d 5f 43 4f 4c 55 4d 4e 53 5f MAXIMUM_COLUMNS_
10a0: 49 4e 5f 4f 52 44 45 52 5f 42 59 3d 53 51 4c 5f IN_ORDER_BY=SQL_
10b0: 4d 41 58 5f 43 4f 4c 55 4d 4e 53 5f 49 4e 5f 4f MAX_COLUMNS_IN_O
10c0: 52 44 45 52 5f 42 59 3b 0d 0a 63 6f 6e 73 74 20 RDER_BY;..const
10d0: 53 51 4c 5f 4d 41 58 49 4d 55 4d 5f 43 4f 4c 55 SQL_MAXIMUM_COLU
10e0: 4d 4e 53 5f 49 4e 5f 53 45 4c 45 43 54 3d 53 51 MNS_IN_SELECT=SQ
10f0: 4c 5f 4d 41 58 5f 43 4f 4c 55 4d 4e 53 5f 49 4e L_MAX_COLUMNS_IN
1100: 5f 53 45 4c 45 43 54 3b 0d 0a 63 6f 6e 73 74 20 _SELECT;..const
1110: 53 51 4c 5f 4d 41 58 49 4d 55 4d 5f 43 55 52 53 SQL_MAXIMUM_CURS
1120: 4f 52 5f 4e 41 4d 45 5f 4c 45 4e 47 54 48 3d 53 OR_NAME_LENGTH=S
1130: 51 4c 5f 4d 41 58 5f 43 55 52 53 4f 52 5f 4e 41 QL_MAX_CURSOR_NA
1140: 4d 45 5f 4c 45 4e 3b 0d 0a 63 6f 6e 73 74 20 53 ME_LEN;..const S
1150: 51 4c 5f 4d 41 58 49 4d 55 4d 5f 49 4e 44 45 58 QL_MAXIMUM_INDEX
1160: 5f 53 49 5a 45 3d 53 51 4c 5f 4d 41 58 5f 49 4e _SIZE=SQL_MAX_IN
1170: 44 45 58 5f 53 49 5a 45 3b 0d 0a 63 6f 6e 73 74 DEX_SIZE;..const
1180: 20 53 51 4c 5f 4d 41 58 49 4d 55 4d 5f 52 4f 57 SQL_MAXIMUM_ROW
1190: 5f 53 49 5a 45 3d 53 51 4c 5f 4d 41 58 5f 52 4f _SIZE=SQL_MAX_RO
11a0: 57 5f 53 49 5a 45 3b 0d 0a 63 6f 6e 73 74 20 53 W_SIZE;..const S
11b0: 51 4c 5f 4d 41 58 49 4d 55 4d 5f 53 43 48 45 4d QL_MAXIMUM_SCHEM
11c0: 41 5f 4e 41 4d 45 5f 4c 45 4e 47 54 48 3d 53 51 A_NAME_LENGTH=SQ
11d0: 4c 5f 4d 41 58 5f 53 43 48 45 4d 41 5f 4e 41 4d L_MAX_SCHEMA_NAM
11e0: 45 5f 4c 45 4e 3b 0d 0a 63 6f 6e 73 74 20 53 51 E_LEN;..const SQ
11f0: 4c 5f 4d 41 58 49 4d 55 4d 5f 53 54 41 54 45 4d L_MAXIMUM_STATEM
1200: 45 4e 54 5f 4c 45 4e 47 54 48 3d 53 51 4c 5f 4d ENT_LENGTH=SQL_M
1210: 41 58 5f 53 54 41 54 45 4d 45 4e 54 5f 4c 45 4e AX_STATEMENT_LEN
1220: 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 ;..const SQL_MAX
1230: 49 4d 55 4d 5f 54 41 42 4c 45 53 5f 49 4e 5f 53 IMUM_TABLES_IN_S
1240: 45 4c 45 43 54 3d 53 51 4c 5f 4d 41 58 5f 54 41 ELECT=SQL_MAX_TA
1250: 42 4c 45 53 5f 49 4e 5f 53 45 4c 45 43 54 3b 0d BLES_IN_SELECT;.
1260: 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 49 4d .const SQL_MAXIM
1270: 55 4d 5f 55 53 45 52 5f 4e 41 4d 45 5f 4c 45 4e UM_USER_NAME_LEN
1280: 47 54 48 3d 53 51 4c 5f 4d 41 58 5f 55 53 45 52 GTH=SQL_MAX_USER
1290: 5f 4e 41 4d 45 5f 4c 45 4e 3b 0d 0a 0d 0a 63 6f _NAME_LEN;....co
12a0: 6e 73 74 20 53 51 4c 5f 4e 43 5f 48 49 47 48 3d nst SQL_NC_HIGH=
12b0: 30 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4e 43 0;..const SQL_NC
12c0: 5f 4c 4f 57 3d 31 3b 0d 0a 63 6f 6e 73 74 20 53 _LOW=1;..const S
12d0: 51 4c 5f 4e 45 45 44 5f 44 41 54 41 3d 39 39 3b QL_NEED_DATA=99;
12e0: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4e 4f 5f 4e ..const SQL_NO_N
12f0: 55 4c 4c 53 3d 30 3b 0d 0a 63 6f 6e 73 74 20 53 ULLS=0;..const S
1300: 51 4c 5f 4e 54 53 3d 2d 33 3b 0d 0a 63 6f 6e 73 QL_NTS=-3;..cons
1310: 74 20 4c 4f 4e 47 20 53 51 4c 5f 4e 54 53 4c 3d t LONG SQL_NTSL=
1320: 2d 33 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4e -3;..const SQL_N
1330: 55 4c 4c 5f 43 4f 4c 4c 41 54 49 4f 4e 3d 38 35 ULL_COLLATION=85
1340: 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4e 55 4c ;..const SQL_NUL
1350: 4c 5f 44 41 54 41 3d 2d 31 3b 0d 0a 63 6f 6e 73 L_DATA=-1;..cons
1360: 74 20 53 51 4c 5f 4e 55 4c 4c 5f 48 44 42 43 3d t SQL_NULL_HDBC=
1370: 30 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4e 55 0;..const SQL_NU
1380: 4c 4c 5f 48 45 4e 56 3d 30 3b 0d 0a 63 6f 6e 73 LL_HENV=0;..cons
1390: 74 20 53 51 4c 5f 4e 55 4c 4c 5f 48 53 54 4d 54 t SQL_NULL_HSTMT
13a0: 3d 30 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 4e =0;..const SQL_N
13b0: 55 4c 4c 41 42 4c 45 3d 31 3b 0d 0a 63 6f 6e 73 ULLABLE=1;..cons
13c0: 74 20 53 51 4c 5f 4e 55 4c 4c 41 42 4c 45 5f 55 t SQL_NULLABLE_U
13d0: 4e 4b 4e 4f 57 4e 3d 32 3b 0d 0a 63 6f 6e 73 74 NKNOWN=2;..const
13e0: 20 53 51 4c 5f 4e 55 4d 45 52 49 43 3d 32 3b 0d SQL_NUMERIC=2;.
13f0: 0a 63 6f 6e 73 74 20 53 51 4c 5f 4f 52 44 45 52 .const SQL_ORDER
1400: 5f 42 59 5f 43 4f 4c 55 4d 4e 53 5f 49 4e 5f 53 _BY_COLUMNS_IN_S
1410: 45 4c 45 43 54 3d 39 30 3b 0d 0a 63 6f 6e 73 74 ELECT=90;..const
1420: 20 53 51 4c 5f 50 43 5f 50 53 45 55 44 4f 3d 32 SQL_PC_PSEUDO=2
1430: 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 50 43 5f ;..const SQL_PC_
1440: 55 4e 4b 4e 4f 57 4e 3d 30 3b 0d 0a 63 6f 6e 73 UNKNOWN=0;..cons
1450: 74 20 53 51 4c 5f 52 45 41 4c 3d 37 3b 0d 0a 63 t SQL_REAL=7;..c
1460: 6f 6e 73 74 20 53 51 4c 5f 52 45 53 45 54 5f 50 onst SQL_RESET_P
1470: 41 52 41 4d 53 3d 33 3b 0d 0a 63 6f 6e 73 74 20 ARAMS=3;..const
1480: 53 51 4c 5f 52 4f 4c 4c 42 41 43 4b 3d 31 3b 0d SQL_ROLLBACK=1;.
1490: 0a 63 6f 6e 73 74 20 53 51 4c 5f 53 43 43 4f 5f .const SQL_SCCO_
14a0: 4c 4f 43 4b 3d 32 3b 0d 0a 63 6f 6e 73 74 20 53 LOCK=2;..const S
14b0: 51 4c 5f 53 43 43 4f 5f 4f 50 54 5f 52 4f 57 56 QL_SCCO_OPT_ROWV
14c0: 45 52 3d 34 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c ER=4;..const SQL
14d0: 5f 53 43 43 4f 5f 4f 50 54 5f 56 41 4c 55 45 53 _SCCO_OPT_VALUES
14e0: 3d 38 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 53 =8;..const SQL_S
14f0: 43 43 4f 5f 52 45 41 44 5f 4f 4e 4c 59 3d 31 3b CCO_READ_ONLY=1;
1500: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 53 43 4f 50 ..const SQL_SCOP
1510: 45 5f 43 55 52 52 4f 57 3d 30 3b 0d 0a 63 6f 6e E_CURROW=0;..con
1520: 73 74 20 53 51 4c 5f 53 43 4f 50 45 5f 53 45 53 st SQL_SCOPE_SES
1530: 53 49 4f 4e 3d 32 3b 0d 0a 63 6f 6e 73 74 20 53 SION=2;..const S
1540: 51 4c 5f 53 43 4f 50 45 5f 54 52 41 4e 53 41 43 QL_SCOPE_TRANSAC
1550: 54 49 4f 4e 3d 31 3b 0d 0a 63 6f 6e 73 74 20 53 TION=1;..const S
1560: 51 4c 5f 53 43 52 4f 4c 4c 5f 43 4f 4e 43 55 52 QL_SCROLL_CONCUR
1570: 52 45 4e 43 59 3d 34 33 3b 0d 0a 63 6f 6e 73 74 RENCY=43;..const
1580: 20 53 51 4c 5f 53 45 41 52 43 48 5f 50 41 54 54 SQL_SEARCH_PATT
1590: 45 52 4e 5f 45 53 43 41 50 45 3d 31 34 3b 0d 0a ERN_ESCAPE=14;..
15a0: 63 6f 6e 73 74 20 53 51 4c 5f 53 45 52 56 45 52 const SQL_SERVER
15b0: 5f 4e 41 4d 45 3d 31 33 3b 0d 0a 63 6f 6e 73 74 _NAME=13;..const
15c0: 20 53 51 4c 5f 53 4d 41 4c 4c 49 4e 54 3d 35 3b SQL_SMALLINT=5;
15d0: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 53 50 45 43 ..const SQL_SPEC
15e0: 49 41 4c 5f 43 48 41 52 41 43 54 45 52 53 3d 39 IAL_CHARACTERS=9
15f0: 34 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 53 54 4;..const SQL_ST
1600: 49 4c 4c 5f 45 58 45 43 55 54 49 4e 47 3d 32 3b ILL_EXECUTING=2;
1610: 0d 0a 2f 2f 4d 41 43 52 4f 20 23 64 65 66 69 6e ..//MACRO #defin
1620: 65 20 53 51 4c 5f 53 55 43 43 45 45 44 45 44 28 e SQL_SUCCEEDED(
1630: 72 63 29 20 28 28 28 72 63 29 26 28 7e 31 29 29 rc) (((rc)&(~1))
1640: 3d 3d 30 29 0d 0a 0d 0a 63 6f 6e 73 74 20 53 51 ==0)....const SQ
1650: 4c 5f 53 55 43 43 45 53 53 3d 30 3b 0d 0a 63 6f L_SUCCESS=0;..co
1660: 6e 73 74 20 53 51 4c 5f 53 55 43 43 45 53 53 5f nst SQL_SUCCESS_
1670: 57 49 54 48 5f 49 4e 46 4f 3d 31 3b 0d 0a 0d 0a WITH_INFO=1;....
1680: 63 6f 6e 73 74 20 53 51 4c 5f 54 43 5f 41 4c 4c const SQL_TC_ALL
1690: 3d 32 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 54 =2;..const SQL_T
16a0: 43 5f 44 44 4c 5f 43 4f 4d 4d 49 54 3d 33 3b 0d C_DDL_COMMIT=3;.
16b0: 0a 63 6f 6e 73 74 20 53 51 4c 5f 54 43 5f 44 44 .const SQL_TC_DD
16c0: 4c 5f 49 47 4e 4f 52 45 3d 34 3b 0d 0a 63 6f 6e L_IGNORE=4;..con
16d0: 73 74 20 53 51 4c 5f 54 43 5f 44 4d 4c 3d 31 3b st SQL_TC_DML=1;
16e0: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 54 43 5f 4e ..const SQL_TC_N
16f0: 4f 4e 45 3d 30 3b 0d 0a 0d 0a 0d 0a 63 6f 6e 73 ONE=0;......cons
1700: 74 20 53 51 4c 5f 54 58 4e 5f 43 41 50 41 42 4c t SQL_TXN_CAPABL
1710: 45 3d 34 36 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c E=46;..const SQL
1720: 5f 54 58 4e 5f 49 53 4f 4c 41 54 49 4f 4e 5f 4f _TXN_ISOLATION_O
1730: 50 54 49 4f 4e 3d 37 32 3b 0d 0a 63 6f 6e 73 74 PTION=72;..const
1740: 20 53 51 4c 5f 54 58 4e 5f 52 45 41 44 5f 43 4f SQL_TXN_READ_CO
1750: 4d 4d 49 54 54 45 44 3d 32 3b 0d 0a 63 6f 6e 73 MMITTED=2;..cons
1760: 74 20 53 51 4c 5f 54 58 4e 5f 52 45 41 44 5f 55 t SQL_TXN_READ_U
1770: 4e 43 4f 4d 4d 49 54 54 45 44 3d 31 3b 0d 0a 63 NCOMMITTED=1;..c
1780: 6f 6e 73 74 20 53 51 4c 5f 54 58 4e 5f 52 45 50 onst SQL_TXN_REP
1790: 45 41 54 41 42 4c 45 5f 52 45 41 44 3d 34 3b 0d EATABLE_READ=4;.
17a0: 0a 63 6f 6e 73 74 20 53 51 4c 5f 54 58 4e 5f 53 .const SQL_TXN_S
17b0: 45 52 49 41 4c 49 5a 41 42 4c 45 3d 38 3b 0d 0a ERIALIZABLE=8;..
17c0: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 54 52 41 4e ..const SQL_TRAN
17d0: 53 41 43 54 49 4f 4e 5f 43 41 50 41 42 4c 45 3d SACTION_CAPABLE=
17e0: 53 51 4c 5f 54 58 4e 5f 43 41 50 41 42 4c 45 3b SQL_TXN_CAPABLE;
17f0: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 54 52 41 4e ..const SQL_TRAN
1800: 53 41 43 54 49 4f 4e 5f 49 53 4f 4c 41 54 49 4f SACTION_ISOLATIO
1810: 4e 5f 4f 50 54 49 4f 4e 3d 53 51 4c 5f 54 58 4e N_OPTION=SQL_TXN
1820: 5f 49 53 4f 4c 41 54 49 4f 4e 5f 4f 50 54 49 4f _ISOLATION_OPTIO
1830: 4e 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 54 52 N;..const SQL_TR
1840: 41 4e 53 41 43 54 49 4f 4e 5f 52 45 41 44 5f 43 ANSACTION_READ_C
1850: 4f 4d 4d 49 54 54 45 44 3d 53 51 4c 5f 54 58 4e OMMITTED=SQL_TXN
1860: 5f 52 45 41 44 5f 43 4f 4d 4d 49 54 54 45 44 3b _READ_COMMITTED;
1870: 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 54 52 41 4e ..const SQL_TRAN
1880: 53 41 43 54 49 4f 4e 5f 52 45 41 44 5f 55 4e 43 SACTION_READ_UNC
1890: 4f 4d 4d 49 54 54 45 44 3d 53 51 4c 5f 54 58 4e OMMITTED=SQL_TXN
18a0: 5f 52 45 41 44 5f 55 4e 43 4f 4d 4d 49 54 54 45 _READ_UNCOMMITTE
18b0: 44 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 54 52 D;..const SQL_TR
18c0: 41 4e 53 41 43 54 49 4f 4e 5f 52 45 50 45 41 54 ANSACTION_REPEAT
18d0: 41 42 4c 45 5f 52 45 41 44 3d 53 51 4c 5f 54 58 ABLE_READ=SQL_TX
18e0: 4e 5f 52 45 50 45 41 54 41 42 4c 45 5f 52 45 41 N_REPEATABLE_REA
18f0: 44 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 54 52 D;..const SQL_TR
1900: 41 4e 53 41 43 54 49 4f 4e 5f 53 45 52 49 41 4c ANSACTION_SERIAL
1910: 49 5a 41 42 4c 45 3d 53 51 4c 5f 54 58 4e 5f 53 IZABLE=SQL_TXN_S
1920: 45 52 49 41 4c 49 5a 41 42 4c 45 3b 0d 0a 0d 0a ERIALIZABLE;....
1930: 63 6f 6e 73 74 20 53 51 4c 5f 55 4e 42 49 4e 44 const SQL_UNBIND
1940: 3d 32 3b 0d 0a 63 6f 6e 73 74 20 53 51 4c 5f 55 =2;..const SQL_U
1950: 4e 4b 4e 4f 57 4e 5f 54 59 50 45 3d 30 3b 0d 0a NKNOWN_TYPE=0;..
1960: 63 6f 6e 73 74 20 53 51 4c 5f 55 53 45 52 5f 4e const SQL_USER_N
1970: 41 4d 45 3d 34 37 3b 0d 0a 63 6f 6e 73 74 20 53 AME=47;..const S
1980: 51 4c 5f 56 41 52 43 48 41 52 3d 31 32 3b 0d 0a QL_VARCHAR=12;..
1990: 0d 0a 73 74 61 74 69 63 20 69 66 20 28 4f 44 42 ..static if (ODB
19a0: 43 56 45 52 20 3e 3d 20 30 78 30 32 30 30 29 20 CVER >= 0x0200)
19b0: 7b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 54 {...const SQL_AT
19c0: 5f 41 44 44 5f 43 4f 4c 55 4d 4e 20 20 3d 20 31 _ADD_COLUMN = 1
19d0: 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 54 ;...const SQL_AT
19e0: 5f 44 52 4f 50 5f 43 4f 4c 55 4d 4e 20 3d 20 32 _DROP_COLUMN = 2
19f0: 3b 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 ;..}....static i
1a00: 66 20 28 4f 44 42 43 56 45 52 20 3e 3d 20 30 78 f (ODBCVER >= 0x
1a10: 30 32 30 31 29 20 7b 0d 0a 09 63 6f 6e 73 74 20 0201) {...const
1a20: 53 51 4c 5f 4f 4a 5f 4c 45 46 54 20 20 20 20 20 SQL_OJ_LEFT
1a30: 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 3b 0d = 1;.
1a40: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 4f 4a 5f 52 ..const SQL_OJ_R
1a50: 49 47 48 54 20 20 20 20 20 20 20 20 20 20 20 20 IGHT
1a60: 20 20 3d 20 20 32 3b 0d 0a 09 63 6f 6e 73 74 20 = 2;...const
1a70: 53 51 4c 5f 4f 4a 5f 46 55 4c 4c 20 20 20 20 20 SQL_OJ_FULL
1a80: 20 20 20 20 20 20 20 20 20 20 3d 20 20 34 3b 0d = 4;.
1a90: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 4f 4a 5f 4e ..const SQL_OJ_N
1aa0: 45 53 54 45 44 20 20 20 20 20 20 20 20 20 20 20 ESTED
1ab0: 20 20 3d 20 20 38 3b 0d 0a 09 63 6f 6e 73 74 20 = 8;...const
1ac0: 53 51 4c 5f 4f 4a 5f 4e 4f 54 5f 4f 52 44 45 52 SQL_OJ_NOT_ORDER
1ad0: 45 44 20 20 20 20 20 20 20 20 3d 20 31 36 3b 0d ED = 16;.
1ae0: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 4f 4a 5f 49 ..const SQL_OJ_I
1af0: 4e 4e 45 52 20 20 20 20 20 20 20 20 20 20 20 20 NNER
1b00: 20 20 3d 20 33 32 3b 0d 0a 09 63 6f 6e 73 74 20 = 32;...const
1b10: 53 51 4c 5f 4f 4a 5f 41 4c 4c 5f 43 4f 4d 50 41 SQL_OJ_ALL_COMPA
1b20: 52 49 53 4f 4e 5f 4f 50 53 20 3d 20 36 34 3b 0d RISON_OPS = 64;.
1b30: 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 .}....static if
1b40: 28 4f 44 42 43 56 45 52 20 3e 3d 20 30 78 30 33 (ODBCVER >= 0x03
1b50: 30 30 29 20 7b 0d 0a 09 63 6f 6e 73 74 20 53 51 00) {...const SQ
1b60: 4c 5f 41 4d 5f 43 4f 4e 4e 45 43 54 49 4f 4e 3d L_AM_CONNECTION=
1b70: 31 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 1;...const SQL_A
1b80: 4d 5f 4e 4f 4e 45 3d 30 3b 0d 0a 09 63 6f 6e 73 M_NONE=0;...cons
1b90: 74 20 53 51 4c 5f 41 4d 5f 53 54 41 54 45 4d 45 t SQL_AM_STATEME
1ba0: 4e 54 3d 32 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 NT=2;...const SQ
1bb0: 4c 5f 41 50 49 5f 53 51 4c 41 4c 4c 4f 43 48 41 L_API_SQLALLOCHA
1bc0: 4e 44 4c 45 3d 31 30 30 31 3b 0d 0a 09 63 6f 6e NDLE=1001;...con
1bd0: 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 42 49 st SQL_API_SQLBI
1be0: 4e 44 50 41 52 41 4d 3d 31 30 30 32 3b 0d 0a 09 NDPARAM=1002;...
1bf0: 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 const SQL_API_SQ
1c00: 4c 43 4c 4f 53 45 43 55 52 53 4f 52 3d 31 30 30 LCLOSECURSOR=100
1c10: 33 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 3;...const SQL_A
1c20: 50 49 5f 53 51 4c 43 4f 4c 41 54 54 52 49 42 55 PI_SQLCOLATTRIBU
1c30: 54 45 3d 36 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 TE=6;...const SQ
1c40: 4c 5f 41 50 49 5f 53 51 4c 43 4f 50 59 44 45 53 L_API_SQLCOPYDES
1c50: 43 3d 31 30 30 34 3b 0d 0a 09 63 6f 6e 73 74 20 C=1004;...const
1c60: 53 51 4c 5f 41 50 49 5f 53 51 4c 45 4e 44 54 52 SQL_API_SQLENDTR
1c70: 41 4e 3d 31 30 30 35 3b 0d 0a 09 63 6f 6e 73 74 AN=1005;...const
1c80: 20 53 51 4c 5f 41 50 49 5f 53 51 4c 46 45 54 43 SQL_API_SQLFETC
1c90: 48 53 43 52 4f 4c 4c 3d 31 30 32 31 3b 0d 0a 09 HSCROLL=1021;...
1ca0: 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 const SQL_API_SQ
1cb0: 4c 46 52 45 45 48 41 4e 44 4c 45 3d 31 30 30 36 LFREEHANDLE=1006
1cc0: 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 50 ;...const SQL_AP
1cd0: 49 5f 53 51 4c 47 45 54 43 4f 4e 4e 45 43 54 41 I_SQLGETCONNECTA
1ce0: 54 54 52 3d 31 30 30 37 3b 0d 0a 09 63 6f 6e 73 TTR=1007;...cons
1cf0: 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 47 45 54 t SQL_API_SQLGET
1d00: 44 45 53 43 46 49 45 4c 44 3d 31 30 30 38 3b 0d DESCFIELD=1008;.
1d10: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f ..const SQL_API_
1d20: 53 51 4c 47 45 54 44 45 53 43 52 45 43 3d 31 30 SQLGETDESCREC=10
1d30: 30 39 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 09;...const SQL_
1d40: 41 50 49 5f 53 51 4c 47 45 54 44 49 41 47 46 49 API_SQLGETDIAGFI
1d50: 45 4c 44 3d 31 30 31 30 3b 0d 0a 09 63 6f 6e 73 ELD=1010;...cons
1d60: 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 47 45 54 t SQL_API_SQLGET
1d70: 44 49 41 47 52 45 43 3d 31 30 31 31 3b 0d 0a 09 DIAGREC=1011;...
1d80: 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 const SQL_API_SQ
1d90: 4c 47 45 54 45 4e 56 41 54 54 52 3d 31 30 31 32 LGETENVATTR=1012
1da0: 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 50 ;...const SQL_AP
1db0: 49 5f 53 51 4c 47 45 54 53 54 4d 54 41 54 54 52 I_SQLGETSTMTATTR
1dc0: 3d 31 30 31 34 3b 0d 0a 09 63 6f 6e 73 74 20 53 =1014;...const S
1dd0: 51 4c 5f 41 50 49 5f 53 51 4c 53 45 54 43 4f 4e QL_API_SQLSETCON
1de0: 4e 45 43 54 41 54 54 52 3d 31 30 31 36 3b 0d 0a NECTATTR=1016;..
1df0: 09 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 .const SQL_API_S
1e00: 51 4c 53 45 54 44 45 53 43 46 49 45 4c 44 3d 31 QLSETDESCFIELD=1
1e10: 30 31 37 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 017;...const SQL
1e20: 5f 41 50 49 5f 53 51 4c 53 45 54 44 45 53 43 52 _API_SQLSETDESCR
1e30: 45 43 3d 31 30 31 38 3b 0d 0a 09 63 6f 6e 73 74 EC=1018;...const
1e40: 20 53 51 4c 5f 41 50 49 5f 53 51 4c 53 45 54 45 SQL_API_SQLSETE
1e50: 4e 56 41 54 54 52 3d 31 30 31 39 3b 0d 0a 09 63 NVATTR=1019;...c
1e60: 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c onst SQL_API_SQL
1e70: 53 45 54 53 54 4d 54 41 54 54 52 3d 31 30 32 30 SETSTMTATTR=1020
1e80: 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 52 ;...const SQL_AR
1e90: 44 5f 54 59 50 45 3d 2d 39 39 3b 0d 0a 09 63 6f D_TYPE=-99;...co
1ea0: 6e 73 74 20 53 51 4c 5f 41 54 5f 41 44 44 5f 43 nst SQL_AT_ADD_C
1eb0: 4f 4e 53 54 52 41 49 4e 54 3d 38 3b 0d 0a 09 63 ONSTRAINT=8;...c
1ec0: 6f 6e 73 74 20 53 51 4c 5f 41 54 54 52 5f 41 50 onst SQL_ATTR_AP
1ed0: 50 5f 50 41 52 41 4d 5f 44 45 53 43 3d 31 30 30 P_PARAM_DESC=100
1ee0: 31 31 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 11;...const SQL_
1ef0: 41 54 54 52 5f 41 50 50 5f 52 4f 57 5f 44 45 53 ATTR_APP_ROW_DES
1f00: 43 3d 31 30 30 31 30 3b 0d 0a 09 63 6f 6e 73 74 C=10010;...const
1f10: 20 53 51 4c 5f 41 54 54 52 5f 41 55 54 4f 5f 49 SQL_ATTR_AUTO_I
1f20: 50 44 3d 31 30 30 30 31 3b 0d 0a 09 63 6f 6e 73 PD=10001;...cons
1f30: 74 20 53 51 4c 5f 41 54 54 52 5f 43 55 52 53 4f t SQL_ATTR_CURSO
1f40: 52 5f 53 43 52 4f 4c 4c 41 42 4c 45 3d 2d 31 3b R_SCROLLABLE=-1;
1f50: 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 54 54 ...const SQL_ATT
1f60: 52 5f 43 55 52 53 4f 52 5f 53 45 4e 53 49 54 49 R_CURSOR_SENSITI
1f70: 56 49 54 59 3d 2d 32 3b 0d 0a 09 63 6f 6e 73 74 VITY=-2;...const
1f80: 20 53 51 4c 5f 41 54 54 52 5f 49 4d 50 5f 50 41 SQL_ATTR_IMP_PA
1f90: 52 41 4d 5f 44 45 53 43 3d 31 30 30 31 33 3b 0d RAM_DESC=10013;.
1fa0: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 54 54 52 ..const SQL_ATTR
1fb0: 5f 49 4d 50 5f 52 4f 57 5f 44 45 53 43 3d 31 30 _IMP_ROW_DESC=10
1fc0: 30 31 32 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 012;...const SQL
1fd0: 5f 41 54 54 52 5f 4d 45 54 41 44 41 54 41 5f 49 _ATTR_METADATA_I
1fe0: 44 3d 31 30 30 31 34 3b 0d 0a 09 63 6f 6e 73 74 D=10014;...const
1ff0: 20 53 51 4c 5f 41 54 54 52 5f 4f 55 54 50 55 54 SQL_ATTR_OUTPUT
2000: 5f 4e 54 53 3d 31 30 30 30 31 3b 0d 0a 09 63 6f _NTS=10001;...co
2010: 6e 73 74 20 53 51 4c 5f 43 41 54 41 4c 4f 47 5f nst SQL_CATALOG_
2020: 4e 41 4d 45 3d 31 30 30 30 33 3b 0d 0a 09 63 6f NAME=10003;...co
2030: 6e 73 74 20 53 51 4c 5f 43 4f 44 45 5f 44 41 54 nst SQL_CODE_DAT
2040: 45 3d 31 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c E=1;...const SQL
2050: 5f 43 4f 44 45 5f 54 49 4d 45 3d 32 3b 0d 0a 09 _CODE_TIME=2;...
2060: 63 6f 6e 73 74 20 53 51 4c 5f 43 4f 44 45 5f 54 const SQL_CODE_T
2070: 49 4d 45 53 54 41 4d 50 3d 33 3b 0d 0a 09 63 6f IMESTAMP=3;...co
2080: 6e 73 74 20 53 51 4c 5f 43 4f 4c 4c 41 54 49 4f nst SQL_COLLATIO
2090: 4e 5f 53 45 51 3d 31 30 30 30 34 3b 0d 0a 09 63 N_SEQ=10004;...c
20a0: 6f 6e 73 74 20 53 51 4c 5f 43 55 52 53 4f 52 5f onst SQL_CURSOR_
20b0: 53 45 4e 53 49 54 49 56 49 54 59 3d 31 30 30 30 SENSITIVITY=1000
20c0: 31 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 1;...const SQL_D
20d0: 41 54 45 5f 4c 45 4e 3d 31 30 3b 0d 0a 09 63 6f ATE_LEN=10;...co
20e0: 6e 73 74 20 53 51 4c 5f 44 41 54 45 54 49 4d 45 nst SQL_DATETIME
20f0: 3d 39 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f =9;...const SQL_
2100: 44 45 46 41 55 4c 54 3d 39 39 3b 0d 0a 0d 0a 09 DEFAULT=99;.....
2110: 63 6f 6e 73 74 20 53 51 4c 5f 44 45 53 43 5f 41 const SQL_DESC_A
2120: 4c 4c 4f 43 5f 41 55 54 4f 3d 31 3b 0d 0a 09 63 LLOC_AUTO=1;...c
2130: 6f 6e 73 74 20 53 51 4c 5f 44 45 53 43 5f 41 4c onst SQL_DESC_AL
2140: 4c 4f 43 5f 55 53 45 52 3d 32 3b 0d 0a 09 63 6f LOC_USER=2;...co
2150: 6e 73 74 20 53 51 4c 5f 44 45 53 43 5f 41 4c 4c nst SQL_DESC_ALL
2160: 4f 43 5f 54 59 50 45 3d 31 30 39 39 3b 0d 0a 09 OC_TYPE=1099;...
2170: 63 6f 6e 73 74 20 53 51 4c 5f 44 45 53 43 5f 43 const SQL_DESC_C
2180: 4f 55 4e 54 3d 31 30 30 31 3b 0d 0a 09 63 6f 6e OUNT=1001;...con
2190: 73 74 20 53 51 4c 5f 44 45 53 43 5f 54 59 50 45 st SQL_DESC_TYPE
21a0: 3d 31 30 30 32 3b 0d 0a 09 63 6f 6e 73 74 20 53 =1002;...const S
21b0: 51 4c 5f 44 45 53 43 5f 4c 45 4e 47 54 48 3d 31 QL_DESC_LENGTH=1
21c0: 30 30 33 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 003;...const SQL
21d0: 5f 44 45 53 43 5f 4f 43 54 45 54 5f 4c 45 4e 47 _DESC_OCTET_LENG
21e0: 54 48 5f 50 54 52 3d 31 30 30 34 3b 0d 0a 09 63 TH_PTR=1004;...c
21f0: 6f 6e 73 74 20 53 51 4c 5f 44 45 53 43 5f 50 52 onst SQL_DESC_PR
2200: 45 43 49 53 49 4f 4e 3d 31 30 30 35 3b 0d 0a 09 ECISION=1005;...
2210: 63 6f 6e 73 74 20 53 51 4c 5f 44 45 53 43 5f 53 const SQL_DESC_S
2220: 43 41 4c 45 3d 31 30 30 36 3b 0d 0a 09 63 6f 6e CALE=1006;...con
2230: 73 74 20 53 51 4c 5f 44 45 53 43 5f 44 41 54 45 st SQL_DESC_DATE
2240: 54 49 4d 45 5f 49 4e 54 45 52 56 41 4c 5f 43 4f TIME_INTERVAL_CO
2250: 44 45 3d 31 30 30 37 3b 0d 0a 09 63 6f 6e 73 74 DE=1007;...const
2260: 20 53 51 4c 5f 44 45 53 43 5f 4e 55 4c 4c 41 42 SQL_DESC_NULLAB
2270: 4c 45 3d 31 30 30 38 3b 0d 0a 09 63 6f 6e 73 74 LE=1008;...const
2280: 20 53 51 4c 5f 44 45 53 43 5f 49 4e 44 49 43 41 SQL_DESC_INDICA
2290: 54 4f 52 5f 50 54 52 3d 31 30 30 39 3b 0d 0a 09 TOR_PTR=1009;...
22a0: 63 6f 6e 73 74 20 53 51 4c 5f 44 45 53 43 5f 44 const SQL_DESC_D
22b0: 41 54 41 5f 50 54 52 3d 31 30 31 30 3b 0d 0a 09 ATA_PTR=1010;...
22c0: 63 6f 6e 73 74 20 53 51 4c 5f 44 45 53 43 5f 4e const SQL_DESC_N
22d0: 41 4d 45 3d 31 30 31 31 3b 0d 0a 09 63 6f 6e 73 AME=1011;...cons
22e0: 74 20 53 51 4c 5f 44 45 53 43 5f 55 4e 4e 41 4d t SQL_DESC_UNNAM
22f0: 45 44 3d 31 30 31 32 3b 0d 0a 09 63 6f 6e 73 74 ED=1012;...const
2300: 20 53 51 4c 5f 44 45 53 43 5f 4f 43 54 45 54 5f SQL_DESC_OCTET_
2310: 4c 45 4e 47 54 48 3d 31 30 31 33 3b 0d 0a 0d 0a LENGTH=1013;....
2320: 09 63 6f 6e 73 74 20 53 51 4c 5f 44 45 53 43 52 .const SQL_DESCR
2330: 49 42 45 5f 50 41 52 41 4d 45 54 45 52 3d 31 30 IBE_PARAMETER=10
2340: 30 30 32 3b 0d 0a 0d 0a 09 63 6f 6e 73 74 20 53 002;.....const S
2350: 51 4c 5f 44 49 41 47 5f 41 4c 54 45 52 5f 44 4f QL_DIAG_ALTER_DO
2360: 4d 41 49 4e 3d 33 3b 0d 0a 09 63 6f 6e 73 74 20 MAIN=3;...const
2370: 53 51 4c 5f 44 49 41 47 5f 41 4c 54 45 52 5f 54 SQL_DIAG_ALTER_T
2380: 41 42 4c 45 3d 34 3b 0d 0a 09 63 6f 6e 73 74 20 ABLE=4;...const
2390: 53 51 4c 5f 44 49 41 47 5f 43 41 4c 4c 3d 37 3b SQL_DIAG_CALL=7;
23a0: 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 ...const SQL_DIA
23b0: 47 5f 43 4c 41 53 53 5f 4f 52 49 47 49 4e 3d 38 G_CLASS_ORIGIN=8
23c0: 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 ;...const SQL_DI
23d0: 41 47 5f 43 4f 4e 4e 45 43 54 49 4f 4e 5f 4e 41 AG_CONNECTION_NA
23e0: 4d 45 3d 31 30 3b 0d 0a 09 63 6f 6e 73 74 20 53 ME=10;...const S
23f0: 51 4c 5f 44 49 41 47 5f 43 52 45 41 54 45 5f 41 QL_DIAG_CREATE_A
2400: 53 53 45 52 54 49 4f 4e 3d 36 3b 0d 0a 09 63 6f SSERTION=6;...co
2410: 6e 73 74 20 53 51 4c 5f 44 49 41 47 5f 43 52 45 nst SQL_DIAG_CRE
2420: 41 54 45 5f 43 48 41 52 41 43 54 45 52 5f 53 45 ATE_CHARACTER_SE
2430: 54 3d 38 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c T=8;...const SQL
2440: 5f 44 49 41 47 5f 43 52 45 41 54 45 5f 43 4f 4c _DIAG_CREATE_COL
2450: 4c 41 54 49 4f 4e 3d 31 30 3b 0d 0a 09 63 6f 6e LATION=10;...con
2460: 73 74 20 53 51 4c 5f 44 49 41 47 5f 43 52 45 41 st SQL_DIAG_CREA
2470: 54 45 5f 44 4f 4d 41 49 4e 3d 32 33 3b 0d 0a 09 TE_DOMAIN=23;...
2480: 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47 5f 43 const SQL_DIAG_C
2490: 52 45 41 54 45 5f 49 4e 44 45 58 3d 2d 31 3b 0d REATE_INDEX=-1;.
24a0: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47 ..const SQL_DIAG
24b0: 5f 43 52 45 41 54 45 5f 53 43 48 45 4d 41 3d 36 _CREATE_SCHEMA=6
24c0: 34 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 4;...const SQL_D
24d0: 49 41 47 5f 43 52 45 41 54 45 5f 54 41 42 4c 45 IAG_CREATE_TABLE
24e0: 3d 37 37 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c =77;...const SQL
24f0: 5f 44 49 41 47 5f 43 52 45 41 54 45 5f 54 52 41 _DIAG_CREATE_TRA
2500: 4e 53 4c 41 54 49 4f 4e 3d 37 39 3b 0d 0a 09 63 NSLATION=79;...c
2510: 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47 5f 43 52 onst SQL_DIAG_CR
2520: 45 41 54 45 5f 56 49 45 57 3d 38 34 3b 0d 0a 09 EATE_VIEW=84;...
2530: 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47 5f 44 const SQL_DIAG_D
2540: 45 4c 45 54 45 5f 57 48 45 52 45 3d 31 39 3b 0d ELETE_WHERE=19;.
2550: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47 ..const SQL_DIAG
2560: 5f 44 52 4f 50 5f 41 53 53 45 52 54 49 4f 4e 3d _DROP_ASSERTION=
2570: 32 34 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 24;...const SQL_
2580: 44 49 41 47 5f 44 52 4f 50 5f 43 48 41 52 41 43 DIAG_DROP_CHARAC
2590: 54 45 52 5f 53 45 54 3d 32 35 3b 0d 0a 09 63 6f TER_SET=25;...co
25a0: 6e 73 74 20 53 51 4c 5f 44 49 41 47 5f 44 52 4f nst SQL_DIAG_DRO
25b0: 50 5f 43 4f 4c 4c 41 54 49 4f 4e 3d 32 36 3b 0d P_COLLATION=26;.
25c0: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47 ..const SQL_DIAG
25d0: 5f 44 52 4f 50 5f 44 4f 4d 41 49 4e 3d 32 37 3b _DROP_DOMAIN=27;
25e0: 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 ...const SQL_DIA
25f0: 47 5f 44 52 4f 50 5f 49 4e 44 45 58 3d 28 2d 32 G_DROP_INDEX=(-2
2600: 29 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 );...const SQL_D
2610: 49 41 47 5f 44 52 4f 50 5f 53 43 48 45 4d 41 3d IAG_DROP_SCHEMA=
2620: 33 31 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 31;...const SQL_
2630: 44 49 41 47 5f 44 52 4f 50 5f 54 41 42 4c 45 3d DIAG_DROP_TABLE=
2640: 33 32 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 32;...const SQL_
2650: 44 49 41 47 5f 44 52 4f 50 5f 54 52 41 4e 53 4c DIAG_DROP_TRANSL
2660: 41 54 49 4f 4e 3d 33 33 3b 0d 0a 09 63 6f 6e 73 ATION=33;...cons
2670: 74 20 53 51 4c 5f 44 49 41 47 5f 44 52 4f 50 5f t SQL_DIAG_DROP_
2680: 56 49 45 57 3d 33 36 3b 0d 0a 09 63 6f 6e 73 74 VIEW=36;...const
2690: 20 53 51 4c 5f 44 49 41 47 5f 44 59 4e 41 4d 49 SQL_DIAG_DYNAMI
26a0: 43 5f 44 45 4c 45 54 45 5f 43 55 52 53 4f 52 3d C_DELETE_CURSOR=
26b0: 33 38 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 38;...const SQL_
26c0: 44 49 41 47 5f 44 59 4e 41 4d 49 43 5f 46 55 4e DIAG_DYNAMIC_FUN
26d0: 43 54 49 4f 4e 3d 37 3b 0d 0a 09 63 6f 6e 73 74 CTION=7;...const
26e0: 20 53 51 4c 5f 44 49 41 47 5f 44 59 4e 41 4d 49 SQL_DIAG_DYNAMI
26f0: 43 5f 46 55 4e 43 54 49 4f 4e 5f 43 4f 44 45 3d C_FUNCTION_CODE=
2700: 31 32 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 12;...const SQL_
2710: 44 49 41 47 5f 44 59 4e 41 4d 49 43 5f 55 50 44 DIAG_DYNAMIC_UPD
2720: 41 54 45 5f 43 55 52 53 4f 52 3d 38 31 3b 0d 0a ATE_CURSOR=81;..
2730: 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47 5f .const SQL_DIAG_
2740: 47 52 41 4e 54 3d 34 38 3b 0d 0a 09 63 6f 6e 73 GRANT=48;...cons
2750: 74 20 53 51 4c 5f 44 49 41 47 5f 49 4e 53 45 52 t SQL_DIAG_INSER
2760: 54 3d 35 30 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 T=50;...const SQ
2770: 4c 5f 44 49 41 47 5f 4d 45 53 53 41 47 45 5f 54 L_DIAG_MESSAGE_T
2780: 45 58 54 3d 36 3b 0d 0a 09 63 6f 6e 73 74 20 53 EXT=6;...const S
2790: 51 4c 5f 44 49 41 47 5f 4e 41 54 49 56 45 3d 35 QL_DIAG_NATIVE=5
27a0: 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 ;...const SQL_DI
27b0: 41 47 5f 4e 55 4d 42 45 52 3d 32 3b 0d 0a 09 63 AG_NUMBER=2;...c
27c0: 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47 5f 52 45 onst SQL_DIAG_RE
27d0: 54 55 52 4e 43 4f 44 45 3d 31 3b 0d 0a 09 63 6f TURNCODE=1;...co
27e0: 6e 73 74 20 53 51 4c 5f 44 49 41 47 5f 52 45 56 nst SQL_DIAG_REV
27f0: 4f 4b 45 3d 35 39 3b 0d 0a 09 63 6f 6e 73 74 20 OKE=59;...const
2800: 53 51 4c 5f 44 49 41 47 5f 52 4f 57 5f 43 4f 55 SQL_DIAG_ROW_COU
2810: 4e 54 3d 33 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 NT=3;...const SQ
2820: 4c 5f 44 49 41 47 5f 53 45 4c 45 43 54 5f 43 55 L_DIAG_SELECT_CU
2830: 52 53 4f 52 3d 38 35 3b 0d 0a 09 63 6f 6e 73 74 RSOR=85;...const
2840: 20 53 51 4c 5f 44 49 41 47 5f 53 45 52 56 45 52 SQL_DIAG_SERVER
2850: 5f 4e 41 4d 45 3d 31 31 3b 0d 0a 09 63 6f 6e 73 _NAME=11;...cons
2860: 74 20 53 51 4c 5f 44 49 41 47 5f 53 51 4c 53 54 t SQL_DIAG_SQLST
2870: 41 54 45 3d 34 3b 0d 0a 09 63 6f 6e 73 74 20 53 ATE=4;...const S
2880: 51 4c 5f 44 49 41 47 5f 53 55 42 43 4c 41 53 53 QL_DIAG_SUBCLASS
2890: 5f 4f 52 49 47 49 4e 3d 39 3b 0d 0a 09 63 6f 6e _ORIGIN=9;...con
28a0: 73 74 20 53 51 4c 5f 44 49 41 47 5f 55 4e 4b 4e st SQL_DIAG_UNKN
28b0: 4f 57 4e 5f 53 54 41 54 45 4d 45 4e 54 3d 30 3b OWN_STATEMENT=0;
28c0: 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 ...const SQL_DIA
28d0: 47 5f 55 50 44 41 54 45 5f 57 48 45 52 45 3d 38 G_UPDATE_WHERE=8
28e0: 32 3b 0d 0a 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 2;.....const SQL
28f0: 5f 46 41 4c 53 45 3d 30 3b 0d 0a 09 63 6f 6e 73 _FALSE=0;...cons
2900: 74 20 53 51 4c 5f 48 41 4e 44 4c 45 5f 44 42 43 t SQL_HANDLE_DBC
2910: 3d 32 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f =2;...const SQL_
2920: 48 41 4e 44 4c 45 5f 44 45 53 43 3d 34 3b 0d 0a HANDLE_DESC=4;..
2930: 09 63 6f 6e 73 74 20 53 51 4c 5f 48 41 4e 44 4c .const SQL_HANDL
2940: 45 5f 45 4e 56 3d 31 3b 0d 0a 09 63 6f 6e 73 74 E_ENV=1;...const
2950: 20 53 51 4c 5f 48 41 4e 44 4c 45 5f 53 54 4d 54 SQL_HANDLE_STMT
2960: 3d 33 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f =3;...const SQL_
2970: 49 4e 53 45 4e 53 49 54 49 56 45 3d 31 3b 0d 0a INSENSITIVE=1;..
2980: 09 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 5f 43 .const SQL_MAX_C
2990: 4f 4e 43 55 52 52 45 4e 54 5f 41 43 54 49 56 49 ONCURRENT_ACTIVI
29a0: 54 49 45 53 3d 31 3b 0d 0a 09 63 6f 6e 73 74 20 TIES=1;...const
29b0: 53 51 4c 5f 4d 41 58 5f 44 52 49 56 45 52 5f 43 SQL_MAX_DRIVER_C
29c0: 4f 4e 4e 45 43 54 49 4f 4e 53 3d 30 3b 0d 0a 09 ONNECTIONS=0;...
29d0: 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 5f 49 44 const SQL_MAX_ID
29e0: 45 4e 54 49 46 49 45 52 5f 4c 45 4e 3d 31 30 30 ENTIFIER_LEN=100
29f0: 30 35 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 05;...const SQL_
2a00: 4d 41 58 49 4d 55 4d 5f 43 4f 4e 43 55 52 52 45 MAXIMUM_CONCURRE
2a10: 4e 54 5f 41 43 54 49 56 49 54 49 45 53 3d 53 51 NT_ACTIVITIES=SQ
2a20: 4c 5f 4d 41 58 5f 43 4f 4e 43 55 52 52 45 4e 54 L_MAX_CONCURRENT
2a30: 5f 41 43 54 49 56 49 54 49 45 53 3b 0d 0a 09 63 _ACTIVITIES;...c
2a40: 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 49 4d 55 4d onst SQL_MAXIMUM
2a50: 5f 44 52 49 56 45 52 5f 43 4f 4e 4e 45 43 54 49 _DRIVER_CONNECTI
2a60: 4f 4e 53 3d 53 51 4c 5f 4d 41 58 5f 44 52 49 56 ONS=SQL_MAX_DRIV
2a70: 45 52 5f 43 4f 4e 4e 45 43 54 49 4f 4e 53 3b 0d ER_CONNECTIONS;.
2a80: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 49 ..const SQL_MAXI
2a90: 4d 55 4d 5f 49 44 45 4e 54 49 46 49 45 52 5f 4c MUM_IDENTIFIER_L
2aa0: 45 4e 47 54 48 3d 53 51 4c 5f 4d 41 58 5f 49 44 ENGTH=SQL_MAX_ID
2ab0: 45 4e 54 49 46 49 45 52 5f 4c 45 4e 3b 0d 0a 09 ENTIFIER_LEN;...
2ac0: 63 6f 6e 73 74 20 53 51 4c 5f 4e 41 4d 45 44 3d const SQL_NAMED=
2ad0: 30 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 4e 0;...const SQL_N
2ae0: 4f 5f 44 41 54 41 3d 31 30 30 3b 0d 0a 09 63 6f O_DATA=100;...co
2af0: 6e 73 74 20 53 51 4c 5f 4e 4f 4e 53 43 52 4f 4c nst SQL_NONSCROL
2b00: 4c 41 42 4c 45 3d 30 3b 0d 0a 09 63 6f 6e 73 74 LABLE=0;...const
2b10: 20 53 51 4c 5f 4e 55 4c 4c 5f 48 41 4e 44 4c 45 SQL_NULL_HANDLE
2b20: 3d 30 4c 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c =0L;...const SQL
2b30: 5f 4e 55 4c 4c 5f 48 44 45 53 43 3d 30 3b 0d 0a _NULL_HDESC=0;..
2b40: 09 63 6f 6e 73 74 20 53 51 4c 5f 4f 4a 5f 43 41 .const SQL_OJ_CA
2b50: 50 41 42 49 4c 49 54 49 45 53 3d 31 31 35 3b 0d PABILITIES=115;.
2b60: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 4f 55 54 45 ..const SQL_OUTE
2b70: 52 5f 4a 4f 49 4e 5f 43 41 50 41 42 49 4c 49 54 R_JOIN_CAPABILIT
2b80: 49 45 53 3d 53 51 4c 5f 4f 4a 5f 43 41 50 41 42 IES=SQL_OJ_CAPAB
2b90: 49 4c 49 54 49 45 53 3b 0d 0a 09 63 6f 6e 73 74 ILITIES;...const
2ba0: 20 53 51 4c 5f 50 43 5f 4e 4f 4e 5f 50 53 45 55 SQL_PC_NON_PSEU
2bb0: 44 4f 3d 31 3b 0d 0a 0d 0a 09 63 6f 6e 73 74 20 DO=1;.....const
2bc0: 53 51 4c 5f 50 52 45 44 5f 4e 4f 4e 45 3d 30 3b SQL_PRED_NONE=0;
2bd0: 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 50 52 45 ...const SQL_PRE
2be0: 44 5f 43 48 41 52 3d 31 3b 0d 0a 09 63 6f 6e 73 D_CHAR=1;...cons
2bf0: 74 20 53 51 4c 5f 50 52 45 44 5f 42 41 53 49 43 t SQL_PRED_BASIC
2c00: 3d 32 3b 0d 0a 0d 0a 09 63 6f 6e 73 74 20 53 51 =2;.....const SQ
2c10: 4c 5f 52 4f 57 5f 49 44 45 4e 54 49 46 49 45 52 L_ROW_IDENTIFIER
2c20: 3d 31 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f =1;...const SQL_
2c30: 53 43 52 4f 4c 4c 41 42 4c 45 3d 31 3b 0d 0a 09 SCROLLABLE=1;...
2c40: 63 6f 6e 73 74 20 53 51 4c 5f 53 45 4e 53 49 54 const SQL_SENSIT
2c50: 49 56 45 3d 32 3b 0d 0a 09 63 6f 6e 73 74 20 53 IVE=2;...const S
2c60: 51 4c 5f 54 49 4d 45 5f 4c 45 4e 3d 38 3b 0d 0a QL_TIME_LEN=8;..
2c70: 09 63 6f 6e 73 74 20 53 51 4c 5f 54 49 4d 45 53 .const SQL_TIMES
2c80: 54 41 4d 50 5f 4c 45 4e 3d 31 39 3b 0d 0a 09 63 TAMP_LEN=19;...c
2c90: 6f 6e 73 74 20 53 51 4c 5f 54 52 55 45 3d 31 3b onst SQL_TRUE=1;
2ca0: 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 54 59 50 ...const SQL_TYP
2cb0: 45 5f 44 41 54 45 3d 39 31 3b 0d 0a 09 63 6f 6e E_DATE=91;...con
2cc0: 73 74 20 53 51 4c 5f 54 59 50 45 5f 54 49 4d 45 st SQL_TYPE_TIME
2cd0: 3d 39 32 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c =92;...const SQL
2ce0: 5f 54 59 50 45 5f 54 49 4d 45 53 54 41 4d 50 3d _TYPE_TIMESTAMP=
2cf0: 39 33 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 93;...const SQL_
2d00: 55 4e 4e 41 4d 45 44 3d 31 3b 0d 0a 09 63 6f 6e UNNAMED=1;...con
2d10: 73 74 20 53 51 4c 5f 55 4e 53 50 45 43 49 46 49 st SQL_UNSPECIFI
2d20: 45 44 3d 30 3b 0d 0a 09 63 6f 6e 73 74 20 53 51 ED=0;...const SQ
2d30: 4c 5f 58 4f 50 45 4e 5f 43 4c 49 5f 59 45 41 52 L_XOPEN_CLI_YEAR
2d40: 3d 31 30 30 30 30 3b 0d 0a 7d 2f 2f 23 65 6e 64 =10000;..}//#end
2d50: 69 66 20 2f 2a 20 4f 44 42 43 56 45 52 20 3e 3d if /* ODBCVER >=
2d60: 20 30 78 30 33 30 30 20 2a 2f 0d 0a 0d 0a 65 78 0x0300 */....ex
2d70: 74 65 72 6e 20 28 57 69 6e 64 6f 77 73 29 20 7b tern (Windows) {
2d80: 0d 0a 09 64 65 70 72 65 63 61 74 65 64 20 7b 0d ...deprecated {.
2d90: 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c ...SQLRETURN SQL
2da0: 41 6c 6c 6f 63 43 6f 6e 6e 65 63 74 28 53 51 4c AllocConnect(SQL
2db0: 48 45 4e 56 2c 20 53 51 4c 48 44 42 43 2a 29 3b HENV, SQLHDBC*);
2dc0: 0d 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51 ....SQLRETURN SQ
2dd0: 4c 41 6c 6c 6f 63 45 6e 76 28 53 51 4c 48 45 4e LAllocEnv(SQLHEN
2de0: 56 2a 29 3b 0d 0a 09 09 53 51 4c 52 45 54 55 52 V*);....SQLRETUR
2df0: 4e 20 53 51 4c 41 6c 6c 6f 63 53 74 6d 74 28 53 N SQLAllocStmt(S
2e00: 51 4c 48 44 42 43 2c 20 53 51 4c 48 53 54 4d 54 QLHDBC, SQLHSTMT
2e10: 2a 29 3b 0d 0a 09 09 53 51 4c 52 45 54 55 52 4e *);....SQLRETURN
2e20: 20 53 51 4c 45 72 72 6f 72 28 53 51 4c 48 45 4e SQLError(SQLHEN
2e30: 56 2c 20 53 51 4c 48 44 42 43 2c 20 53 51 4c 48 V, SQLHDBC, SQLH
2e40: 53 54 4d 54 2c 20 53 51 4c 43 48 41 52 2a 2c 20 STMT, SQLCHAR*,
2e50: 53 51 4c 49 4e 54 45 47 45 52 2a 2c 20 53 51 4c SQLINTEGER*, SQL
2e60: 43 48 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 CHAR*, SQLSMALLI
2e70: 4e 54 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2a NT, SQLSMALLINT*
2e80: 29 3b 0d 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 );....SQLRETURN
2e90: 53 51 4c 46 72 65 65 43 6f 6e 6e 65 63 74 28 53 SQLFreeConnect(S
2ea0: 51 4c 48 44 42 43 29 3b 0d 0a 09 09 53 51 4c 52 QLHDBC);....SQLR
2eb0: 45 54 55 52 4e 20 53 51 4c 46 72 65 65 45 6e 76 ETURN SQLFreeEnv
2ec0: 28 53 51 4c 48 45 4e 56 29 3b 0d 0a 09 09 53 51 (SQLHENV);....SQ
2ed0: 4c 52 45 54 55 52 4e 20 53 51 4c 53 65 74 50 61 LRETURN SQLSetPa
2ee0: 72 61 6d 28 53 51 4c 48 53 54 4d 54 2c 20 53 51 ram(SQLHSTMT, SQ
2ef0: 4c 55 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 53 LUSMALLINT, SQLS
2f00: 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 53 4d 41 4c MALLINT, SQLSMAL
2f10: 4c 49 4e 54 2c 20 53 51 4c 55 4c 45 4e 2c 20 53 LINT, SQLULEN, S
2f20: 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 50 QLSMALLINT, SQLP
2f30: 4f 49 4e 54 45 52 2c 20 53 51 4c 4c 45 4e 2a 29 OINTER, SQLLEN*)
2f40: 3b 0d 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53 ;....SQLRETURN S
2f50: 51 4c 47 65 74 43 6f 6e 6e 65 63 74 4f 70 74 69 QLGetConnectOpti
2f60: 6f 6e 28 53 51 4c 48 44 42 43 2c 20 53 51 4c 55 on(SQLHDBC, SQLU
2f70: 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 50 4f 49 SMALLINT, SQLPOI
2f80: 4e 54 45 52 29 3b 0d 0a 09 09 53 51 4c 52 45 54 NTER);....SQLRET
2f90: 55 52 4e 20 53 51 4c 47 65 74 53 74 6d 74 4f 70 URN SQLGetStmtOp
2fa0: 74 69 6f 6e 28 53 51 4c 48 53 54 4d 54 2c 20 53 tion(SQLHSTMT, S
2fb0: 51 4c 55 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c QLUSMALLINT, SQL
2fc0: 50 4f 49 4e 54 45 52 29 3b 0d 0a 09 09 53 51 4c POINTER);....SQL
2fd0: 52 45 54 55 52 4e 20 53 51 4c 53 65 74 43 6f 6e RETURN SQLSetCon
2fe0: 6e 65 63 74 4f 70 74 69 6f 6e 28 53 51 4c 48 44 nectOption(SQLHD
2ff0: 42 43 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 4e 54 BC, SQLUSMALLINT
3000: 2c 20 53 51 4c 55 4c 45 4e 29 3b 0d 0a 09 09 53 , SQLULEN);....S
3010: 51 4c 52 45 54 55 52 4e 20 53 51 4c 53 65 74 53 QLRETURN SQLSetS
3020: 74 6d 74 4f 70 74 69 6f 6e 28 53 51 4c 48 53 54 tmtOption(SQLHST
3030: 4d 54 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 4e 54 MT, SQLUSMALLINT
3040: 2c 20 53 51 4c 52 4f 57 43 4f 55 4e 54 29 3b 0d , SQLROWCOUNT);.
3050: 0a 09 7d 0d 0a 09 53 51 4c 52 45 54 55 52 4e 20 ..}...SQLRETURN
3060: 53 51 4c 42 69 6e 64 43 6f 6c 28 53 51 4c 48 53 SQLBindCol(SQLHS
3070: 54 4d 54 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 4e TMT, SQLUSMALLIN
3080: 54 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 T, SQLSMALLINT,
3090: 53 51 4c 50 4f 49 4e 54 45 52 2c 20 53 51 4c 4c SQLPOINTER, SQLL
30a0: 45 4e 2c 20 53 51 4c 4c 45 4e 2a 29 3b 0d 0a 09 EN, SQLLEN*);...
30b0: 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 43 61 6e SQLRETURN SQLCan
30c0: 63 65 6c 28 53 51 4c 48 53 54 4d 54 29 3b 0d 0a cel(SQLHSTMT);..
30d0: 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 43 6f .SQLRETURN SQLCo
30e0: 6e 6e 65 63 74 28 53 51 4c 48 44 42 43 2c 20 53 nnect(SQLHDBC, S
30f0: 51 4c 43 48 41 52 2a 2c 20 53 51 4c 53 4d 41 4c QLCHAR*, SQLSMAL
3100: 4c 49 4e 54 2c 20 53 51 4c 43 48 41 52 2a 2c 20 LINT, SQLCHAR*,
3110: 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c SQLSMALLINT, SQL
3120: 43 48 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 CHAR*, SQLSMALLI
3130: 4e 54 29 3b 0d 0a 09 53 51 4c 52 45 54 55 52 4e NT);...SQLRETURN
3140: 20 53 51 4c 44 65 73 63 72 69 62 65 43 6f 6c 28 SQLDescribeCol(
3150: 53 51 4c 48 53 54 4d 54 2c 20 53 51 4c 55 53 4d SQLHSTMT, SQLUSM
3160: 41 4c 4c 49 4e 54 2c 20 53 51 4c 43 48 41 52 2a ALLINT, SQLCHAR*
3170: 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 , SQLSMALLINT, S
3180: 51 4c 53 4d 41 4c 4c 49 4e 54 2a 2c 20 53 51 4c QLSMALLINT*, SQL
3190: 53 4d 41 4c 4c 49 4e 54 2a 2c 20 53 51 4c 55 4c SMALLINT*, SQLUL
31a0: 45 4e 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 EN*, SQLSMALLINT
31b0: 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2a 29 *, SQLSMALLINT*)
31c0: 3b 0d 0a 09 53 51 4c 52 45 54 55 52 4e 20 53 51 ;...SQLRETURN SQ
31d0: 4c 44 69 73 63 6f 6e 6e 65 63 74 28 53 51 4c 48 LDisconnect(SQLH
31e0: 44 42 43 29 3b 0d 0a 09 53 51 4c 52 45 54 55 52 DBC);...SQLRETUR
31f0: 4e 20 53 51 4c 45 78 65 63 44 69 72 65 63 74 28 N SQLExecDirect(
3200: 53 51 4c 48 53 54 4d 54 2c 20 53 51 4c 43 48 41 SQLHSTMT, SQLCHA
3210: 52 2a 2c 20 53 51 4c 49 4e 54 45 47 45 52 29 3b R*, SQLINTEGER);
3220: 0d 0a 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c ...SQLRETURN SQL
3230: 45 78 65 63 75 74 65 28 53 51 4c 48 53 54 4d 54 Execute(SQLHSTMT
3240: 29 3b 0d 0a 09 53 51 4c 52 45 54 55 52 4e 20 53 );...SQLRETURN S
3250: 51 4c 46 65 74 63 68 28 53 51 4c 48 53 54 4d 54 QLFetch(SQLHSTMT
3260: 29 3b 0d 0a 09 53 51 4c 52 45 54 55 52 4e 20 53 );...SQLRETURN S
3270: 51 4c 46 72 65 65 53 74 6d 74 28 53 51 4c 48 53 QLFreeStmt(SQLHS
3280: 54 4d 54 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 4e TMT, SQLUSMALLIN
3290: 54 29 3b 0d 0a 09 53 51 4c 52 45 54 55 52 4e 20 T);...SQLRETURN
32a0: 53 51 4c 47 65 74 43 75 72 73 6f 72 4e 61 6d 65 SQLGetCursorName
32b0: 28 53 51 4c 48 53 54 4d 54 2c 20 53 51 4c 43 48 (SQLHSTMT, SQLCH
32c0: 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 AR*, SQLSMALLINT
32d0: 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2a 29 3b , SQLSMALLINT*);
32e0: 0d 0a 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c ...SQLRETURN SQL
32f0: 4e 75 6d 52 65 73 75 6c 74 43 6f 6c 73 28 53 51 NumResultCols(SQ
3300: 4c 48 53 54 4d 54 2c 20 53 51 4c 53 4d 41 4c 4c LHSTMT, SQLSMALL
3310: 49 4e 54 2a 29 3b 0d 0a 09 53 51 4c 52 45 54 55 INT*);...SQLRETU
3320: 52 4e 20 53 51 4c 50 72 65 70 61 72 65 28 53 51 RN SQLPrepare(SQ
3330: 4c 48 53 54 4d 54 2c 20 53 51 4c 43 48 41 52 2a LHSTMT, SQLCHAR*
3340: 2c 20 53 51 4c 49 4e 54 45 47 45 52 29 3b 0d 0a , SQLINTEGER);..
3350: 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 52 6f .SQLRETURN SQLRo
3360: 77 43 6f 75 6e 74 28 53 51 4c 48 53 54 4d 54 2c wCount(SQLHSTMT,
3370: 20 53 51 4c 4c 45 4e 2a 29 3b 0d 0a 09 53 51 4c SQLLEN*);...SQL
3380: 52 45 54 55 52 4e 20 53 51 4c 53 65 74 43 75 72 RETURN SQLSetCur
3390: 73 6f 72 4e 61 6d 65 28 53 51 4c 48 53 54 4d 54 sorName(SQLHSTMT
33a0: 2c 20 53 51 4c 43 48 41 52 2a 2c 20 53 51 4c 53 , SQLCHAR*, SQLS
33b0: 4d 41 4c 4c 49 4e 54 29 3b 0d 0a 09 53 51 4c 52 MALLINT);...SQLR
33c0: 45 54 55 52 4e 20 53 51 4c 54 72 61 6e 73 61 63 ETURN SQLTransac
33d0: 74 28 53 51 4c 48 45 4e 56 2c 20 53 51 4c 48 44 t(SQLHENV, SQLHD
33e0: 42 43 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 4e 54 BC, SQLUSMALLINT
33f0: 29 3b 0d 0a 09 53 51 4c 52 45 54 55 52 4e 20 53 );...SQLRETURN S
3400: 51 4c 43 6f 6c 75 6d 6e 73 28 53 51 4c 48 53 54 QLColumns(SQLHST
3410: 4d 54 2c 20 53 51 4c 43 48 41 52 2a 2c 20 53 51 MT, SQLCHAR*, SQ
3420: 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 43 48 LSMALLINT, SQLCH
3430: 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 AR*, SQLSMALLINT
3440: 2c 20 53 51 4c 43 48 41 52 2a 2c 20 53 51 4c 53 , SQLCHAR*, SQLS
3450: 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 43 48 41 52 MALLINT, SQLCHAR
3460: 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 29 3b *, SQLSMALLINT);
3470: 0d 0a 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c ...SQLRETURN SQL
3480: 47 65 74 44 61 74 61 28 53 51 4c 48 53 54 4d 54 GetData(SQLHSTMT
3490: 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 4e 54 2c 20 , SQLUSMALLINT,
34a0: 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c SQLSMALLINT, SQL
34b0: 50 4f 49 4e 54 45 52 2c 20 53 51 4c 4c 45 4e 2c POINTER, SQLLEN,
34c0: 20 53 51 4c 4c 45 4e 2a 29 3b 0d 0a 09 53 51 4c SQLLEN*);...SQL
34d0: 52 45 54 55 52 4e 20 53 51 4c 47 65 74 46 75 6e RETURN SQLGetFun
34e0: 63 74 69 6f 6e 73 28 53 51 4c 48 44 42 43 2c 20 ctions(SQLHDBC,
34f0: 53 51 4c 55 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 SQLUSMALLINT, SQ
3500: 4c 55 53 4d 41 4c 4c 49 4e 54 2a 29 3b 0d 0a 09 LUSMALLINT*);...
3510: 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 47 65 74 SQLRETURN SQLGet
3520: 49 6e 66 6f 28 53 51 4c 48 44 42 43 2c 20 53 51 Info(SQLHDBC, SQ
3530: 4c 55 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 50 LUSMALLINT, SQLP
3540: 4f 49 4e 54 45 52 2c 20 53 51 4c 53 4d 41 4c 4c OINTER, SQLSMALL
3550: 49 4e 54 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 INT, SQLSMALLINT
3560: 2a 29 3b 0d 0a 09 53 51 4c 52 45 54 55 52 4e 20 *);...SQLRETURN
3570: 53 51 4c 47 65 74 54 79 70 65 49 6e 66 6f 28 53 SQLGetTypeInfo(S
3580: 51 4c 48 53 54 4d 54 2c 20 53 51 4c 53 4d 41 4c QLHSTMT, SQLSMAL
3590: 4c 49 4e 54 29 3b 0d 0a 09 53 51 4c 52 45 54 55 LINT);...SQLRETU
35a0: 52 4e 20 53 51 4c 50 61 72 61 6d 44 61 74 61 28 RN SQLParamData(
35b0: 53 51 4c 48 53 54 4d 54 2c 20 53 51 4c 50 4f 49 SQLHSTMT, SQLPOI
35c0: 4e 54 45 52 2a 29 3b 0d 0a 09 53 51 4c 52 45 54 NTER*);...SQLRET
35d0: 55 52 4e 20 53 51 4c 50 75 74 44 61 74 61 28 53 URN SQLPutData(S
35e0: 51 4c 48 53 54 4d 54 2c 20 53 51 4c 50 4f 49 4e QLHSTMT, SQLPOIN
35f0: 54 45 52 2c 20 53 51 4c 4c 45 4e 29 3b 0d 0a 09 TER, SQLLEN);...
3600: 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 53 70 65 SQLRETURN SQLSpe
3610: 63 69 61 6c 43 6f 6c 75 6d 6e 73 28 53 51 4c 48 cialColumns(SQLH
3620: 53 54 4d 54 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 STMT, SQLUSMALLI
3630: 4e 54 2c 20 53 51 4c 43 48 41 52 2a 2c 20 53 51 NT, SQLCHAR*, SQ
3640: 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 43 48 LSMALLINT, SQLCH
3650: 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 AR*, SQLSMALLINT
3660: 2c 20 53 51 4c 43 48 41 52 2a 2c 20 53 51 4c 53 , SQLCHAR*, SQLS
3670: 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 55 53 4d 41 MALLINT, SQLUSMA
3680: 4c 4c 49 4e 54 2c 20 53 51 4c 55 53 4d 41 4c 4c LLINT, SQLUSMALL
3690: 49 4e 54 29 3b 0d 0a 09 53 51 4c 52 45 54 55 52 INT);...SQLRETUR
36a0: 4e 20 53 51 4c 53 74 61 74 69 73 74 69 63 73 28 N SQLStatistics(
36b0: 53 51 4c 48 53 54 4d 54 2c 20 53 51 4c 43 48 41 SQLHSTMT, SQLCHA
36c0: 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c R*, SQLSMALLINT,
36d0: 20 53 51 4c 43 48 41 52 2a 2c 20 53 51 4c 53 4d SQLCHAR*, SQLSM
36e0: 41 4c 4c 49 4e 54 2c 20 53 51 4c 43 48 41 52 2a ALLINT, SQLCHAR*
36f0: 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 , SQLSMALLINT, S
3700: 51 4c 55 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c QLUSMALLINT, SQL
3710: 55 53 4d 41 4c 4c 49 4e 54 29 3b 0d 0a 09 53 51 USMALLINT);...SQ
3720: 4c 52 45 54 55 52 4e 20 53 51 4c 54 61 62 6c 65 LRETURN SQLTable
3730: 73 28 53 51 4c 48 53 54 4d 54 2c 20 53 51 4c 43 s(SQLHSTMT, SQLC
3740: 48 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e HAR*, SQLSMALLIN
3750: 54 2c 20 53 51 4c 43 48 41 52 2a 2c 20 53 51 4c T, SQLCHAR*, SQL
3760: 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 43 48 41 SMALLINT, SQLCHA
3770: 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c R*, SQLSMALLINT,
3780: 20 53 51 4c 43 48 41 52 2a 2c 20 53 51 4c 53 4d SQLCHAR*, SQLSM
3790: 41 4c 4c 49 4e 54 29 3b 0d 0a 09 53 51 4c 52 45 ALLINT);...SQLRE
37a0: 54 55 52 4e 20 53 51 4c 44 61 74 61 53 6f 75 72 TURN SQLDataSour
37b0: 63 65 73 28 53 51 4c 48 45 4e 56 2c 20 53 51 4c ces(SQLHENV, SQL
37c0: 55 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 43 48 USMALLINT, SQLCH
37d0: 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 AR*, SQLSMALLINT
37e0: 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2a 2c 20 , SQLSMALLINT*,
37f0: 53 51 4c 43 48 41 52 2a 2c 20 53 51 4c 53 4d 41 SQLCHAR*, SQLSMA
3800: 4c 4c 49 4e 54 2c 20 53 51 4c 53 4d 41 4c 4c 49 LLINT, SQLSMALLI
3810: 4e 54 2a 29 3b 0d 0a 0d 0a 09 73 74 61 74 69 63 NT*);.....static
3820: 20 69 66 20 28 4f 44 42 43 56 45 52 20 3e 3d 20 if (ODBCVER >=
3830: 30 78 30 33 30 30 29 20 7b 0d 0a 09 09 53 51 4c 0x0300) {....SQL
3840: 52 45 54 55 52 4e 20 53 51 4c 41 6c 6c 6f 63 48 RETURN SQLAllocH
3850: 61 6e 64 6c 65 28 53 51 4c 53 4d 41 4c 4c 49 4e andle(SQLSMALLIN
3860: 54 2c 20 53 51 4c 48 41 4e 44 4c 45 2c 20 53 51 T, SQLHANDLE, SQ
3870: 4c 48 41 4e 44 4c 45 2a 29 3b 0d 0a 09 09 53 51 LHANDLE*);....SQ
3880: 4c 52 45 54 55 52 4e 20 53 51 4c 42 69 6e 64 50 LRETURN SQLBindP
3890: 61 72 61 6d 28 53 51 4c 48 53 54 4d 54 2c 20 53 aram(SQLHSTMT, S
38a0: 51 4c 55 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c QLUSMALLINT, SQL
38b0: 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 53 4d 41 SMALLINT, SQLSMA
38c0: 4c 4c 49 4e 54 2c 20 53 51 4c 55 4c 45 4e 2c 20 LLINT, SQLULEN,
38d0: 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c SQLSMALLINT, SQL
38e0: 50 4f 49 4e 54 45 52 2c 20 53 51 4c 4c 45 4e 2a POINTER, SQLLEN*
38f0: 29 3b 0d 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 );....SQLRETURN
3900: 53 51 4c 43 6c 6f 73 65 43 75 72 73 6f 72 28 53 SQLCloseCursor(S
3910: 51 4c 48 53 54 4d 54 29 3b 0d 0a 09 09 53 51 4c QLHSTMT);....SQL
3920: 52 45 54 55 52 4e 20 53 51 4c 43 6f 6c 41 74 74 RETURN SQLColAtt
3930: 72 69 62 75 74 65 28 53 51 4c 48 53 54 4d 54 2c ribute(SQLHSTMT,
3940: 20 53 51 4c 55 53 4d 41 4c 4c 49 4e 54 2c 20 53 SQLUSMALLINT, S
3950: 51 4c 55 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c QLUSMALLINT, SQL
3960: 50 4f 49 4e 54 45 52 2c 20 53 51 4c 53 4d 41 4c POINTER, SQLSMAL
3970: 4c 49 4e 54 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e LINT, SQLSMALLIN
3980: 54 2a 2c 20 53 51 4c 50 4f 49 4e 54 45 52 29 3b T*, SQLPOINTER);
3990: 0d 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51 ....SQLRETURN SQ
39a0: 4c 43 6f 70 79 44 65 73 63 28 53 51 4c 48 44 45 LCopyDesc(SQLHDE
39b0: 53 43 2c 20 53 51 4c 48 44 45 53 43 29 3b 0d 0a SC, SQLHDESC);..
39c0: 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 45 ..SQLRETURN SQLE
39d0: 6e 64 54 72 61 6e 28 53 51 4c 53 4d 41 4c 4c 49 ndTran(SQLSMALLI
39e0: 4e 54 2c 20 53 51 4c 48 41 4e 44 4c 45 2c 20 53 NT, SQLHANDLE, S
39f0: 51 4c 53 4d 41 4c 4c 49 4e 54 29 3b 0d 0a 09 09 QLSMALLINT);....
3a00: 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 46 65 74 SQLRETURN SQLFet
3a10: 63 68 53 63 72 6f 6c 6c 28 53 51 4c 48 53 54 4d chScroll(SQLHSTM
3a20: 54 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 T, SQLSMALLINT,
3a30: 53 51 4c 52 4f 57 4f 46 46 53 45 54 29 3b 0d 0a SQLROWOFFSET);..
3a40: 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 46 ..SQLRETURN SQLF
3a50: 72 65 65 48 61 6e 64 6c 65 28 53 51 4c 53 4d 41 reeHandle(SQLSMA
3a60: 4c 4c 49 4e 54 2c 20 53 51 4c 48 41 4e 44 4c 45 LLINT, SQLHANDLE
3a70: 29 3b 0d 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 );....SQLRETURN
3a80: 53 51 4c 47 65 74 43 6f 6e 6e 65 63 74 41 74 74 SQLGetConnectAtt
3a90: 72 28 53 51 4c 48 44 42 43 2c 20 53 51 4c 49 4e r(SQLHDBC, SQLIN
3aa0: 54 45 47 45 52 2c 20 53 51 4c 50 4f 49 4e 54 45 TEGER, SQLPOINTE
3ab0: 52 2c 20 53 51 4c 49 4e 54 45 47 45 52 2c 20 53 R, SQLINTEGER, S
3ac0: 51 4c 49 4e 54 45 47 45 52 2a 29 3b 0d 0a 09 09 QLINTEGER*);....
3ad0: 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 47 65 74 SQLRETURN SQLGet
3ae0: 44 65 73 63 46 69 65 6c 64 28 53 51 4c 48 44 45 DescField(SQLHDE
3af0: 53 43 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c SC, SQLSMALLINT,
3b00: 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 SQLSMALLINT, SQ
3b10: 4c 50 4f 49 4e 54 45 52 2c 20 53 51 4c 49 4e 54 LPOINTER, SQLINT
3b20: 45 47 45 52 2c 20 53 51 4c 49 4e 54 45 47 45 52 EGER, SQLINTEGER
3b30: 2a 29 3b 0d 0a 09 09 53 51 4c 52 45 54 55 52 4e *);....SQLRETURN
3b40: 20 53 51 4c 47 65 74 44 65 73 63 52 65 63 28 53 SQLGetDescRec(S
3b50: 51 4c 48 44 45 53 43 2c 20 53 51 4c 53 4d 41 4c QLHDESC, SQLSMAL
3b60: 4c 49 4e 54 2c 20 53 51 4c 43 48 41 52 2a 2c 20 LINT, SQLCHAR*,
3b70: 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c SQLSMALLINT, SQL
3b80: 53 4d 41 4c 4c 49 4e 54 2a 2c 0d 0a 09 09 20 20 SMALLINT*,....
3b90: 53 51 4c 53 4d 41 4c 4c 49 4e 54 2a 2c 20 53 51 SQLSMALLINT*, SQ
3ba0: 4c 53 4d 41 4c 4c 49 4e 54 2a 2c 20 53 51 4c 4c LSMALLINT*, SQLL
3bb0: 45 4e 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 EN*, SQLSMALLINT
3bc0: 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2a 2c *, SQLSMALLINT*,
3bd0: 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2a 29 3b 0d SQLSMALLINT*);.
3be0: 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c ...SQLRETURN SQL
3bf0: 47 65 74 44 69 61 67 46 69 65 6c 64 28 53 51 4c GetDiagField(SQL
3c00: 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 48 41 4e SMALLINT, SQLHAN
3c10: 44 4c 45 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 DLE, SQLSMALLINT
3c20: 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 , SQLSMALLINT, S
3c30: 51 4c 50 4f 49 4e 54 45 52 2c 20 53 51 4c 53 4d QLPOINTER, SQLSM
3c40: 41 4c 4c 49 4e 54 2c 20 53 51 4c 53 4d 41 4c 4c ALLINT, SQLSMALL
3c50: 49 4e 54 2a 29 3b 0d 0a 09 09 53 51 4c 52 45 54 INT*);....SQLRET
3c60: 55 52 4e 20 53 51 4c 47 65 74 44 69 61 67 52 65 URN SQLGetDiagRe
3c70: 63 28 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 c(SQLSMALLINT, S
3c80: 51 4c 48 41 4e 44 4c 45 2c 20 53 51 4c 53 4d 41 QLHANDLE, SQLSMA
3c90: 4c 4c 49 4e 54 2c 20 53 51 4c 43 48 41 52 2a 2c LLINT, SQLCHAR*,
3ca0: 20 53 51 4c 49 4e 54 45 47 45 52 2a 2c 20 53 51 SQLINTEGER*, SQ
3cb0: 4c 43 48 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c LCHAR*, SQLSMALL
3cc0: 49 4e 54 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 INT, SQLSMALLINT
3cd0: 2a 29 3b 0d 0a 09 09 53 51 4c 52 45 54 55 52 4e *);....SQLRETURN
3ce0: 20 53 51 4c 47 65 74 45 6e 76 41 74 74 72 28 53 SQLGetEnvAttr(S
3cf0: 51 4c 48 45 4e 56 2c 20 53 51 4c 49 4e 54 45 47 QLHENV, SQLINTEG
3d00: 45 52 2c 20 53 51 4c 50 4f 49 4e 54 45 52 2c 20 ER, SQLPOINTER,
3d10: 53 51 4c 49 4e 54 45 47 45 52 2c 20 53 51 4c 49 SQLINTEGER, SQLI
3d20: 4e 54 45 47 45 52 2a 29 3b 0d 0a 09 09 53 51 4c NTEGER*);....SQL
3d30: 52 45 54 55 52 4e 20 53 51 4c 47 65 74 53 74 6d RETURN SQLGetStm
3d40: 74 41 74 74 72 28 53 51 4c 48 53 54 4d 54 2c 20 tAttr(SQLHSTMT,
3d50: 53 51 4c 49 4e 54 45 47 45 52 2c 20 53 51 4c 50 SQLINTEGER, SQLP
3d60: 4f 49 4e 54 45 52 2c 20 53 51 4c 49 4e 54 45 47 OINTER, SQLINTEG
3d70: 45 52 2c 20 53 51 4c 49 4e 54 45 47 45 52 2a 29 ER, SQLINTEGER*)
3d80: 3b 0d 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53 ;....SQLRETURN S
3d90: 51 4c 53 65 74 43 6f 6e 6e 65 63 74 41 74 74 72 QLSetConnectAttr
3da0: 28 53 51 4c 48 44 42 43 2c 20 53 51 4c 49 4e 54 (SQLHDBC, SQLINT
3db0: 45 47 45 52 2c 20 53 51 4c 50 4f 49 4e 54 45 52 EGER, SQLPOINTER
3dc0: 2c 20 53 51 4c 49 4e 54 45 47 45 52 29 3b 0d 0a , SQLINTEGER);..
3dd0: 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 53 ..SQLRETURN SQLS
3de0: 65 74 44 65 73 63 46 69 65 6c 64 28 53 51 4c 48 etDescField(SQLH
3df0: 44 45 53 43 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e DESC, SQLSMALLIN
3e00: 54 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 T, SQLSMALLINT,
3e10: 53 51 4c 50 4f 49 4e 54 45 52 2c 20 53 51 4c 49 SQLPOINTER, SQLI
3e20: 4e 54 45 47 45 52 29 3b 0d 0a 09 09 53 51 4c 52 NTEGER);....SQLR
3e30: 45 54 55 52 4e 20 53 51 4c 53 65 74 44 65 73 63 ETURN SQLSetDesc
3e40: 52 65 63 28 53 51 4c 48 44 45 53 43 2c 20 53 51 Rec(SQLHDESC, SQ
3e50: 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 53 4d LSMALLINT, SQLSM
3e60: 41 4c 4c 49 4e 54 2c 20 53 51 4c 53 4d 41 4c 4c ALLINT, SQLSMALL
3e70: 49 4e 54 2c 20 53 51 4c 4c 45 4e 2c 20 53 51 4c INT, SQLLEN, SQL
3e80: 53 4d 41 4c 4c 49 4e 54 2c 0a 09 09 09 53 51 4c SMALLINT,....SQL
3e90: 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 50 4f 49 SMALLINT, SQLPOI
3ea0: 4e 54 45 52 2c 20 53 51 4c 4c 45 4e 2a 2c 20 53 NTER, SQLLEN*, S
3eb0: 51 4c 4c 45 4e 2a 29 3b 0d 0a 09 09 53 51 4c 52 QLLEN*);....SQLR
3ec0: 45 54 55 52 4e 20 53 51 4c 53 65 74 45 6e 76 41 ETURN SQLSetEnvA
3ed0: 74 74 72 28 53 51 4c 48 45 4e 56 2c 20 53 51 4c ttr(SQLHENV, SQL
3ee0: 49 4e 54 45 47 45 52 2c 20 53 51 4c 50 4f 49 4e INTEGER, SQLPOIN
3ef0: 54 45 52 2c 20 53 51 4c 49 4e 54 45 47 45 52 29 TER, SQLINTEGER)
3f00: 3b 0d 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53 ;....SQLRETURN S
3f10: 51 4c 53 65 74 53 74 6d 74 41 74 74 72 28 53 51 QLSetStmtAttr(SQ
3f20: 4c 48 53 54 4d 54 2c 20 53 51 4c 49 4e 54 45 47 LHSTMT, SQLINTEG
3f30: 45 52 2c 20 53 51 4c 50 4f 49 4e 54 45 52 2c 20 ER, SQLPOINTER,
3f40: 53 51 4c 49 4e 54 45 47 45 52 29 3b 0d 0a 09 7d SQLINTEGER);...}
3f50: 2f 2a 20 28 4f 44 42 43 56 45 52 20 3e 3d 20 30 /* (ODBCVER >= 0
3f60: 78 30 33 30 30 29 20 2a 2f 0d 0a 7d x0300) */..}