1 | /* |
2 | * sql.h |
3 | * |
4 | * $Id$ |
5 | * |
6 | * ODBC defines |
7 | * |
8 | * The iODBC driver manager. |
9 | * |
10 | * Copyright (C) 1995 by Ke Jin <kejin@empress.com> |
11 | * Copyright (C) 1996-2012 by OpenLink Software <iodbc@openlinksw.com> |
12 | * All Rights Reserved. |
13 | * |
14 | * This software is released under the terms of either of the following |
15 | * licenses: |
16 | * |
17 | * - GNU Library General Public License (see LICENSE.LGPL) |
18 | * - The BSD License (see LICENSE.BSD). |
19 | * |
20 | * Note that the only valid version of the LGPL license as far as this |
21 | * project is concerned is the original GNU Library General Public License |
22 | * Version 2, dated June 1991. |
23 | * |
24 | * While not mandated by the BSD license, any patches you make to the |
25 | * iODBC source code may be contributed back into the iODBC project |
26 | * at your discretion. Contributions will benefit the Open Source and |
27 | * Data Access community as a whole. Submissions may be made at: |
28 | * |
29 | * http://www.iodbc.org |
30 | * |
31 | * |
32 | * GNU Library Generic Public License Version 2 |
33 | * ============================================ |
34 | * This library is free software; you can redistribute it and/or |
35 | * modify it under the terms of the GNU Library General Public |
36 | * License as published by the Free Software Foundation; only |
37 | * Version 2 of the License dated June 1991. |
38 | * |
39 | * This library is distributed in the hope that it will be useful, |
40 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
41 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
42 | * Library General Public License for more details. |
43 | * |
44 | * You should have received a copy of the GNU Library General Public |
45 | * License along with this library; if not, write to the Free |
46 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
47 | * |
48 | * |
49 | * The BSD License |
50 | * =============== |
51 | * Redistribution and use in source and binary forms, with or without |
52 | * modification, are permitted provided that the following conditions |
53 | * are met: |
54 | * |
55 | * 1. Redistributions of source code must retain the above copyright |
56 | * notice, this list of conditions and the following disclaimer. |
57 | * 2. Redistributions in binary form must reproduce the above copyright |
58 | * notice, this list of conditions and the following disclaimer in |
59 | * the documentation and/or other materials provided with the |
60 | * distribution. |
61 | * 3. Neither the name of OpenLink Software Inc. nor the names of its |
62 | * contributors may be used to endorse or promote products derived |
63 | * from this software without specific prior written permission. |
64 | * |
65 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
66 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
67 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
68 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL OPENLINK OR |
69 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
70 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
71 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
72 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF |
73 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
74 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
75 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
76 | */ |
77 | |
78 | #ifndef _SQL_H |
79 | #define _SQL_H |
80 | |
81 | /* |
82 | * Set default specification to ODBC 3.51 |
83 | */ |
84 | #ifndef ODBCVER |
85 | #define ODBCVER 0x0351 |
86 | #endif |
87 | |
88 | #ifndef _SQLTYPES_H |
89 | #include <sqltypes.h> |
90 | #endif |
91 | |
92 | #ifdef __cplusplus |
93 | extern "C" { |
94 | #endif |
95 | |
96 | /* |
97 | * Useful Constants |
98 | */ |
99 | #define SQL_MAX_MESSAGE_LENGTH 512 |
100 | |
101 | |
102 | /* |
103 | * Handle types |
104 | */ |
105 | #if (ODBCVER >= 0x0300) |
106 | #define SQL_HANDLE_ENV 1 |
107 | #define SQL_HANDLE_DBC 2 |
108 | #define SQL_HANDLE_STMT 3 |
109 | #define SQL_HANDLE_DESC 4 |
110 | #endif /* ODBCVER >= 0x0300 */ |
111 | |
112 | |
113 | /* |
114 | * Function return codes |
115 | */ |
116 | #define SQL_SUCCESS 0 |
117 | #define SQL_SUCCESS_WITH_INFO 1 |
118 | #define SQL_STILL_EXECUTING 2 |
119 | #define SQL_ERROR (-1) |
120 | #define SQL_INVALID_HANDLE (-2) |
121 | #define SQL_NEED_DATA 99 |
122 | #if (ODBCVER >= 0x0300) |
123 | #define SQL_NO_DATA 100 |
124 | #endif /* ODBCVER >= 0x0300 */ |
125 | |
126 | |
127 | /* |
128 | * Test for SQL_SUCCESS or SQL_SUCCESS_WITH_INFO |
129 | */ |
130 | #define SQL_SUCCEEDED(rc) (((rc) & (~1)) == 0) |
131 | |
132 | |
133 | /* |
134 | * Special length values |
135 | */ |
136 | #define SQL_NULL_DATA (-1) |
137 | #define SQL_DATA_AT_EXEC (-2) |
138 | |
139 | |
140 | /* |
141 | * Flags for null-terminated strings |
142 | */ |
143 | #define SQL_NTS (-3) |
144 | #define SQL_NTSL (-3L) |
145 | |
146 | |
147 | /* |
148 | * Standard SQL datatypes, using ANSI type numbering |
149 | */ |
150 | #define SQL_UNKNOWN_TYPE 0 |
151 | #define SQL_CHAR 1 |
152 | #define SQL_NUMERIC 2 |
153 | #define SQL_DECIMAL 3 |
154 | #define SQL_INTEGER 4 |
155 | #define SQL_SMALLINT 5 |
156 | #define SQL_FLOAT 6 |
157 | #define SQL_REAL 7 |
158 | #define SQL_DOUBLE 8 |
159 | #if (ODBCVER >= 0x0300) |
160 | #define SQL_DATETIME 9 |
161 | #endif /* ODBCVER >= 0x0300 */ |
162 | #define SQL_VARCHAR 12 |
163 | |
164 | |
165 | /* |
166 | * SQLGetTypeInfo request for all data types |
167 | */ |
168 | #define SQL_ALL_TYPES 0 |
169 | |
170 | |
171 | /* |
172 | * Statement attribute values for date/time data types |
173 | */ |
174 | #if (ODBCVER >= 0x0300) |
175 | #define SQL_TYPE_DATE 91 |
176 | #define SQL_TYPE_TIME 92 |
177 | #define SQL_TYPE_TIMESTAMP 93 |
178 | #endif /* ODBCVER >= 0x0300 */ |
179 | |
180 | |
181 | /* |
182 | * Date/Time length constants |
183 | */ |
184 | #if (ODBCVER >= 0x0300) |
185 | #define SQL_DATE_LEN 10 |
186 | #define SQL_TIME_LEN 8 /* add P+1 if prec >0 */ |
187 | #define SQL_TIMESTAMP_LEN 19 /* add P+1 if prec >0 */ |
188 | #endif /* ODBCVER >= 0x0300 */ |
189 | |
190 | |
191 | /* |
192 | * NULL status constants |
193 | */ |
194 | #define SQL_NO_NULLS 0 |
195 | #define SQL_NULLABLE 1 |
196 | #define SQL_NULLABLE_UNKNOWN 2 |
197 | |
198 | |
199 | /* |
200 | * NULL Handles |
201 | */ |
202 | #define SQL_NULL_HENV 0 |
203 | #define SQL_NULL_HDBC 0 |
204 | #define SQL_NULL_HSTMT 0 |
205 | #if (ODBCVER >= 0x0300) |
206 | #define SQL_NULL_HDESC 0 |
207 | #endif /* ODBCVER >= 0x0300 */ |
208 | |
209 | |
210 | /* |
211 | * NULL handle for parent argument to SQLAllocHandle when allocating |
212 | * a SQLHENV |
213 | */ |
214 | #if (ODBCVER >= 0x0300) |
215 | #define SQL_NULL_HANDLE 0L |
216 | #endif /* ODBCVER >= 0x0300 */ |
217 | |
218 | |
219 | /* |
220 | * CLI option values |
221 | */ |
222 | #if (ODBCVER >= 0x0300) |
223 | #define SQL_FALSE 0 |
224 | #define SQL_TRUE 1 |
225 | #endif /* ODBCVER >= 0x0300 */ |
226 | |
227 | |
228 | /* |
229 | * Default conversion code for SQLBindCol(), SQLBindParam() and SQLGetData() |
230 | */ |
231 | #if (ODBCVER >= 0x0300) |
232 | #define SQL_DEFAULT 99 |
233 | #endif /* ODBCVER >= 0x0300 */ |
234 | |
235 | |
236 | /* |
237 | * SQLDataSources/SQLFetchScroll - FetchOrientation |
238 | */ |
239 | #define SQL_FETCH_NEXT 1 |
240 | #define SQL_FETCH_FIRST 2 |
241 | |
242 | |
243 | /* |
244 | * SQLFetchScroll - FetchOrientation |
245 | */ |
246 | #define SQL_FETCH_LAST 3 |
247 | #define SQL_FETCH_PRIOR 4 |
248 | #define SQL_FETCH_ABSOLUTE 5 |
249 | #define SQL_FETCH_RELATIVE 6 |
250 | |
251 | |
252 | /* |
253 | * SQLFreeStmt |
254 | */ |
255 | #define SQL_CLOSE 0 |
256 | #define SQL_DROP 1 |
257 | #define SQL_UNBIND 2 |
258 | #define SQL_RESET_PARAMS 3 |
259 | |
260 | |
261 | /* |
262 | * SQLGetConnectAttr - connection attributes |
263 | */ |
264 | #if (ODBCVER >= 0x0300) |
265 | #define SQL_ATTR_AUTO_IPD 10001 |
266 | #define SQL_ATTR_METADATA_ID 10014 |
267 | #endif /* ODBCVER >= 0x0300 */ |
268 | |
269 | |
270 | /* |
271 | * SQLGetData() code indicating that the application row descriptor |
272 | * specifies the data type |
273 | */ |
274 | #if (ODBCVER >= 0x0300) |
275 | #define SQL_ARD_TYPE (-99) |
276 | #endif /* ODBCVER >= 0x0300 */ |
277 | |
278 | |
279 | /* |
280 | * SQLGetDescField - identifiers of fields in the SQL descriptor |
281 | */ |
282 | #if (ODBCVER >= 0x0300) |
283 | #define SQL_DESC_COUNT 1001 |
284 | #define SQL_DESC_TYPE 1002 |
285 | #define SQL_DESC_LENGTH 1003 |
286 | #define SQL_DESC_OCTET_LENGTH_PTR 1004 |
287 | #define SQL_DESC_PRECISION 1005 |
288 | #define SQL_DESC_SCALE 1006 |
289 | #define SQL_DESC_DATETIME_INTERVAL_CODE 1007 |
290 | #define SQL_DESC_NULLABLE 1008 |
291 | #define SQL_DESC_INDICATOR_PTR 1009 |
292 | #define SQL_DESC_DATA_PTR 1010 |
293 | #define SQL_DESC_NAME 1011 |
294 | #define SQL_DESC_UNNAMED 1012 |
295 | #define SQL_DESC_OCTET_LENGTH 1013 |
296 | #define SQL_DESC_ALLOC_TYPE 1099 |
297 | #endif /* ODBCVER >= 0x0300 */ |
298 | |
299 | |
300 | /* |
301 | * SQLGetDescField - SQL_DESC_ALLOC_TYPE |
302 | */ |
303 | #if (ODBCVER >= 0x0300) |
304 | #define SQL_DESC_ALLOC_AUTO 1 |
305 | #define SQL_DESC_ALLOC_USER 2 |
306 | #endif /* ODBCVER >= 0x0300 */ |
307 | |
308 | |
309 | /* |
310 | * SQLGetDescField - SQL_DESC_DATETIME_INTERVAL_CODE |
311 | */ |
312 | #if (ODBCVER >= 0x0300) |
313 | #define SQL_CODE_DATE 1 |
314 | #define SQL_CODE_TIME 2 |
315 | #define SQL_CODE_TIMESTAMP 3 |
316 | #endif /* ODBCVER >= 0x0300 */ |
317 | |
318 | |
319 | /* |
320 | * SQLGetDescField - SQL_DESC_UNNAMED |
321 | */ |
322 | #if (ODBCVER >= 0x0300) |
323 | #define SQL_NAMED 0 |
324 | #define SQL_UNNAMED 1 |
325 | #endif /* ODBCVER >= 0x0300 */ |
326 | |
327 | |
328 | /* |
329 | * SQLGetDiagField - identifiers of fields in the diagnostics area |
330 | */ |
331 | #if (ODBCVER >= 0x0300) |
332 | #define SQL_DIAG_RETURNCODE 1 |
333 | #define SQL_DIAG_NUMBER 2 |
334 | #define SQL_DIAG_ROW_COUNT 3 |
335 | #define SQL_DIAG_SQLSTATE 4 |
336 | #define SQL_DIAG_NATIVE 5 |
337 | #define SQL_DIAG_MESSAGE_TEXT 6 |
338 | #define SQL_DIAG_DYNAMIC_FUNCTION 7 |
339 | #define SQL_DIAG_CLASS_ORIGIN 8 |
340 | #define SQL_DIAG_SUBCLASS_ORIGIN 9 |
341 | #define SQL_DIAG_CONNECTION_NAME 10 |
342 | #define SQL_DIAG_SERVER_NAME 11 |
343 | #define SQL_DIAG_DYNAMIC_FUNCTION_CODE 12 |
344 | #endif /* ODBCVER >= 0x0300 */ |
345 | |
346 | |
347 | /* |
348 | * SQLGetDiagField - SQL_DIAG_DYNAMIC_FUNCTION_CODE |
349 | */ |
350 | #if (ODBCVER >= 0x0300) |
351 | #define SQL_DIAG_ALTER_DOMAIN 3 |
352 | #define SQL_DIAG_ALTER_TABLE 4 |
353 | #define SQL_DIAG_CALL 7 |
354 | #define SQL_DIAG_CREATE_ASSERTION 6 |
355 | #define SQL_DIAG_CREATE_CHARACTER_SET 8 |
356 | #define SQL_DIAG_CREATE_COLLATION 10 |
357 | #define SQL_DIAG_CREATE_DOMAIN 23 |
358 | #define SQL_DIAG_CREATE_INDEX (-1) |
359 | #define SQL_DIAG_CREATE_SCHEMA 64 |
360 | #define SQL_DIAG_CREATE_TABLE 77 |
361 | #define SQL_DIAG_CREATE_TRANSLATION 79 |
362 | #define SQL_DIAG_CREATE_VIEW 84 |
363 | #define SQL_DIAG_DELETE_WHERE 19 |
364 | #define SQL_DIAG_DROP_ASSERTION 24 |
365 | #define SQL_DIAG_DROP_CHARACTER_SET 25 |
366 | #define SQL_DIAG_DROP_COLLATION 26 |
367 | #define SQL_DIAG_DROP_DOMAIN 27 |
368 | #define SQL_DIAG_DROP_INDEX (-2) |
369 | #define SQL_DIAG_DROP_SCHEMA 31 |
370 | #define SQL_DIAG_DROP_TABLE 32 |
371 | #define SQL_DIAG_DROP_TRANSLATION 33 |
372 | #define SQL_DIAG_DROP_VIEW 36 |
373 | #define SQL_DIAG_DYNAMIC_DELETE_CURSOR 38 |
374 | #define SQL_DIAG_DYNAMIC_UPDATE_CURSOR 81 |
375 | #define SQL_DIAG_GRANT 48 |
376 | #define SQL_DIAG_INSERT 50 |
377 | #define SQL_DIAG_REVOKE 59 |
378 | #define SQL_DIAG_SELECT_CURSOR 85 |
379 | #define SQL_DIAG_UNKNOWN_STATEMENT 0 |
380 | #define SQL_DIAG_UPDATE_WHERE 82 |
381 | #endif /* ODBCVER >= 0x0300 */ |
382 | |
383 | |
384 | /* |
385 | * SQLGetEnvAttr - environment attribute |
386 | */ |
387 | #if (ODBCVER >= 0x0300) |
388 | #define SQL_ATTR_OUTPUT_NTS 10001 |
389 | #endif /* ODBCVER >= 0x0300 */ |
390 | |
391 | |
392 | /* |
393 | * SQLGetFunctions |
394 | */ |
395 | #define SQL_API_SQLALLOCCONNECT 1 |
396 | #define SQL_API_SQLALLOCENV 2 |
397 | #if (ODBCVER >= 0x0300) |
398 | #define SQL_API_SQLALLOCHANDLE 1001 |
399 | #endif /* ODBCVER >= 0x0300 */ |
400 | #define SQL_API_SQLALLOCSTMT 3 |
401 | #define SQL_API_SQLBINDCOL 4 |
402 | #if (ODBCVER >= 0x0300) |
403 | #define SQL_API_SQLBINDPARAM 1002 |
404 | #endif /* ODBCVER >= 0x0300 */ |
405 | #define SQL_API_SQLCANCEL 5 |
406 | #if (ODBCVER >= 0x0300) |
407 | #define SQL_API_SQLCLOSECURSOR 1003 |
408 | #define SQL_API_SQLCOLATTRIBUTE 6 |
409 | #endif /* ODBCVER >= 0x0300 */ |
410 | #define SQL_API_SQLCOLUMNS 40 |
411 | #define SQL_API_SQLCONNECT 7 |
412 | #if (ODBCVER >= 0x0300) |
413 | #define SQL_API_SQLCOPYDESC 1004 |
414 | #endif /* ODBCVER >= 0x0300 */ |
415 | #define SQL_API_SQLDATASOURCES 57 |
416 | #define SQL_API_SQLDESCRIBECOL 8 |
417 | #define SQL_API_SQLDISCONNECT 9 |
418 | #if (ODBCVER >= 0x0300) |
419 | #define SQL_API_SQLENDTRAN 1005 |
420 | #endif /* ODBCVER >= 0x0300 */ |
421 | #define SQL_API_SQLERROR 10 |
422 | #define SQL_API_SQLEXECDIRECT 11 |
423 | #define SQL_API_SQLEXECUTE 12 |
424 | #define SQL_API_SQLFETCH 13 |
425 | #if (ODBCVER >= 0x0300) |
426 | #define SQL_API_SQLFETCHSCROLL 1021 |
427 | #endif /* ODBCVER >= 0x0300 */ |
428 | #define SQL_API_SQLFREECONNECT 14 |
429 | #define SQL_API_SQLFREEENV 15 |
430 | #if (ODBCVER >= 0x0300) |
431 | #define SQL_API_SQLFREEHANDLE 1006 |
432 | #endif /* ODBCVER >= 0x0300 */ |
433 | #define SQL_API_SQLFREESTMT 16 |
434 | #if (ODBCVER >= 0x0300) |
435 | #define SQL_API_SQLGETCONNECTATTR 1007 |
436 | #endif /* ODBCVER >= 0x0300 */ |
437 | #define SQL_API_SQLGETCONNECTOPTION 42 |
438 | #define SQL_API_SQLGETCURSORNAME 17 |
439 | #define SQL_API_SQLGETDATA 43 |
440 | #if (ODBCVER >= 0x0300) |
441 | #define SQL_API_SQLGETDESCFIELD 1008 |
442 | #define SQL_API_SQLGETDESCREC 1009 |
443 | #define SQL_API_SQLGETDIAGFIELD 1010 |
444 | #define SQL_API_SQLGETDIAGREC 1011 |
445 | #define SQL_API_SQLGETENVATTR 1012 |
446 | #endif /* ODBCVER >= 0x0300 */ |
447 | #define SQL_API_SQLGETFUNCTIONS 44 |
448 | #define SQL_API_SQLGETINFO 45 |
449 | #if (ODBCVER >= 0x0300) |
450 | #define SQL_API_SQLGETSTMTATTR 1014 |
451 | #endif /* ODBCVER >= 0x0300 */ |
452 | #define SQL_API_SQLGETSTMTOPTION 46 |
453 | #define SQL_API_SQLGETTYPEINFO 47 |
454 | #define SQL_API_SQLNUMRESULTCOLS 18 |
455 | #define SQL_API_SQLPARAMDATA 48 |
456 | #define SQL_API_SQLPREPARE 19 |
457 | #define SQL_API_SQLPUTDATA 49 |
458 | #define SQL_API_SQLROWCOUNT 20 |
459 | #if (ODBCVER >= 0x0300) |
460 | #define SQL_API_SQLSETCONNECTATTR 1016 |
461 | #endif /* ODBCVER >= 0x0300 */ |
462 | #define SQL_API_SQLSETCONNECTOPTION 50 |
463 | #define SQL_API_SQLSETCURSORNAME 21 |
464 | #if (ODBCVER >= 0x0300) |
465 | #define SQL_API_SQLSETDESCFIELD 1017 |
466 | #define SQL_API_SQLSETDESCREC 1018 |
467 | #define SQL_API_SQLSETENVATTR 1019 |
468 | #endif /* ODBCVER >= 0x0300 */ |
469 | #define SQL_API_SQLSETPARAM 22 |
470 | #if (ODBCVER >= 0x0300) |
471 | #define SQL_API_SQLSETSTMTATTR 1020 |
472 | #endif /* ODBCVER >= 0x0300 */ |
473 | #define SQL_API_SQLSETSTMTOPTION 51 |
474 | #define SQL_API_SQLSPECIALCOLUMNS 52 |
475 | #define SQL_API_SQLSTATISTICS 53 |
476 | #define SQL_API_SQLTABLES 54 |
477 | #define SQL_API_SQLTRANSACT 23 |
478 | |
479 | |
480 | /* |
481 | * SQLGetInfo |
482 | */ |
483 | #if (ODBCVER >= 0x0300) |
484 | #define SQL_MAX_DRIVER_CONNECTIONS 0 |
485 | #define SQL_MAXIMUM_DRIVER_CONNECTIONS SQL_MAX_DRIVER_CONNECTIONS |
486 | #define SQL_MAX_CONCURRENT_ACTIVITIES 1 |
487 | #define SQL_MAXIMUM_CONCURRENT_ACTIVITIES SQL_MAX_CONCURRENT_ACTIVITIES |
488 | #endif /* ODBCVER >= 0x0300 */ |
489 | #define SQL_DATA_SOURCE_NAME 2 |
490 | #define SQL_FETCH_DIRECTION 8 |
491 | #define SQL_SERVER_NAME 13 |
492 | #define SQL_SEARCH_PATTERN_ESCAPE 14 |
493 | #define SQL_DBMS_NAME 17 |
494 | #define SQL_DBMS_VER 18 |
495 | #define SQL_ACCESSIBLE_TABLES 19 |
496 | #define SQL_ACCESSIBLE_PROCEDURES 20 |
497 | #define SQL_CURSOR_COMMIT_BEHAVIOR 23 |
498 | #define SQL_DATA_SOURCE_READ_ONLY 25 |
499 | #define SQL_DEFAULT_TXN_ISOLATION 26 |
500 | #define SQL_IDENTIFIER_CASE 28 |
501 | #define SQL_IDENTIFIER_QUOTE_CHAR 29 |
502 | #define SQL_MAX_COLUMN_NAME_LEN 30 |
503 | #define SQL_MAXIMUM_COLUMN_NAME_LENGTH SQL_MAX_COLUMN_NAME_LEN |
504 | #define SQL_MAX_CURSOR_NAME_LEN 31 |
505 | #define SQL_MAXIMUM_CURSOR_NAME_LENGTH SQL_MAX_CURSOR_NAME_LEN |
506 | #define SQL_MAX_SCHEMA_NAME_LEN 32 |
507 | #define SQL_MAXIMUM_SCHEMA_NAME_LENGTH SQL_MAX_SCHEMA_NAME_LEN |
508 | #define SQL_MAX_CATALOG_NAME_LEN 34 |
509 | #define SQL_MAXIMUM_CATALOG_NAME_LENGTH SQL_MAX_CATALOG_NAME_LEN |
510 | #define SQL_MAX_TABLE_NAME_LEN 35 |
511 | #define SQL_SCROLL_CONCURRENCY 43 |
512 | #define SQL_TXN_CAPABLE 46 |
513 | #define SQL_TRANSACTION_CAPABLE SQL_TXN_CAPABLE |
514 | #define SQL_USER_NAME 47 |
515 | #define SQL_TXN_ISOLATION_OPTION 72 |
516 | #define SQL_TRANSACTION_ISOLATION_OPTION SQL_TXN_ISOLATION_OPTION |
517 | #define SQL_INTEGRITY 73 |
518 | #define SQL_GETDATA_EXTENSIONS 81 |
519 | #define SQL_NULL_COLLATION 85 |
520 | #define SQL_ALTER_TABLE 86 |
521 | #define SQL_ORDER_BY_COLUMNS_IN_SELECT 90 |
522 | #define SQL_SPECIAL_CHARACTERS 94 |
523 | #define SQL_MAX_COLUMNS_IN_GROUP_BY 97 |
524 | #define SQL_MAXIMUM_COLUMNS_IN_GROUP_BY SQL_MAX_COLUMNS_IN_GROUP_BY |
525 | #define SQL_MAX_COLUMNS_IN_INDEX 98 |
526 | #define SQL_MAXIMUM_COLUMNS_IN_INDEX SQL_MAX_COLUMNS_IN_INDEX |
527 | #define SQL_MAX_COLUMNS_IN_ORDER_BY 99 |
528 | #define SQL_MAXIMUM_COLUMNS_IN_ORDER_BY SQL_MAX_COLUMNS_IN_ORDER_BY |
529 | #define SQL_MAX_COLUMNS_IN_SELECT 100 |
530 | #define SQL_MAXIMUM_COLUMNS_IN_SELECT SQL_MAX_COLUMNS_IN_SELECT |
531 | #define SQL_MAX_COLUMNS_IN_TABLE 101 |
532 | #define SQL_MAX_INDEX_SIZE 102 |
533 | #define SQL_MAXIMUM_INDEX_SIZE SQL_MAX_INDEX_SIZE |
534 | #define SQL_MAX_ROW_SIZE 104 |
535 | #define SQL_MAXIMUM_ROW_SIZE SQL_MAX_ROW_SIZE |
536 | #define SQL_MAX_STATEMENT_LEN 105 |
537 | #define SQL_MAXIMUM_STATEMENT_LENGTH SQL_MAX_STATEMENT_LEN |
538 | #define SQL_MAX_TABLES_IN_SELECT 106 |
539 | #define SQL_MAXIMUM_TABLES_IN_SELECT SQL_MAX_TABLES_IN_SELECT |
540 | #define SQL_MAX_USER_NAME_LEN 107 |
541 | #define SQL_MAXIMUM_USER_NAME_LENGTH SQL_MAX_USER_NAME_LEN |
542 | #if (ODBCVER >= 0x0300) |
543 | #define SQL_OJ_CAPABILITIES 115 |
544 | #define SQL_OUTER_JOIN_CAPABILITIES SQL_OJ_CAPABILITIES |
545 | #endif /* ODBCVER >= 0x0300 */ |
546 | |
547 | #if (ODBCVER >= 0x0300) |
548 | #define SQL_XOPEN_CLI_YEAR 10000 |
549 | #define SQL_CURSOR_SENSITIVITY 10001 |
550 | #define SQL_DESCRIBE_PARAMETER 10002 |
551 | #define SQL_CATALOG_NAME 10003 |
552 | #define SQL_COLLATION_SEQ 10004 |
553 | #define SQL_MAX_IDENTIFIER_LEN 10005 |
554 | #define SQL_MAXIMUM_IDENTIFIER_LENGTH SQL_MAX_IDENTIFIER_LEN |
555 | #endif /* ODBCVER >= 0x0300 */ |
556 | |
557 | |
558 | /* |
559 | * SQLGetInfo - SQL_ALTER_TABLE |
560 | */ |
561 | #if (ODBCVER >= 0x0200) |
562 | #define SQL_AT_ADD_COLUMN 0x00000001L |
563 | #define SQL_AT_DROP_COLUMN 0x00000002L |
564 | #endif /* ODBCVER >= 0x0300 */ |
565 | |
566 | #if (ODBCVER >= 0x0300) |
567 | #define SQL_AT_ADD_CONSTRAINT 0x00000008L |
568 | /* |
569 | * The following bitmasks are ODBC extensions and defined in sqlext.h: |
570 | * |
571 | * #define SQL_AT_COLUMN_SINGLE 0x00000020L |
572 | * #define SQL_AT_ADD_COLUMN_DEFAULT 0x00000040L |
573 | * #define SQL_AT_ADD_COLUMN_COLLATION 0x00000080L |
574 | * #define SQL_AT_SET_COLUMN_DEFAULT 0x00000100L |
575 | * #define SQL_AT_DROP_COLUMN_DEFAULT 0x00000200L |
576 | * #define SQL_AT_DROP_COLUMN_CASCADE 0x00000400L |
577 | * #define SQL_AT_DROP_COLUMN_RESTRICT 0x00000800L |
578 | * #define SQL_AT_ADD_TABLE_CONSTRAINT 0x00001000L |
579 | * #define SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE 0x00002000L |
580 | * #define SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT 0x00004000L |
581 | * #define SQL_AT_CONSTRAINT_NAME_DEFINITION 0x00008000L |
582 | * #define SQL_AT_CONSTRAINT_INITIALLY_DEFERRED 0x00010000L |
583 | * #define SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE 0x00020000L |
584 | * #define SQL_AT_CONSTRAINT_DEFERRABLE 0x00040000L |
585 | * #define SQL_AT_CONSTRAINT_NON_DEFERRABLE 0x00080000L |
586 | */ |
587 | #endif /* ODBCVER >= 0x0300 */ |
588 | |
589 | |
590 | /* |
591 | * SQLGetInfo - SQL_ASYNC_MODE |
592 | */ |
593 | #if (ODBCVER >= 0x0300) |
594 | #define SQL_AM_NONE 0 |
595 | #define SQL_AM_CONNECTION 1 |
596 | #define SQL_AM_STATEMENT 2 |
597 | #endif /* ODBCVER >= 0x0300 */ |
598 | |
599 | |
600 | /* |
601 | * SQLGetInfo - SQL_CURSOR_COMMIT_BEHAVIOR |
602 | */ |
603 | #define SQL_CB_DELETE 0 |
604 | #define SQL_CB_CLOSE 1 |
605 | #define SQL_CB_PRESERVE 2 |
606 | |
607 | |
608 | /* |
609 | * SQLGetInfo - SQL_FETCH_DIRECTION |
610 | */ |
611 | #define SQL_FD_FETCH_NEXT 0x00000001L |
612 | #define SQL_FD_FETCH_FIRST 0x00000002L |
613 | #define SQL_FD_FETCH_LAST 0x00000004L |
614 | #define SQL_FD_FETCH_PRIOR 0x00000008L |
615 | #define SQL_FD_FETCH_ABSOLUTE 0x00000010L |
616 | #define SQL_FD_FETCH_RELATIVE 0x00000020L |
617 | |
618 | |
619 | /* |
620 | * SQLGetInfo - SQL_GETDATA_EXTENSIONS |
621 | */ |
622 | #define SQL_GD_ANY_COLUMN 0x00000001L |
623 | #define SQL_GD_ANY_ORDER 0x00000002L |
624 | |
625 | |
626 | /* |
627 | * SQLGetInfo - SQL_IDENTIFIER_CASE |
628 | */ |
629 | #define SQL_IC_UPPER 1 |
630 | #define SQL_IC_LOWER 2 |
631 | #define SQL_IC_SENSITIVE 3 |
632 | #define SQL_IC_MIXED 4 |
633 | |
634 | |
635 | /* |
636 | * SQLGetInfo - SQL_NULL_COLLATION |
637 | */ |
638 | #define SQL_NC_HIGH 0 |
639 | #define SQL_NC_LOW 1 |
640 | |
641 | |
642 | /* |
643 | * SQLGetInfo - SQL_OJ_CAPABILITIES |
644 | */ |
645 | #if (ODBCVER >= 0x0201) |
646 | #define SQL_OJ_LEFT 0x00000001L |
647 | #define SQL_OJ_RIGHT 0x00000002L |
648 | #define SQL_OJ_FULL 0x00000004L |
649 | #define SQL_OJ_NESTED 0x00000008L |
650 | #define SQL_OJ_NOT_ORDERED 0x00000010L |
651 | #define SQL_OJ_INNER 0x00000020L |
652 | #define SQL_OJ_ALL_COMPARISON_OPS 0x00000040L |
653 | #endif |
654 | |
655 | |
656 | /* |
657 | * SQLGetInfo - SQL_SCROLL_CONCURRENCY |
658 | */ |
659 | #define SQL_SCCO_READ_ONLY 0x00000001L |
660 | #define SQL_SCCO_LOCK 0x00000002L |
661 | #define SQL_SCCO_OPT_ROWVER 0x00000004L |
662 | #define SQL_SCCO_OPT_VALUES 0x00000008L |
663 | |
664 | |
665 | /* |
666 | * SQLGetInfo - SQL_TXN_CAPABLE |
667 | */ |
668 | #define SQL_TC_NONE 0 |
669 | #define SQL_TC_DML 1 |
670 | #define SQL_TC_ALL 2 |
671 | #define SQL_TC_DDL_COMMIT 3 |
672 | #define SQL_TC_DDL_IGNORE 4 |
673 | |
674 | |
675 | /* |
676 | * SQLGetInfo - SQL_TXN_ISOLATION_OPTION |
677 | */ |
678 | #define SQL_TXN_READ_UNCOMMITTED 0x00000001L |
679 | #define SQL_TRANSACTION_READ_UNCOMMITTED SQL_TXN_READ_UNCOMMITTED |
680 | #define SQL_TXN_READ_COMMITTED 0x00000002L |
681 | #define SQL_TRANSACTION_READ_COMMITTED SQL_TXN_READ_COMMITTED |
682 | #define SQL_TXN_REPEATABLE_READ 0x00000004L |
683 | #define SQL_TRANSACTION_REPEATABLE_READ SQL_TXN_REPEATABLE_READ |
684 | #define SQL_TXN_SERIALIZABLE 0x00000008L |
685 | #define SQL_TRANSACTION_SERIALIZABLE SQL_TXN_SERIALIZABLE |
686 | |
687 | |
688 | /* |
689 | * SQLGetStmtAttr - statement attributes |
690 | */ |
691 | #if (ODBCVER >= 0x0300) |
692 | #define SQL_ATTR_APP_ROW_DESC 10010 |
693 | #define SQL_ATTR_APP_PARAM_DESC 10011 |
694 | #define SQL_ATTR_IMP_ROW_DESC 10012 |
695 | #define SQL_ATTR_IMP_PARAM_DESC 10013 |
696 | #define SQL_ATTR_CURSOR_SCROLLABLE (-1) |
697 | #define SQL_ATTR_CURSOR_SENSITIVITY (-2) |
698 | #endif /* ODBCVER >= 0x0300 */ |
699 | |
700 | |
701 | /* |
702 | * SQLGetStmtAttr - SQL_ATTR_CURSOR_SCROLLABLE |
703 | */ |
704 | #if (ODBCVER >= 0x0300) |
705 | #define SQL_NONSCROLLABLE 0 |
706 | #define SQL_SCROLLABLE 1 |
707 | #endif /* ODBCVER >= 0x0300 */ |
708 | |
709 | |
710 | /* |
711 | * SQLGetStmtAttr - SQL_ATTR_CURSOR_SENSITIVITY |
712 | */ |
713 | #if (ODBCVER >= 0x0300) |
714 | #define SQL_UNSPECIFIED 0 |
715 | #define SQL_INSENSITIVE 1 |
716 | #define SQL_SENSITIVE 2 |
717 | #endif /* ODBCVER >= 0x0300 */ |
718 | |
719 | |
720 | /* |
721 | * SQLGetTypeInfo - SEARCHABLE |
722 | */ |
723 | #if (ODBCVER >= 0x0300) |
724 | #define SQL_PRED_NONE 0 |
725 | #define SQL_PRED_CHAR 1 |
726 | #define SQL_PRED_BASIC 2 |
727 | #endif /* ODBCVER >= 0x0300 */ |
728 | |
729 | |
730 | /* |
731 | * SQLSpecialColumns - Column scopes |
732 | */ |
733 | #define SQL_SCOPE_CURROW 0 |
734 | #define SQL_SCOPE_TRANSACTION 1 |
735 | #define SQL_SCOPE_SESSION 2 |
736 | |
737 | |
738 | /* |
739 | * SQLSpecialColumns - PSEUDO_COLUMN |
740 | */ |
741 | #define SQL_PC_UNKNOWN 0 |
742 | #if (ODBCVER >= 0x0300) |
743 | #define SQL_PC_NON_PSEUDO 1 |
744 | #endif /* ODBCVER >= 0x0300 */ |
745 | #define SQL_PC_PSEUDO 2 |
746 | |
747 | |
748 | /* |
749 | * SQLSpecialColumns - IdentifierType |
750 | */ |
751 | #if (ODBCVER >= 0x0300) |
752 | #define SQL_ROW_IDENTIFIER 1 |
753 | #endif /* ODBCVER >= 0x0300 */ |
754 | |
755 | |
756 | /* |
757 | * SQLStatistics - fUnique |
758 | */ |
759 | #define SQL_INDEX_UNIQUE 0 |
760 | #define SQL_INDEX_ALL 1 |
761 | |
762 | |
763 | /* |
764 | * SQLStatistics - TYPE |
765 | */ |
766 | #define SQL_INDEX_CLUSTERED 1 |
767 | #define SQL_INDEX_HASHED 2 |
768 | #define SQL_INDEX_OTHER 3 |
769 | |
770 | |
771 | /* |
772 | * SQLTransact/SQLEndTran |
773 | */ |
774 | #define SQL_COMMIT 0 |
775 | #define SQL_ROLLBACK 1 |
776 | |
777 | |
778 | /* |
779 | * Function Prototypes |
780 | */ |
781 | SQLRETURN SQL_API SQLAllocConnect ( |
782 | SQLHENV EnvironmentHandle, |
783 | SQLHDBC * ConnectionHandle); |
784 | |
785 | SQLRETURN SQL_API SQLAllocEnv ( |
786 | SQLHENV * EnvironmentHandle); |
787 | |
788 | #if (ODBCVER >= 0x0300) |
789 | SQLRETURN SQL_API SQLAllocHandle ( |
790 | SQLSMALLINT HandleType, |
791 | SQLHANDLE InputHandle, |
792 | SQLHANDLE * OutputHandle); |
793 | #endif /* ODBCVER >= 0x0300 */ |
794 | |
795 | SQLRETURN SQL_API SQLAllocStmt ( |
796 | SQLHDBC ConnectionHandle, |
797 | SQLHSTMT * StatementHandle); |
798 | |
799 | SQLRETURN SQL_API SQLBindCol ( |
800 | SQLHSTMT StatementHandle, |
801 | SQLUSMALLINT ColumnNumber, |
802 | SQLSMALLINT TargetType, |
803 | SQLPOINTER TargetValue, |
804 | SQLLEN BufferLength, |
805 | SQLLEN * StrLen_or_Ind); |
806 | |
807 | #if (ODBCVER >= 0x0300) |
808 | SQLRETURN SQL_API SQLBindParam ( |
809 | SQLHSTMT StatementHandle, |
810 | SQLUSMALLINT ParameterNumber, |
811 | SQLSMALLINT ValueType, |
812 | SQLSMALLINT ParameterType, |
813 | SQLULEN LengthPrecision, |
814 | SQLSMALLINT ParameterScale, |
815 | SQLPOINTER ParameterValue, |
816 | SQLLEN * StrLen_or_Ind); |
817 | #endif |
818 | |
819 | SQLRETURN SQL_API SQLCancel ( |
820 | SQLHSTMT StatementHandle); |
821 | |
822 | #if (ODBCVER >= 0x0300) |
823 | SQLRETURN SQL_API SQLCloseCursor ( |
824 | SQLHSTMT StatementHandle); |
825 | |
826 | /* |
827 | * Using SQLLEN * instead of SQLPOINTER for NumericAttribute, |
828 | * makes the prototype the same as SQLColAttributes (deprecated) |
829 | * and clearer for 64bit ports |
830 | */ |
831 | SQLRETURN SQL_API SQLColAttribute ( |
832 | SQLHSTMT StatementHandle, |
833 | SQLUSMALLINT ColumnNumber, |
834 | SQLUSMALLINT FieldIdentifier, |
835 | SQLPOINTER CharacterAttribute, |
836 | SQLSMALLINT BufferLength, |
837 | SQLSMALLINT * StringLength, |
838 | SQLLEN * NumericAttribute); |
839 | #endif |
840 | |
841 | SQLRETURN SQL_API SQLColumns ( |
842 | SQLHSTMT StatementHandle, |
843 | SQLCHAR * CatalogName, |
844 | SQLSMALLINT NameLength1, |
845 | SQLCHAR * SchemaName, |
846 | SQLSMALLINT NameLength2, |
847 | SQLCHAR * TableName, |
848 | SQLSMALLINT NameLength3, |
849 | SQLCHAR * ColumnName, |
850 | SQLSMALLINT NameLength4); |
851 | |
852 | SQLRETURN SQL_API SQLConnect ( |
853 | SQLHDBC ConnectionHandle, |
854 | SQLCHAR * ServerName, |
855 | SQLSMALLINT NameLength1, |
856 | SQLCHAR * UserName, |
857 | SQLSMALLINT NameLength2, |
858 | SQLCHAR * Authentication, |
859 | SQLSMALLINT NameLength3); |
860 | |
861 | #if (ODBCVER >= 0x0300) |
862 | SQLRETURN SQL_API SQLCopyDesc ( |
863 | SQLHDESC SourceDescHandle, |
864 | SQLHDESC TargetDescHandle); |
865 | #endif |
866 | |
867 | SQLRETURN SQL_API SQLDataSources ( |
868 | SQLHENV EnvironmentHandle, |
869 | SQLUSMALLINT Direction, |
870 | SQLCHAR * ServerName, |
871 | SQLSMALLINT BufferLength1, |
872 | SQLSMALLINT * NameLength1, |
873 | SQLCHAR * Description, |
874 | SQLSMALLINT BufferLength2, |
875 | SQLSMALLINT * NameLength2); |
876 | |
877 | SQLRETURN SQL_API SQLDescribeCol ( |
878 | SQLHSTMT StatementHandle, |
879 | SQLUSMALLINT ColumnNumber, |
880 | SQLCHAR * ColumnName, |
881 | SQLSMALLINT BufferLength, |
882 | SQLSMALLINT * NameLength, |
883 | SQLSMALLINT * DataType, |
884 | SQLULEN * ColumnSize, |
885 | SQLSMALLINT * DecimalDigits, |
886 | SQLSMALLINT * Nullable); |
887 | |
888 | SQLRETURN SQL_API SQLDisconnect ( |
889 | SQLHDBC ConnectionHandle); |
890 | |
891 | #if (ODBCVER >= 0x0300) |
892 | SQLRETURN SQL_API SQLEndTran ( |
893 | SQLSMALLINT HandleType, |
894 | SQLHANDLE Handle, |
895 | SQLSMALLINT CompletionType); |
896 | #endif |
897 | |
898 | SQLRETURN SQL_API SQLError ( |
899 | SQLHENV EnvironmentHandle, |
900 | SQLHDBC ConnectionHandle, |
901 | SQLHSTMT StatementHandle, |
902 | SQLCHAR * Sqlstate, |
903 | SQLINTEGER * NativeError, |
904 | SQLCHAR * MessageText, |
905 | SQLSMALLINT BufferLength, |
906 | SQLSMALLINT * TextLength); |
907 | |
908 | SQLRETURN SQL_API SQLExecDirect ( |
909 | SQLHSTMT StatementHandle, |
910 | SQLCHAR * StatementText, |
911 | SQLINTEGER TextLength); |
912 | |
913 | SQLRETURN SQL_API SQLExecute ( |
914 | SQLHSTMT StatementHandle); |
915 | |
916 | SQLRETURN SQL_API SQLFetch ( |
917 | SQLHSTMT StatementHandle); |
918 | |
919 | #if (ODBCVER >= 0x0300) |
920 | SQLRETURN SQL_API SQLFetchScroll ( |
921 | SQLHSTMT StatementHandle, |
922 | SQLSMALLINT FetchOrientation, |
923 | SQLLEN FetchOffset); |
924 | #endif |
925 | |
926 | SQLRETURN SQL_API SQLFreeConnect ( |
927 | SQLHDBC ConnectionHandle); |
928 | |
929 | SQLRETURN SQL_API SQLFreeEnv ( |
930 | SQLHENV EnvironmentHandle); |
931 | |
932 | #if (ODBCVER >= 0x0300) |
933 | SQLRETURN SQL_API SQLFreeHandle ( |
934 | SQLSMALLINT HandleType, |
935 | SQLHANDLE Handle); |
936 | #endif |
937 | |
938 | SQLRETURN SQL_API SQLFreeStmt ( |
939 | SQLHSTMT StatementHandle, |
940 | SQLUSMALLINT Option); |
941 | |
942 | #if (ODBCVER >= 0x0300) |
943 | SQLRETURN SQL_API SQLGetConnectAttr ( |
944 | SQLHDBC ConnectionHandle, |
945 | SQLINTEGER Attribute, |
946 | SQLPOINTER Value, |
947 | SQLINTEGER BufferLength, |
948 | SQLINTEGER * StringLength); |
949 | #endif |
950 | |
951 | SQLRETURN SQL_API SQLGetConnectOption ( |
952 | SQLHDBC ConnectionHandle, |
953 | SQLUSMALLINT Option, |
954 | SQLPOINTER Value); |
955 | |
956 | SQLRETURN SQL_API SQLGetCursorName ( |
957 | SQLHSTMT StatementHandle, |
958 | SQLCHAR * CursorName, |
959 | SQLSMALLINT BufferLength, |
960 | SQLSMALLINT * NameLength); |
961 | |
962 | SQLRETURN SQL_API SQLGetData ( |
963 | SQLHSTMT StatementHandle, |
964 | SQLUSMALLINT ColumnNumber, |
965 | SQLSMALLINT TargetType, |
966 | SQLPOINTER TargetValue, |
967 | SQLLEN BufferLength, |
968 | SQLLEN * StrLen_or_Ind); |
969 | |
970 | #if (ODBCVER >= 0x0300) |
971 | SQLRETURN SQL_API SQLGetDescField ( |
972 | SQLHDESC DescriptorHandle, |
973 | SQLSMALLINT RecNumber, |
974 | SQLSMALLINT FieldIdentifier, |
975 | SQLPOINTER Value, |
976 | SQLINTEGER BufferLength, |
977 | SQLINTEGER * StringLength); |
978 | |
979 | SQLRETURN SQL_API SQLGetDescRec ( |
980 | SQLHDESC DescriptorHandle, |
981 | SQLSMALLINT RecNumber, |
982 | SQLCHAR * Name, |
983 | SQLSMALLINT BufferLength, |
984 | SQLSMALLINT * StringLength, |
985 | SQLSMALLINT * Type, |
986 | SQLSMALLINT * SubType, |
987 | SQLLEN * Length, |
988 | SQLSMALLINT * Precision, |
989 | SQLSMALLINT * Scale, |
990 | SQLSMALLINT * Nullable); |
991 | |
992 | SQLRETURN SQL_API SQLGetDiagField ( |
993 | SQLSMALLINT HandleType, |
994 | SQLHANDLE Handle, |
995 | SQLSMALLINT RecNumber, |
996 | SQLSMALLINT DiagIdentifier, |
997 | SQLPOINTER DiagInfo, |
998 | SQLSMALLINT BufferLength, |
999 | SQLSMALLINT * StringLength); |
1000 | |
1001 | SQLRETURN SQL_API SQLGetDiagRec ( |
1002 | SQLSMALLINT HandleType, |
1003 | SQLHANDLE Handle, |
1004 | SQLSMALLINT RecNumber, |
1005 | SQLCHAR * Sqlstate, |
1006 | SQLINTEGER * NativeError, |
1007 | SQLCHAR * MessageText, |
1008 | SQLSMALLINT BufferLength, |
1009 | SQLSMALLINT * TextLength); |
1010 | |
1011 | SQLRETURN SQL_API SQLGetEnvAttr ( |
1012 | SQLHENV EnvironmentHandle, |
1013 | SQLINTEGER Attribute, |
1014 | SQLPOINTER Value, |
1015 | SQLINTEGER BufferLength, |
1016 | SQLINTEGER * StringLength); |
1017 | #endif /* ODBCVER >= 0x0300 */ |
1018 | |
1019 | SQLRETURN SQL_API SQLGetFunctions ( |
1020 | SQLHDBC ConnectionHandle, |
1021 | SQLUSMALLINT FunctionId, |
1022 | SQLUSMALLINT * Supported); |
1023 | |
1024 | SQLRETURN SQL_API SQLGetInfo ( |
1025 | SQLHDBC ConnectionHandle, |
1026 | SQLUSMALLINT InfoType, |
1027 | SQLPOINTER InfoValue, |
1028 | SQLSMALLINT BufferLength, |
1029 | SQLSMALLINT * StringLength); |
1030 | |
1031 | #if (ODBCVER >= 0x0300) |
1032 | SQLRETURN SQL_API SQLGetStmtAttr ( |
1033 | SQLHSTMT StatementHandle, |
1034 | SQLINTEGER Attribute, |
1035 | SQLPOINTER Value, |
1036 | SQLINTEGER BufferLength, |
1037 | SQLINTEGER * StringLength); |
1038 | #endif /* ODBCVER >= 0x0300 */ |
1039 | |
1040 | SQLRETURN SQL_API SQLGetStmtOption ( |
1041 | SQLHSTMT StatementHandle, |
1042 | SQLUSMALLINT Option, |
1043 | SQLPOINTER Value); |
1044 | |
1045 | SQLRETURN SQL_API SQLGetTypeInfo ( |
1046 | SQLHSTMT StatementHandle, |
1047 | SQLSMALLINT DataType); |
1048 | |
1049 | SQLRETURN SQL_API SQLNumResultCols ( |
1050 | SQLHSTMT StatementHandle, |
1051 | SQLSMALLINT * ColumnCount); |
1052 | |
1053 | SQLRETURN SQL_API SQLParamData ( |
1054 | SQLHSTMT StatementHandle, |
1055 | SQLPOINTER * Value); |
1056 | |
1057 | SQLRETURN SQL_API SQLPrepare ( |
1058 | SQLHSTMT StatementHandle, |
1059 | SQLCHAR * StatementText, |
1060 | SQLINTEGER TextLength); |
1061 | |
1062 | SQLRETURN SQL_API SQLPutData ( |
1063 | SQLHSTMT StatementHandle, |
1064 | SQLPOINTER Data, |
1065 | SQLLEN StrLen_or_Ind); |
1066 | |
1067 | SQLRETURN SQL_API SQLRowCount ( |
1068 | SQLHSTMT StatementHandle, |
1069 | SQLLEN * RowCount); |
1070 | |
1071 | #if (ODBCVER >= 0x0300) |
1072 | SQLRETURN SQL_API SQLSetConnectAttr ( |
1073 | SQLHDBC ConnectionHandle, |
1074 | SQLINTEGER Attribute, |
1075 | SQLPOINTER Value, |
1076 | SQLINTEGER StringLength); |
1077 | #endif /* ODBCVER >= 0x0300 */ |
1078 | |
1079 | SQLRETURN SQL_API SQLSetConnectOption ( |
1080 | SQLHDBC ConnectionHandle, |
1081 | SQLUSMALLINT Option, |
1082 | SQLULEN Value); |
1083 | |
1084 | SQLRETURN SQL_API SQLSetCursorName ( |
1085 | SQLHSTMT StatementHandle, |
1086 | SQLCHAR * CursorName, |
1087 | SQLSMALLINT NameLength); |
1088 | |
1089 | #if (ODBCVER >= 0x0300) |
1090 | SQLRETURN SQL_API SQLSetDescField ( |
1091 | SQLHDESC DescriptorHandle, |
1092 | SQLSMALLINT RecNumber, |
1093 | SQLSMALLINT FieldIdentifier, |
1094 | SQLPOINTER Value, |
1095 | SQLINTEGER BufferLength); |
1096 | |
1097 | SQLRETURN SQL_API SQLSetDescRec ( |
1098 | SQLHDESC DescriptorHandle, |
1099 | SQLSMALLINT RecNumber, |
1100 | SQLSMALLINT Type, |
1101 | SQLSMALLINT SubType, |
1102 | SQLLEN Length, |
1103 | SQLSMALLINT Precision, |
1104 | SQLSMALLINT Scale, |
1105 | SQLPOINTER Data, |
1106 | SQLLEN * StringLength, |
1107 | SQLLEN * Indicator); |
1108 | |
1109 | SQLRETURN SQL_API SQLSetEnvAttr ( |
1110 | SQLHENV EnvironmentHandle, |
1111 | SQLINTEGER Attribute, |
1112 | SQLPOINTER Value, |
1113 | SQLINTEGER StringLength); |
1114 | #endif /* ODBCVER >= 0x0300 */ |
1115 | |
1116 | |
1117 | #if (ODBCVER >= 0x0300) |
1118 | SQLRETURN SQL_API SQLSetStmtAttr ( |
1119 | SQLHSTMT StatementHandle, |
1120 | SQLINTEGER Attribute, |
1121 | SQLPOINTER Value, |
1122 | SQLINTEGER StringLength); |
1123 | #endif |
1124 | |
1125 | SQLRETURN SQL_API SQLSetStmtOption ( |
1126 | SQLHSTMT StatementHandle, |
1127 | SQLUSMALLINT Option, |
1128 | SQLULEN Value); |
1129 | |
1130 | SQLRETURN SQL_API SQLSpecialColumns ( |
1131 | SQLHSTMT StatementHandle, |
1132 | SQLUSMALLINT IdentifierType, |
1133 | SQLCHAR * CatalogName, |
1134 | SQLSMALLINT NameLength1, |
1135 | SQLCHAR * SchemaName, |
1136 | SQLSMALLINT NameLength2, |
1137 | SQLCHAR * TableName, |
1138 | SQLSMALLINT NameLength3, |
1139 | SQLUSMALLINT Scope, |
1140 | SQLUSMALLINT Nullable); |
1141 | |
1142 | SQLRETURN SQL_API SQLStatistics ( |
1143 | SQLHSTMT StatementHandle, |
1144 | SQLCHAR * CatalogName, |
1145 | SQLSMALLINT NameLength1, |
1146 | SQLCHAR * SchemaName, |
1147 | SQLSMALLINT NameLength2, |
1148 | SQLCHAR * TableName, |
1149 | SQLSMALLINT NameLength3, |
1150 | SQLUSMALLINT Unique, |
1151 | SQLUSMALLINT Reserved); |
1152 | |
1153 | SQLRETURN SQL_API SQLTables ( |
1154 | SQLHSTMT StatementHandle, |
1155 | SQLCHAR * CatalogName, |
1156 | SQLSMALLINT NameLength1, |
1157 | SQLCHAR * SchemaName, |
1158 | SQLSMALLINT NameLength2, |
1159 | SQLCHAR * TableName, |
1160 | SQLSMALLINT NameLength3, |
1161 | SQLCHAR * TableType, |
1162 | SQLSMALLINT NameLength4); |
1163 | |
1164 | SQLRETURN SQL_API SQLTransact ( |
1165 | SQLHENV EnvironmentHandle, |
1166 | SQLHDBC ConnectionHandle, |
1167 | SQLUSMALLINT CompletionType); |
1168 | |
1169 | |
1170 | /* |
1171 | * Depreciated ODBC 1.0 function - Use SQLBindParameter |
1172 | */ |
1173 | SQLRETURN SQL_API SQLSetParam ( |
1174 | SQLHSTMT StatementHandle, |
1175 | SQLUSMALLINT ParameterNumber, |
1176 | SQLSMALLINT ValueType, |
1177 | SQLSMALLINT ParameterType, |
1178 | SQLULEN LengthPrecision, |
1179 | SQLSMALLINT ParameterScale, |
1180 | SQLPOINTER ParameterValue, |
1181 | SQLLEN * StrLen_or_Ind); |
1182 | |
1183 | #ifdef __cplusplus |
1184 | } |
1185 | #endif |
1186 | |
1187 | #endif /* _SQL_H */ |
1188 | |