1/**
  2 * This file has no copyright assigned and is placed in the Public Domain.
  3 * This file is part of the mingw-w64 runtime package.
  4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5 */
  6#ifndef __SQL
  7#define __SQL
  8
  9#ifndef ODBCVER
 10#define ODBCVER 0x0380
 11#endif
 12
 13#include <sqltypes.h>
 14
 15#ifdef __cplusplus
 16extern "C" {
 17#endif
 18
 19#define SQL_NULL_DATA (-1)
 20#define SQL_DATA_AT_EXEC (-2)
 21
 22#define SQL_SUCCESS 0
 23#define SQL_SUCCESS_WITH_INFO 1
 24#if (ODBCVER >= 0x0300)
 25#define SQL_NO_DATA 100
 26#endif
 27#define SQL_ERROR (-1)
 28#define SQL_INVALID_HANDLE (-2)
 29
 30#define SQL_STILL_EXECUTING 2
 31#define SQL_NEED_DATA 99
 32
 33#define SQL_SUCCEEDED(rc) (((rc)&(~1))==0)
 34
 35#define SQL_NTS (-3)
 36#define SQL_NTSL (__MSABI_LONG(-3))
 37
 38#define SQL_MAX_MESSAGE_LENGTH 512
 39
 40#if (ODBCVER >= 0x0300)
 41#define SQL_DATE_LEN 10
 42#define SQL_TIME_LEN 8
 43#define SQL_TIMESTAMP_LEN 19
 44#endif
 45
 46#if (ODBCVER >= 0x0300)
 47#define SQL_HANDLE_ENV 1
 48#define SQL_HANDLE_DBC 2
 49#define SQL_HANDLE_STMT 3
 50#define SQL_HANDLE_DESC 4
 51#endif
 52
 53#if (ODBCVER >= 0x0300)
 54#define SQL_ATTR_OUTPUT_NTS 10001
 55#endif
 56
 57#if (ODBCVER >= 0x0300)
 58#define SQL_ATTR_AUTO_IPD 10001
 59#define SQL_ATTR_METADATA_ID 10014
 60#endif
 61
 62#if (ODBCVER >= 0x0300)
 63#define SQL_ATTR_APP_ROW_DESC 10010
 64#define SQL_ATTR_APP_PARAM_DESC 10011
 65#define SQL_ATTR_IMP_ROW_DESC 10012
 66#define SQL_ATTR_IMP_PARAM_DESC 10013
 67#define SQL_ATTR_CURSOR_SCROLLABLE (-1)
 68#define SQL_ATTR_CURSOR_SENSITIVITY (-2)
 69#endif
 70
 71#if (ODBCVER >= 0x0300)
 72#define SQL_NONSCROLLABLE 0
 73#define SQL_SCROLLABLE 1
 74#endif
 75
 76#if (ODBCVER >= 0x0300)
 77#define SQL_DESC_COUNT 1001
 78#define SQL_DESC_TYPE 1002
 79#define SQL_DESC_LENGTH 1003
 80#define SQL_DESC_OCTET_LENGTH_PTR 1004
 81#define SQL_DESC_PRECISION 1005
 82#define SQL_DESC_SCALE 1006
 83#define SQL_DESC_DATETIME_INTERVAL_CODE 1007
 84#define SQL_DESC_NULLABLE 1008
 85#define SQL_DESC_INDICATOR_PTR 1009
 86#define SQL_DESC_DATA_PTR 1010
 87#define SQL_DESC_NAME 1011
 88#define SQL_DESC_UNNAMED 1012
 89#define SQL_DESC_OCTET_LENGTH 1013
 90#define SQL_DESC_ALLOC_TYPE 1099
 91#endif
 92
 93#if (ODBCVER >= 0x0300)
 94#define SQL_DIAG_RETURNCODE 1
 95#define SQL_DIAG_NUMBER 2
 96#define SQL_DIAG_ROW_COUNT 3
 97#define SQL_DIAG_SQLSTATE 4
 98#define SQL_DIAG_NATIVE 5
 99#define SQL_DIAG_MESSAGE_TEXT 6
100#define SQL_DIAG_DYNAMIC_FUNCTION 7
101#define SQL_DIAG_CLASS_ORIGIN 8
102#define SQL_DIAG_SUBCLASS_ORIGIN 9
103#define SQL_DIAG_CONNECTION_NAME 10
104#define SQL_DIAG_SERVER_NAME 11
105#define SQL_DIAG_DYNAMIC_FUNCTION_CODE 12
106#endif
107
108#if (ODBCVER >= 0x0300)
109#define SQL_DIAG_ALTER_DOMAIN 3
110#define SQL_DIAG_ALTER_TABLE 4
111#define SQL_DIAG_CALL 7
112#define SQL_DIAG_CREATE_ASSERTION 6
113#define SQL_DIAG_CREATE_CHARACTER_SET 8
114#define SQL_DIAG_CREATE_COLLATION 10
115#define SQL_DIAG_CREATE_DOMAIN 23
116#define SQL_DIAG_CREATE_INDEX (-1)
117#define SQL_DIAG_CREATE_SCHEMA 64
118#define SQL_DIAG_CREATE_TABLE 77
119#define SQL_DIAG_CREATE_TRANSLATION 79
120#define SQL_DIAG_CREATE_VIEW 84
121#define SQL_DIAG_DELETE_WHERE 19
122#define SQL_DIAG_DROP_ASSERTION 24
123#define SQL_DIAG_DROP_CHARACTER_SET 25
124#define SQL_DIAG_DROP_COLLATION 26
125#define SQL_DIAG_DROP_DOMAIN 27
126#define SQL_DIAG_DROP_INDEX (-2)
127#define SQL_DIAG_DROP_SCHEMA 31
128#define SQL_DIAG_DROP_TABLE 32
129#define SQL_DIAG_DROP_TRANSLATION 33
130#define SQL_DIAG_DROP_VIEW 36
131#define SQL_DIAG_DYNAMIC_DELETE_CURSOR 38
132#define SQL_DIAG_DYNAMIC_UPDATE_CURSOR 81
133#define SQL_DIAG_GRANT 48
134#define SQL_DIAG_INSERT 50
135#define SQL_DIAG_REVOKE 59
136#define SQL_DIAG_SELECT_CURSOR 85
137#define SQL_DIAG_UNKNOWN_STATEMENT 0
138#define SQL_DIAG_UPDATE_WHERE 82
139#endif
140
141#define SQL_UNKNOWN_TYPE 0
142#define SQL_CHAR 1
143#define SQL_NUMERIC 2
144#define SQL_DECIMAL 3
145#define SQL_INTEGER 4
146#define SQL_SMALLINT 5
147#define SQL_FLOAT 6
148#define SQL_REAL 7
149#define SQL_DOUBLE 8
150#if (ODBCVER >= 0x0300)
151#define SQL_DATETIME 9
152#endif
153#define SQL_VARCHAR 12
154
155#if (ODBCVER >= 0x0300)
156#define SQL_TYPE_DATE 91
157#define SQL_TYPE_TIME 92
158#define SQL_TYPE_TIMESTAMP 93
159#endif
160
161#if (ODBCVER >= 0x0300)
162#define SQL_UNSPECIFIED 0
163#define SQL_INSENSITIVE 1
164#define SQL_SENSITIVE 2
165#endif
166
167#define SQL_ALL_TYPES 0
168
169#if (ODBCVER >= 0x0300)
170#define SQL_DEFAULT 99
171#endif
172
173#if (ODBCVER >= 0x0300)
174#define SQL_ARD_TYPE (-99)
175#endif
176
177#if (ODBCVER >= 0x0300)
178#define SQL_CODE_DATE 1
179#define SQL_CODE_TIME 2
180#define SQL_CODE_TIMESTAMP 3
181#endif
182
183#if (ODBCVER >= 0x0300)
184#define SQL_FALSE 0
185#define SQL_TRUE 1
186#endif
187
188#define SQL_NO_NULLS 0
189#define SQL_NULLABLE 1
190
191#define SQL_NULLABLE_UNKNOWN 2
192
193#if (ODBCVER >= 0x0300)
194#define SQL_PRED_NONE 0
195#define SQL_PRED_CHAR 1
196#define SQL_PRED_BASIC 2
197#endif
198
199#if (ODBCVER >= 0x0300)
200#define SQL_NAMED 0
201#define SQL_UNNAMED 1
202#endif
203
204#if (ODBCVER >= 0x0300)
205#define SQL_DESC_ALLOC_AUTO 1
206#define SQL_DESC_ALLOC_USER 2
207#endif
208
209#define SQL_CLOSE 0
210#define SQL_DROP 1
211#define SQL_UNBIND 2
212#define SQL_RESET_PARAMS 3
213
214#define SQL_FETCH_NEXT 1
215#define SQL_FETCH_FIRST 2
216
217#define SQL_FETCH_LAST 3
218#define SQL_FETCH_PRIOR 4
219#define SQL_FETCH_ABSOLUTE 5
220#define SQL_FETCH_RELATIVE 6
221
222#define SQL_COMMIT 0
223#define SQL_ROLLBACK 1
224
225#define SQL_NULL_HENV 0
226#define SQL_NULL_HDBC 0
227#define SQL_NULL_HSTMT 0
228#if (ODBCVER >= 0x0300)
229#define SQL_NULL_HDESC 0
230#endif
231
232#if (ODBCVER >= 0x0300)
233#define SQL_NULL_HANDLE __MSABI_LONG(0)
234#endif
235
236#define SQL_SCOPE_CURROW 0
237#define SQL_SCOPE_TRANSACTION 1
238#define SQL_SCOPE_SESSION 2
239
240#define SQL_PC_UNKNOWN 0
241#if (ODBCVER >= 0x0300)
242#define SQL_PC_NON_PSEUDO 1
243#endif
244#define SQL_PC_PSEUDO 2
245
246#if (ODBCVER >= 0x0300)
247#define SQL_ROW_IDENTIFIER 1
248#endif
249
250#define SQL_INDEX_UNIQUE 0
251#define SQL_INDEX_ALL 1
252
253#define SQL_INDEX_CLUSTERED 1
254#define SQL_INDEX_HASHED 2
255#define SQL_INDEX_OTHER 3
256
257#define SQL_API_SQLALLOCCONNECT 1
258#define SQL_API_SQLALLOCENV 2
259#if (ODBCVER >= 0x0300)
260#define SQL_API_SQLALLOCHANDLE 1001
261#endif
262#define SQL_API_SQLALLOCSTMT 3
263#define SQL_API_SQLBINDCOL 4
264#if (ODBCVER >= 0x0300)
265#define SQL_API_SQLBINDPARAM 1002
266#endif
267#define SQL_API_SQLCANCEL 5
268#if (ODBCVER >= 0x0300)
269#define SQL_API_SQLCLOSECURSOR 1003
270#define SQL_API_SQLCOLATTRIBUTE 6
271#endif
272#define SQL_API_SQLCOLUMNS 40
273#define SQL_API_SQLCONNECT 7
274#if (ODBCVER >= 0x0300)
275#define SQL_API_SQLCOPYDESC 1004
276#endif
277#define SQL_API_SQLDATASOURCES 57
278#define SQL_API_SQLDESCRIBECOL 8
279#define SQL_API_SQLDISCONNECT 9
280#if (ODBCVER >= 0x0300)
281#define SQL_API_SQLENDTRAN 1005
282#endif
283#define SQL_API_SQLERROR 10
284#define SQL_API_SQLEXECDIRECT 11
285#define SQL_API_SQLEXECUTE 12
286#define SQL_API_SQLFETCH 13
287#if (ODBCVER >= 0x0300)
288#define SQL_API_SQLFETCHSCROLL 1021
289#endif
290#define SQL_API_SQLFREECONNECT 14
291#define SQL_API_SQLFREEENV 15
292#if (ODBCVER >= 0x0300)
293#define SQL_API_SQLFREEHANDLE 1006
294#endif
295#define SQL_API_SQLFREESTMT 16
296#if (ODBCVER >= 0x0300)
297#define SQL_API_SQLGETCONNECTATTR 1007
298#endif
299#define SQL_API_SQLGETCONNECTOPTION 42
300#define SQL_API_SQLGETCURSORNAME 17
301#define SQL_API_SQLGETDATA 43
302#if (ODBCVER >= 0x0300)
303#define SQL_API_SQLGETDESCFIELD 1008
304#define SQL_API_SQLGETDESCREC 1009
305#define SQL_API_SQLGETDIAGFIELD 1010
306#define SQL_API_SQLGETDIAGREC 1011
307#define SQL_API_SQLGETENVATTR 1012
308#endif
309#define SQL_API_SQLGETFUNCTIONS 44
310#define SQL_API_SQLGETINFO 45
311#if (ODBCVER >= 0x0300)
312#define SQL_API_SQLGETSTMTATTR 1014
313#endif
314#define SQL_API_SQLGETSTMTOPTION 46
315#define SQL_API_SQLGETTYPEINFO 47
316#define SQL_API_SQLNUMRESULTCOLS 18
317#define SQL_API_SQLPARAMDATA 48
318#define SQL_API_SQLPREPARE 19
319#define SQL_API_SQLPUTDATA 49
320#define SQL_API_SQLROWCOUNT 20
321#if (ODBCVER >= 0x0300)
322#define SQL_API_SQLSETCONNECTATTR 1016
323#endif
324#define SQL_API_SQLSETCONNECTOPTION 50
325#define SQL_API_SQLSETCURSORNAME 21
326#if (ODBCVER >= 0x0300)
327#define SQL_API_SQLSETDESCFIELD 1017
328#define SQL_API_SQLSETDESCREC 1018
329#define SQL_API_SQLSETENVATTR 1019
330#endif
331#define SQL_API_SQLSETPARAM 22
332#if (ODBCVER >= 0x0300)
333#define SQL_API_SQLSETSTMTATTR 1020
334#endif
335#define SQL_API_SQLSETSTMTOPTION 51
336#define SQL_API_SQLSPECIALCOLUMNS 52
337#define SQL_API_SQLSTATISTICS 53
338#define SQL_API_SQLTABLES 54
339#define SQL_API_SQLTRANSACT 23
340
341#if (ODBCVER >= 0x0300)
342#define SQL_MAX_DRIVER_CONNECTIONS 0
343#define SQL_MAXIMUM_DRIVER_CONNECTIONS SQL_MAX_DRIVER_CONNECTIONS
344#define SQL_MAX_CONCURRENT_ACTIVITIES 1
345#define SQL_MAXIMUM_CONCURRENT_ACTIVITIES SQL_MAX_CONCURRENT_ACTIVITIES
346#endif
347#define SQL_DATA_SOURCE_NAME 2
348#define SQL_FETCH_DIRECTION 8
349#define SQL_SERVER_NAME 13
350#define SQL_SEARCH_PATTERN_ESCAPE 14
351#define SQL_DBMS_NAME 17
352#define SQL_DBMS_VER 18
353#define SQL_ACCESSIBLE_TABLES 19
354#define SQL_ACCESSIBLE_PROCEDURES 20
355#define SQL_CURSOR_COMMIT_BEHAVIOR 23
356#define SQL_DATA_SOURCE_READ_ONLY 25
357#define SQL_DEFAULT_TXN_ISOLATION 26
358#define SQL_IDENTIFIER_CASE 28
359#define SQL_IDENTIFIER_QUOTE_CHAR 29
360#define SQL_MAX_COLUMN_NAME_LEN 30
361#define SQL_MAXIMUM_COLUMN_NAME_LENGTH SQL_MAX_COLUMN_NAME_LEN
362#define SQL_MAX_CURSOR_NAME_LEN 31
363#define SQL_MAXIMUM_CURSOR_NAME_LENGTH SQL_MAX_CURSOR_NAME_LEN
364#define SQL_MAX_SCHEMA_NAME_LEN 32
365#define SQL_MAXIMUM_SCHEMA_NAME_LENGTH SQL_MAX_SCHEMA_NAME_LEN
366#define SQL_MAX_CATALOG_NAME_LEN 34
367#define SQL_MAXIMUM_CATALOG_NAME_LENGTH SQL_MAX_CATALOG_NAME_LEN
368#define SQL_MAX_TABLE_NAME_LEN 35
369#define SQL_SCROLL_CONCURRENCY 43
370#define SQL_TXN_CAPABLE 46
371#define SQL_TRANSACTION_CAPABLE SQL_TXN_CAPABLE
372#define SQL_USER_NAME 47
373#define SQL_TXN_ISOLATION_OPTION 72
374#define SQL_TRANSACTION_ISOLATION_OPTION SQL_TXN_ISOLATION_OPTION
375#define SQL_INTEGRITY 73
376#define SQL_GETDATA_EXTENSIONS 81
377#define SQL_NULL_COLLATION 85
378#define SQL_ALTER_TABLE 86
379#define SQL_ORDER_BY_COLUMNS_IN_SELECT 90
380#define SQL_SPECIAL_CHARACTERS 94
381#define SQL_MAX_COLUMNS_IN_GROUP_BY 97
382#define SQL_MAXIMUM_COLUMNS_IN_GROUP_BY SQL_MAX_COLUMNS_IN_GROUP_BY
383#define SQL_MAX_COLUMNS_IN_INDEX 98
384#define SQL_MAXIMUM_COLUMNS_IN_INDEX SQL_MAX_COLUMNS_IN_INDEX
385#define SQL_MAX_COLUMNS_IN_ORDER_BY 99
386#define SQL_MAXIMUM_COLUMNS_IN_ORDER_BY SQL_MAX_COLUMNS_IN_ORDER_BY
387#define SQL_MAX_COLUMNS_IN_SELECT 100
388#define SQL_MAXIMUM_COLUMNS_IN_SELECT SQL_MAX_COLUMNS_IN_SELECT
389#define SQL_MAX_COLUMNS_IN_TABLE 101
390#define SQL_MAX_INDEX_SIZE 102
391#define SQL_MAXIMUM_INDEX_SIZE SQL_MAX_INDEX_SIZE
392#define SQL_MAX_ROW_SIZE 104
393#define SQL_MAXIMUM_ROW_SIZE SQL_MAX_ROW_SIZE
394#define SQL_MAX_STATEMENT_LEN 105
395#define SQL_MAXIMUM_STATEMENT_LENGTH SQL_MAX_STATEMENT_LEN
396#define SQL_MAX_TABLES_IN_SELECT 106
397#define SQL_MAXIMUM_TABLES_IN_SELECT SQL_MAX_TABLES_IN_SELECT
398#define SQL_MAX_USER_NAME_LEN 107
399#define SQL_MAXIMUM_USER_NAME_LENGTH SQL_MAX_USER_NAME_LEN
400#if (ODBCVER >= 0x0300)
401#define SQL_OJ_CAPABILITIES 115
402#define SQL_OUTER_JOIN_CAPABILITIES SQL_OJ_CAPABILITIES
403#endif
404
405#if (ODBCVER >= 0x0300)
406#define SQL_XOPEN_CLI_YEAR 10000
407#define SQL_CURSOR_SENSITIVITY 10001
408#define SQL_DESCRIBE_PARAMETER 10002
409#define SQL_CATALOG_NAME 10003
410#define SQL_COLLATION_SEQ 10004
411#define SQL_MAX_IDENTIFIER_LEN 10005
412#define SQL_MAXIMUM_IDENTIFIER_LENGTH SQL_MAX_IDENTIFIER_LEN
413#endif
414
415#if (ODBCVER >= 0x0200)
416#define SQL_AT_ADD_COLUMN __MSABI_LONG(0x00000001)
417#define SQL_AT_DROP_COLUMN __MSABI_LONG(0x00000002)
418#endif
419
420#if (ODBCVER >= 0x0300)
421#define SQL_AT_ADD_CONSTRAINT __MSABI_LONG(0x00000008)
422#endif
423
424#if (ODBCVER >= 0x0300)
425#define SQL_AM_NONE 0
426#define SQL_AM_CONNECTION 1
427#define SQL_AM_STATEMENT 2
428#endif
429
430#define SQL_CB_DELETE 0
431#define SQL_CB_CLOSE 1
432#define SQL_CB_PRESERVE 2
433
434#define SQL_FD_FETCH_NEXT __MSABI_LONG(0x00000001)
435#define SQL_FD_FETCH_FIRST __MSABI_LONG(0x00000002)
436#define SQL_FD_FETCH_LAST __MSABI_LONG(0x00000004)
437#define SQL_FD_FETCH_PRIOR __MSABI_LONG(0x00000008)
438#define SQL_FD_FETCH_ABSOLUTE __MSABI_LONG(0x00000010)
439#define SQL_FD_FETCH_RELATIVE __MSABI_LONG(0x00000020)
440
441#define SQL_GD_ANY_COLUMN __MSABI_LONG(0x00000001)
442#define SQL_GD_ANY_ORDER __MSABI_LONG(0x00000002)
443
444#define SQL_IC_UPPER 1
445#define SQL_IC_LOWER 2
446#define SQL_IC_SENSITIVE 3
447#define SQL_IC_MIXED 4
448
449#if (ODBCVER >= 0x0201)
450#define SQL_OJ_LEFT __MSABI_LONG(0x00000001)
451#define SQL_OJ_RIGHT __MSABI_LONG(0x00000002)
452#define SQL_OJ_FULL __MSABI_LONG(0x00000004)
453#define SQL_OJ_NESTED __MSABI_LONG(0x00000008)
454#define SQL_OJ_NOT_ORDERED __MSABI_LONG(0x00000010)
455#define SQL_OJ_INNER __MSABI_LONG(0x00000020)
456#define SQL_OJ_ALL_COMPARISON_OPS __MSABI_LONG(0x00000040)
457#endif
458
459#define SQL_SCCO_READ_ONLY __MSABI_LONG(0x00000001)
460#define SQL_SCCO_LOCK __MSABI_LONG(0x00000002)
461#define SQL_SCCO_OPT_ROWVER __MSABI_LONG(0x00000004)
462#define SQL_SCCO_OPT_VALUES __MSABI_LONG(0x00000008)
463
464#define SQL_TC_NONE 0
465#define SQL_TC_DML 1
466#define SQL_TC_ALL 2
467#define SQL_TC_DDL_COMMIT 3
468#define SQL_TC_DDL_IGNORE 4
469
470#define SQL_TXN_READ_UNCOMMITTED __MSABI_LONG(0x00000001)
471#define SQL_TRANSACTION_READ_UNCOMMITTED SQL_TXN_READ_UNCOMMITTED
472#define SQL_TXN_READ_COMMITTED __MSABI_LONG(0x00000002)
473#define SQL_TRANSACTION_READ_COMMITTED SQL_TXN_READ_COMMITTED
474#define SQL_TXN_REPEATABLE_READ __MSABI_LONG(0x00000004)
475#define SQL_TRANSACTION_REPEATABLE_READ SQL_TXN_REPEATABLE_READ
476#define SQL_TXN_SERIALIZABLE __MSABI_LONG(0x00000008)
477#define SQL_TRANSACTION_SERIALIZABLE SQL_TXN_SERIALIZABLE
478
479#define SQL_NC_HIGH 0
480#define SQL_NC_LOW 1
481
482#ifndef RC_INVOKED
483  SQLRETURN SQL_API SQLAllocConnect(SQLHENV EnvironmentHandle,SQLHDBC *ConnectionHandle);
484  SQLRETURN SQL_API SQLAllocEnv(SQLHENV *EnvironmentHandle);
485#if (ODBCVER >= 0x0300)
486  SQLRETURN SQL_API SQLAllocHandle(SQLSMALLINT HandleType,SQLHANDLE InputHandle,SQLHANDLE *OutputHandle);
487#endif
488  SQLRETURN SQL_API SQLAllocStmt(SQLHDBC ConnectionHandle,SQLHSTMT *StatementHandle);
489  SQLRETURN SQL_API SQLBindCol(SQLHSTMT StatementHandle,SQLUSMALLINT ColumnNumber,SQLSMALLINT TargetType,SQLPOINTER TargetValue,SQLLEN BufferLength,SQLLEN *StrLen_or_Ind);
490#if (ODBCVER >= 0x0300)
491  SQLRETURN SQL_API SQLBindParam(SQLHSTMT StatementHandle,SQLUSMALLINT ParameterNumber,SQLSMALLINT ValueType,SQLSMALLINT ParameterType,SQLULEN LengthPrecision,SQLSMALLINT ParameterScale,SQLPOINTER ParameterValue,SQLLEN *StrLen_or_Ind);
492#endif
493  SQLRETURN SQL_API SQLCancel(SQLHSTMT StatementHandle);
494#if (ODBCVER >= 0x0300)
495  SQLRETURN SQL_API SQLCloseCursor(SQLHSTMT StatementHandle);
496#ifdef _WIN64
497  SQLRETURN SQL_API SQLColAttribute(SQLHSTMT StatementHandle,SQLUSMALLINT ColumnNumber,SQLUSMALLINT FieldIdentifier,SQLPOINTER CharacterAttribute,SQLSMALLINT BufferLength,SQLSMALLINT *StringLength,SQLLEN *NumericAttribute);
498#else
499  SQLRETURN SQL_API SQLColAttribute(SQLHSTMT StatementHandle,SQLUSMALLINT ColumnNumber,SQLUSMALLINT FieldIdentifier,SQLPOINTER CharacterAttribute,SQLSMALLINT BufferLength,SQLSMALLINT *StringLength,SQLPOINTER NumericAttribute);
500#endif
501#endif
502  SQLRETURN SQL_API SQLColumns(SQLHSTMT StatementHandle,SQLCHAR *CatalogName,SQLSMALLINT NameLength1,SQLCHAR *SchemaName,SQLSMALLINT NameLength2,SQLCHAR *TableName,SQLSMALLINT NameLength3,SQLCHAR *ColumnName,SQLSMALLINT NameLength4);
503  SQLRETURN SQL_API SQLConnect(SQLHDBC ConnectionHandle,SQLCHAR *ServerName,SQLSMALLINT NameLength1,SQLCHAR *UserName,SQLSMALLINT NameLength2,SQLCHAR *Authentication,SQLSMALLINT NameLength3);
504#if (ODBCVER >= 0x0300)
505  SQLRETURN SQL_API SQLCopyDesc(SQLHDESC SourceDescHandle,SQLHDESC TargetDescHandle);
506#endif
507  SQLRETURN SQL_API SQLDataSources(SQLHENV EnvironmentHandle,SQLUSMALLINT Direction,SQLCHAR *ServerName,SQLSMALLINT BufferLength1,SQLSMALLINT *NameLength1,SQLCHAR *Description,SQLSMALLINT BufferLength2,SQLSMALLINT *NameLength2);
508  SQLRETURN SQL_API SQLDescribeCol(SQLHSTMT StatementHandle,SQLUSMALLINT ColumnNumber,SQLCHAR *ColumnName,SQLSMALLINT BufferLength,SQLSMALLINT *NameLength,SQLSMALLINT *DataType,SQLULEN *ColumnSize,SQLSMALLINT *DecimalDigits,SQLSMALLINT *Nullable);
509  SQLRETURN SQL_API SQLDisconnect(SQLHDBC ConnectionHandle);
510#if (ODBCVER >= 0x0300)
511  SQLRETURN SQL_API SQLEndTran(SQLSMALLINT HandleType,SQLHANDLE Handle,SQLSMALLINT CompletionType);
512#endif
513  SQLRETURN SQL_API SQLError(SQLHENV EnvironmentHandle,SQLHDBC ConnectionHandle,SQLHSTMT StatementHandle,SQLCHAR *Sqlstate,SQLINTEGER *NativeError,SQLCHAR *MessageText,SQLSMALLINT BufferLength,SQLSMALLINT *TextLength);
514  SQLRETURN SQL_API SQLExecDirect(SQLHSTMT StatementHandle,SQLCHAR *StatementText,SQLINTEGER TextLength);
515  SQLRETURN SQL_API SQLExecute(SQLHSTMT StatementHandle);
516  SQLRETURN SQL_API SQLFetch(SQLHSTMT StatementHandle);
517#if (ODBCVER >= 0x0300)
518  SQLRETURN SQL_API SQLFetchScroll(SQLHSTMT StatementHandle,SQLSMALLINT FetchOrientation,SQLLEN FetchOffset);
519#endif
520  SQLRETURN SQL_API SQLFreeConnect(SQLHDBC ConnectionHandle);
521  SQLRETURN SQL_API SQLFreeEnv(SQLHENV EnvironmentHandle);
522#if (ODBCVER >= 0x0300)
523  SQLRETURN SQL_API SQLFreeHandle(SQLSMALLINT HandleType,SQLHANDLE Handle);
524#endif
525  SQLRETURN SQL_API SQLFreeStmt(SQLHSTMT StatementHandle,SQLUSMALLINT Option);
526#if (ODBCVER >= 0x0300)
527  SQLRETURN SQL_API SQLGetConnectAttr(SQLHDBC ConnectionHandle,SQLINTEGER Attribute,SQLPOINTER Value,SQLINTEGER BufferLength,SQLINTEGER *StringLength);
528#endif
529  SQLRETURN SQL_API SQLGetConnectOption(SQLHDBC ConnectionHandle,SQLUSMALLINT Option,SQLPOINTER Value);
530  SQLRETURN SQL_API SQLGetCursorName(SQLHSTMT StatementHandle,SQLCHAR *CursorName,SQLSMALLINT BufferLength,SQLSMALLINT *NameLength);
531  SQLRETURN SQL_API SQLGetData(SQLHSTMT StatementHandle,SQLUSMALLINT ColumnNumber,SQLSMALLINT TargetType,SQLPOINTER TargetValue,SQLLEN BufferLength,SQLLEN *StrLen_or_Ind);
532#if (ODBCVER >= 0x0300)
533  SQLRETURN SQL_API SQLGetDescField(SQLHDESC DescriptorHandle,SQLSMALLINT RecNumber,SQLSMALLINT FieldIdentifier,SQLPOINTER Value,SQLINTEGER BufferLength,SQLINTEGER *StringLength);
534  SQLRETURN SQL_API SQLGetDescRec(SQLHDESC DescriptorHandle,SQLSMALLINT RecNumber,SQLCHAR *Name,SQLSMALLINT BufferLength,SQLSMALLINT *StringLength,SQLSMALLINT *Type,SQLSMALLINT *SubType,SQLLEN *Length,SQLSMALLINT *Precision,SQLSMALLINT *Scale,SQLSMALLINT *Nullable);
535  SQLRETURN SQL_API SQLGetDiagField(SQLSMALLINT HandleType,SQLHANDLE Handle,SQLSMALLINT RecNumber,SQLSMALLINT DiagIdentifier,SQLPOINTER DiagInfo,SQLSMALLINT BufferLength,SQLSMALLINT *StringLength);
536  SQLRETURN SQL_API SQLGetDiagRec(SQLSMALLINT HandleType,SQLHANDLE Handle,SQLSMALLINT RecNumber,SQLCHAR *Sqlstate,SQLINTEGER *NativeError,SQLCHAR *MessageText,SQLSMALLINT BufferLength,SQLSMALLINT *TextLength);
537  SQLRETURN SQL_API SQLGetEnvAttr(SQLHENV EnvironmentHandle,SQLINTEGER Attribute,SQLPOINTER Value,SQLINTEGER BufferLength,SQLINTEGER *StringLength);
538#endif
539  SQLRETURN SQL_API SQLGetFunctions(SQLHDBC ConnectionHandle,SQLUSMALLINT FunctionId,SQLUSMALLINT *Supported);
540  SQLRETURN SQL_API SQLGetInfo(SQLHDBC ConnectionHandle,SQLUSMALLINT InfoType,SQLPOINTER InfoValue,SQLSMALLINT BufferLength,SQLSMALLINT *StringLength);
541#if (ODBCVER >= 0x0300)
542  SQLRETURN SQL_API SQLGetStmtAttr(SQLHSTMT StatementHandle,SQLINTEGER Attribute,SQLPOINTER Value,SQLINTEGER BufferLength,SQLINTEGER *StringLength);
543#endif
544  SQLRETURN SQL_API SQLGetStmtOption(SQLHSTMT StatementHandle,SQLUSMALLINT Option,SQLPOINTER Value);
545  SQLRETURN SQL_API SQLGetTypeInfo(SQLHSTMT StatementHandle,SQLSMALLINT DataType);
546  SQLRETURN SQL_API SQLNumResultCols(SQLHSTMT StatementHandle,SQLSMALLINT *ColumnCount);
547  SQLRETURN SQL_API SQLParamData(SQLHSTMT StatementHandle,SQLPOINTER *Value);
548  SQLRETURN SQL_API SQLPrepare(SQLHSTMT StatementHandle,SQLCHAR *StatementText,SQLINTEGER TextLength);
549  SQLRETURN SQL_API SQLPutData(SQLHSTMT StatementHandle,SQLPOINTER Data,SQLLEN StrLen_or_Ind);
550  SQLRETURN SQL_API SQLRowCount(SQLHSTMT StatementHandle,SQLLEN *RowCount);
551#if (ODBCVER >= 0x0300)
552  SQLRETURN SQL_API SQLSetConnectAttr(SQLHDBC ConnectionHandle,SQLINTEGER Attribute,SQLPOINTER Value,SQLINTEGER StringLength);
553#endif
554  SQLRETURN SQL_API SQLSetConnectOption(SQLHDBC ConnectionHandle,SQLUSMALLINT Option,SQLULEN Value);
555  SQLRETURN SQL_API SQLSetCursorName(SQLHSTMT StatementHandle,SQLCHAR *CursorName,SQLSMALLINT NameLength);
556#if (ODBCVER >= 0x0300)
557  SQLRETURN SQL_API SQLSetDescField(SQLHDESC DescriptorHandle,SQLSMALLINT RecNumber,SQLSMALLINT FieldIdentifier,SQLPOINTER Value,SQLINTEGER BufferLength);
558  SQLRETURN SQL_API SQLSetDescRec(SQLHDESC DescriptorHandle,SQLSMALLINT RecNumber,SQLSMALLINT Type,SQLSMALLINT SubType,SQLLEN Length,SQLSMALLINT Precision,SQLSMALLINT Scale,SQLPOINTER Data,SQLLEN *StringLength,SQLLEN *Indicator);
559  SQLRETURN SQL_API SQLSetEnvAttr(SQLHENV EnvironmentHandle,SQLINTEGER Attribute,SQLPOINTER Value,SQLINTEGER StringLength);
560#endif
561  SQLRETURN SQL_API SQLSetParam(SQLHSTMT StatementHandle,SQLUSMALLINT ParameterNumber,SQLSMALLINT ValueType,SQLSMALLINT ParameterType,SQLULEN LengthPrecision,SQLSMALLINT ParameterScale,SQLPOINTER ParameterValue,SQLLEN *StrLen_or_Ind);
562#if (ODBCVER >= 0x0300)
563  SQLRETURN SQL_API SQLSetStmtAttr(SQLHSTMT StatementHandle,SQLINTEGER Attribute,SQLPOINTER Value,SQLINTEGER StringLength);
564#endif
565  SQLRETURN SQL_API SQLSetStmtOption(SQLHSTMT StatementHandle,SQLUSMALLINT Option,SQLULEN Value);
566  SQLRETURN SQL_API SQLSpecialColumns(SQLHSTMT StatementHandle,SQLUSMALLINT IdentifierType,SQLCHAR *CatalogName,SQLSMALLINT NameLength1,SQLCHAR *SchemaName,SQLSMALLINT NameLength2,SQLCHAR *TableName,SQLSMALLINT NameLength3,SQLUSMALLINT Scope,SQLUSMALLINT Nullable);
567  SQLRETURN SQL_API SQLStatistics(SQLHSTMT StatementHandle,SQLCHAR *CatalogName,SQLSMALLINT NameLength1,SQLCHAR *SchemaName,SQLSMALLINT NameLength2,SQLCHAR *TableName,SQLSMALLINT NameLength3,SQLUSMALLINT Unique,SQLUSMALLINT Reserved);
568  SQLRETURN SQL_API SQLTables(SQLHSTMT StatementHandle,SQLCHAR *CatalogName,SQLSMALLINT NameLength1,SQLCHAR *SchemaName,SQLSMALLINT NameLength2,SQLCHAR *TableName,SQLSMALLINT NameLength3,SQLCHAR *TableType,SQLSMALLINT NameLength4);
569  SQLRETURN SQL_API SQLTransact(SQLHENV EnvironmentHandle,SQLHDBC ConnectionHandle,SQLUSMALLINT CompletionType);
570#endif
571
572#ifdef __cplusplus
573}
574#endif
575#endif