⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sqlext.h

📁 SQLAPI C/C++ 连接Oracle 数据库!
💻 H
📖 第 1 页 / 共 5 页
字号:
/* *  sqlext.h * *  $Id: sqlext.h,v 1.2 2007/01/09 19:51:04 yas Exp $ * *  ODBC defines (ext) * *  The iODBC driver manager. * *  Copyright (C) 1995 by Ke Jin <kejin@empress.com> *  Copyright (C) 1996-2006 by OpenLink Software <iodbc@openlinksw.com> *  All Rights Reserved. * *  This software is released under the terms of either of the following *  licenses: * *      - GNU Library General Public License (see LICENSE.LGPL) *      - The BSD License (see LICENSE.BSD). * *  Note that the only valid version of the LGPL license as far as this *  project is concerned is the original GNU Library General Public License *  Version 2, dated June 1991. * *  While not mandated by the BSD license, any patches you make to the *  iODBC source code may be contributed back into the iODBC project *  at your discretion. Contributions will benefit the Open Source and *  Data Access community as a whole. Submissions may be made at: * *      http://www.iodbc.org * * *  GNU Library Generic Public License Version 2 *  ============================================ *  This library is free software; you can redistribute it and/or *  modify it under the terms of the GNU Library General Public *  License as published by the Free Software Foundation; only *  Version 2 of the License dated June 1991. * *  This library is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU *  Library General Public License for more details. * *  You should have received a copy of the GNU Library General Public *  License along with this library; if not, write to the Free *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA * * *  The BSD License *  =============== *  Redistribution and use in source and binary forms, with or without *  modification, are permitted provided that the following conditions *  are met: * *  1. Redistributions of source code must retain the above copyright *     notice, this list of conditions and the following disclaimer. *  2. Redistributions in binary form must reproduce the above copyright *     notice, this list of conditions and the following disclaimer in *     the documentation and/or other materials provided with the *     distribution. *  3. Neither the name of OpenLink Software Inc. nor the names of its *     contributors may be used to endorse or promote products derived *     from this software without specific prior written permission. * *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL OPENLINK OR *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */#ifndef	_SQLEXT_H#define _SQLEXT_H#ifndef _SQL_H#include <sql.h>#endif#ifdef __cplusplusextern "C" {#endif/* *  Useful Constants */#define SQL_SPEC_MAJOR    			3#define SQL_SPEC_MINOR	  			52#define SQL_SPEC_STRING  			"03.52"#define SQL_SQLSTATE_SIZE			5#define SQL_MAX_DSN_LENGTH			32#define SQL_MAX_OPTION_STRING_LENGTH   		256/* *  Handle types */#if (ODBCVER >= 0x0300)#define SQL_HANDLE_SENV				5#endif	/* ODBCVER >= 0x0300 *//* *  Function return codes */#if (ODBCVER < 0x0300)#define SQL_NO_DATA_FOUND			100#else#define SQL_NO_DATA_FOUND			SQL_NO_DATA#endif	/* ODBCVER < 0x0300 *//* *  Special length values for attributes */#if (ODBCVER >= 0x0300)#define SQL_IS_POINTER				(-4)#define SQL_IS_UINTEGER				(-5)#define SQL_IS_INTEGER				(-6)#define SQL_IS_USMALLINT			(-7)#define SQL_IS_SMALLINT				(-8)#endif	/* ODBCVER >= 0x0300 *//* *  SQL extended datatypes */#define SQL_DATE				9#if (ODBCVER >= 0x0300)#define SQL_INTERVAL				10#endif	/* ODBCVER >= 0x0300 */#define SQL_TIME				10#define SQL_TIMESTAMP				11#define SQL_LONGVARCHAR				(-1)#define SQL_BINARY				(-2)#define SQL_VARBINARY				(-3)#define SQL_LONGVARBINARY			(-4)#define SQL_BIGINT				(-5)#define SQL_TINYINT				(-6)#define SQL_BIT					(-7)#if (ODBCVER >= 0x0350)#define SQL_GUID				(-11)#endif	/* ODBCVER >= 0x0350 *//* *  SQL Interval datatypes */#if (ODBCVER >= 0x0300)#define SQL_CODE_YEAR				1#define SQL_CODE_MONTH				2#define SQL_CODE_DAY				3#define SQL_CODE_HOUR				4#define SQL_CODE_MINUTE				5#define SQL_CODE_SECOND				6#define SQL_CODE_YEAR_TO_MONTH			7#define SQL_CODE_DAY_TO_HOUR			8#define SQL_CODE_DAY_TO_MINUTE			9#define SQL_CODE_DAY_TO_SECOND			10#define SQL_CODE_HOUR_TO_MINUTE			11#define SQL_CODE_HOUR_TO_SECOND			12#define SQL_CODE_MINUTE_TO_SECOND		13#define SQL_INTERVAL_YEAR			(100 + SQL_CODE_YEAR)#define SQL_INTERVAL_MONTH			(100 + SQL_CODE_MONTH)#define SQL_INTERVAL_DAY			(100 + SQL_CODE_DAY)#define SQL_INTERVAL_HOUR			(100 + SQL_CODE_HOUR)#define SQL_INTERVAL_MINUTE			(100 + SQL_CODE_MINUTE)#define SQL_INTERVAL_SECOND               	(100 + SQL_CODE_SECOND)#define SQL_INTERVAL_YEAR_TO_MONTH		(100 + SQL_CODE_YEAR_TO_MONTH)#define SQL_INTERVAL_DAY_TO_HOUR		(100 + SQL_CODE_DAY_TO_HOUR)#define SQL_INTERVAL_DAY_TO_MINUTE		(100 + SQL_CODE_DAY_TO_MINUTE)#define SQL_INTERVAL_DAY_TO_SECOND		(100 + SQL_CODE_DAY_TO_SECOND)#define SQL_INTERVAL_HOUR_TO_MINUTE		(100 + SQL_CODE_HOUR_TO_MINUTE)#define SQL_INTERVAL_HOUR_TO_SECOND		(100 + SQL_CODE_HOUR_TO_SECOND)#define SQL_INTERVAL_MINUTE_TO_SECOND		(100 + SQL_CODE_MINUTE_TO_SECOND)#else#define SQL_INTERVAL_YEAR			(-80)#define SQL_INTERVAL_MONTH			(-81)#define SQL_INTERVAL_YEAR_TO_MONTH		(-82)#define SQL_INTERVAL_DAY			(-83)#define SQL_INTERVAL_HOUR			(-84)#define SQL_INTERVAL_MINUTE			(-85)#define SQL_INTERVAL_SECOND			(-86)#define SQL_INTERVAL_DAY_TO_HOUR		(-87)#define SQL_INTERVAL_DAY_TO_MINUTE		(-88)#define SQL_INTERVAL_DAY_TO_SECOND		(-89)#define SQL_INTERVAL_HOUR_TO_MINUTE		(-90)#define SQL_INTERVAL_HOUR_TO_SECOND		(-91)#define SQL_INTERVAL_MINUTE_TO_SECOND		(-92)#endif	/* ODBCVER >= 0x0300 *//* *   SQL unicode data types */#if (ODBCVER <= 0x0300)/* These definitions are historical and obsolete */#define SQL_UNICODE				(-95)#define SQL_UNICODE_VARCHAR			(-96)#define SQL_UNICODE_LONGVARCHAR			(-97)#define SQL_UNICODE_CHAR			SQL_UNICODE#else#define SQL_UNICODE				SQL_WCHAR#define SQL_UNICODE_VARCHAR			SQL_WVARCHAR#define SQL_UNICODE_LONGVARCHAR			SQL_WLONGVARCHAR#define SQL_UNICODE_CHAR			SQL_WCHAR#endif	/* ODBCVER >= 0x0300 */#if (ODBCVER < 0x0300)#define SQL_TYPE_DRIVER_START			SQL_INTERVAL_YEAR#define SQL_TYPE_DRIVER_END			SQL_UNICODE_LONGVARCHAR#endif	/* ODBCVER < 0x0300 */#define SQL_SIGNED_OFFSET			(-20)#define SQL_UNSIGNED_OFFSET			(-22)/* *  C datatype to SQL datatype mapping */#define SQL_C_CHAR   				SQL_CHAR#define SQL_C_LONG   				SQL_INTEGER#define SQL_C_SHORT  				SQL_SMALLINT#define SQL_C_FLOAT  				SQL_REAL#define SQL_C_DOUBLE 				SQL_DOUBLE#if (ODBCVER >= 0x0300)#define SQL_C_NUMERIC				SQL_NUMERIC#endif	 /* ODBCVER >= 0x0300 */#define SQL_C_DEFAULT				99#define SQL_C_DATE				SQL_DATE#define SQL_C_TIME				SQL_TIME#define SQL_C_TIMESTAMP				SQL_TIMESTAMP#define SQL_C_BINARY				SQL_BINARY#define SQL_C_BIT				SQL_BIT#define SQL_C_TINYINT				SQL_TINYINT#define SQL_C_SLONG				(SQL_C_LONG+SQL_SIGNED_OFFSET)#define SQL_C_SSHORT				(SQL_C_SHORT+SQL_SIGNED_OFFSET)#define SQL_C_STINYINT				(SQL_TINYINT+SQL_SIGNED_OFFSET)#define SQL_C_ULONG				(SQL_C_LONG+SQL_UNSIGNED_OFFSET)#define SQL_C_USHORT				(SQL_C_SHORT+SQL_UNSIGNED_OFFSET)#define SQL_C_UTINYINT				(SQL_TINYINT+SQL_UNSIGNED_OFFSET)#if defined(_WIN64)#define SQL_C_BOOKMARK				SQL_C_UBIGINT#else#define SQL_C_BOOKMARK				SQL_C_ULONG#endif#if (ODBCVER >= 0x0300)#define SQL_C_TYPE_DATE				SQL_TYPE_DATE#define SQL_C_TYPE_TIME				SQL_TYPE_TIME#define SQL_C_TYPE_TIMESTAMP			SQL_TYPE_TIMESTAMP#define SQL_C_INTERVAL_YEAR			SQL_INTERVAL_YEAR#define SQL_C_INTERVAL_MONTH			SQL_INTERVAL_MONTH#define SQL_C_INTERVAL_DAY			SQL_INTERVAL_DAY#define SQL_C_INTERVAL_HOUR			SQL_INTERVAL_HOUR#define SQL_C_INTERVAL_MINUTE			SQL_INTERVAL_MINUTE#define SQL_C_INTERVAL_SECOND			SQL_INTERVAL_SECOND#define SQL_C_INTERVAL_YEAR_TO_MONTH		SQL_INTERVAL_YEAR_TO_MONTH#define SQL_C_INTERVAL_DAY_TO_HOUR		SQL_INTERVAL_DAY_TO_HOUR#define SQL_C_INTERVAL_DAY_TO_MINUTE		SQL_INTERVAL_DAY_TO_MINUTE#define SQL_C_INTERVAL_DAY_TO_SECOND		SQL_INTERVAL_DAY_TO_SECOND#define SQL_C_INTERVAL_HOUR_TO_MINUTE		SQL_INTERVAL_HOUR_TO_MINUTE#define SQL_C_INTERVAL_HOUR_TO_SECOND		SQL_INTERVAL_HOUR_TO_SECOND#define SQL_C_INTERVAL_MINUTE_TO_SECOND		SQL_INTERVAL_MINUTE_TO_SECOND#define SQL_C_SBIGINT				(SQL_BIGINT+SQL_SIGNED_OFFSET)#define SQL_C_UBIGINT				(SQL_BIGINT+SQL_UNSIGNED_OFFSET)#define SQL_C_VARBOOKMARK			SQL_C_BINARY#endif	 /* ODBCVER >= 0x0300 */#if (ODBCVER >= 0x0350)#define SQL_C_GUID				SQL_GUID#endif#define SQL_TYPE_NULL				0#if (ODBCVER < 0x0300)#define SQL_TYPE_MIN				SQL_BIT#define SQL_TYPE_MAX				SQL_VARCHAR#endif	/* ODBCVER < 0x0300 *//* * ---------------------------------------------------------------------- *  Level 1 Functions * ---------------------------------------------------------------------- *//* *  SQLBindParameter */#define SQL_DEFAULT_PARAM			(-5)#define SQL_IGNORE				(-6)#if (ODBCVER >= 0x0300)#define SQL_COLUMN_IGNORE			SQL_IGNORE#endif	/* ODBCVER >= 0x0300 */#define SQL_LEN_DATA_AT_EXEC_OFFSET		(-100)#define SQL_LEN_DATA_AT_EXEC(length)		(-(length)+SQL_LEN_DATA_AT_EXEC_OFFSET)/* *  binary length for driver specific attributes */#define SQL_LEN_BINARY_ATTR_OFFSET		 (-100)#define SQL_LEN_BINARY_ATTR(length)	 (-(length)+SQL_LEN_BINARY_ATTR_OFFSET)/* *  SQLColAttributes - ODBC 2.x defines */#define SQL_COLUMN_COUNT			0#define SQL_COLUMN_NAME				1#define SQL_COLUMN_TYPE				2#define SQL_COLUMN_LENGTH			3#define SQL_COLUMN_PRECISION			4#define SQL_COLUMN_SCALE			5#define SQL_COLUMN_DISPLAY_SIZE			6#define SQL_COLUMN_NULLABLE			7#define SQL_COLUMN_UNSIGNED			8#define SQL_COLUMN_MONEY			9#define SQL_COLUMN_UPDATABLE			10#define SQL_COLUMN_AUTO_INCREMENT		11#define SQL_COLUMN_CASE_SENSITIVE		12#define SQL_COLUMN_SEARCHABLE			13#define SQL_COLUMN_TYPE_NAME			14#define SQL_COLUMN_TABLE_NAME			15#define SQL_COLUMN_OWNER_NAME			16#define SQL_COLUMN_QUALIFIER_NAME		17#define SQL_COLUMN_LABEL			18#define SQL_COLATT_OPT_MAX			SQL_COLUMN_LABEL#if (ODBCVER < 0x0300)#define SQL_COLUMN_DRIVER_START			1000#endif	/* ODBCVER < 0x0300 */#define SQL_COLATT_OPT_MIN			SQL_COLUMN_COUNT/* *  SQLColAttributes - SQL_COLUMN_UPDATABLE */#define SQL_ATTR_READONLY			0#define SQL_ATTR_WRITE				1#define SQL_ATTR_READWRITE_UNKNOWN		2/* *  SQLColAttributes - SQL_COLUMN_SEARCHABLE */#define SQL_UNSEARCHABLE			0#define SQL_LIKE_ONLY				1#define SQL_ALL_EXCEPT_LIKE			2#define SQL_SEARCHABLE				3#define SQL_PRED_SEARCHABLE			SQL_SEARCHABLE/* *  SQLDataSources - additional fetch directions */#if (ODBCVER >= 0x0300)#define SQL_FETCH_FIRST_USER			31#define SQL_FETCH_FIRST_SYSTEM			32#endif	/* ODBCVER >= 0x0300 *//* *  SQLDriverConnect */#define SQL_DRIVER_NOPROMPT			0#define SQL_DRIVER_COMPLETE			1#define SQL_DRIVER_PROMPT			2#define SQL_DRIVER_COMPLETE_REQUIRED		3/* *  SQLGetConnectAttr - ODBC 2.x attributes */#define SQL_ACCESS_MODE				101#define SQL_AUTOCOMMIT				102#define SQL_LOGIN_TIMEOUT			103#define SQL_OPT_TRACE				104#define SQL_OPT_TRACEFILE			105#define SQL_TRANSLATE_DLL			106#define SQL_TRANSLATE_OPTION			107#define SQL_TXN_ISOLATION			108#define SQL_CURRENT_QUALIFIER			109#define SQL_ODBC_CURSORS			110#define SQL_QUIET_MODE				111#define SQL_PACKET_SIZE				112/* *  SQLGetConnectAttr - ODBC 3.0 attributes */#if (ODBCVER >= 0x0300)#define SQL_ATTR_ACCESS_MODE			SQL_ACCESS_MODE#define SQL_ATTR_AUTOCOMMIT			SQL_AUTOCOMMIT#define SQL_ATTR_CONNECTION_TIMEOUT		113#define SQL_ATTR_CURRENT_CATALOG		SQL_CURRENT_QUALIFIER#define SQL_ATTR_DISCONNECT_BEHAVIOR		114#define SQL_ATTR_ENLIST_IN_DTC			1207#define SQL_ATTR_ENLIST_IN_XA			1208#define SQL_ATTR_LOGIN_TIMEOUT			SQL_LOGIN_TIMEOUT#define SQL_ATTR_ODBC_CURSORS			SQL_ODBC_CURSORS#define SQL_ATTR_PACKET_SIZE			SQL_PACKET_SIZE#define SQL_ATTR_QUIET_MODE			SQL_QUIET_MODE#define SQL_ATTR_TRACE				SQL_OPT_TRACE#define SQL_ATTR_TRACEFILE			SQL_OPT_TRACEFILE#define SQL_ATTR_TRANSLATE_LIB			SQL_TRANSLATE_DLL#define SQL_ATTR_TRANSLATE_OPTION		SQL_TRANSLATE_OPTION#define SQL_ATTR_TXN_ISOLATION			SQL_TXN_ISOLATION#endif	/* ODBCVER >= 0x0300 */#define SQL_ATTR_CONNECTION_DEAD		1209 /* GetConnectAttr only *//* *  These options have no meaning for a 3.0 driver */#if (ODBCVER < 0x0300)#define SQL_CONN_OPT_MIN			SQL_ACCESS_MODE#define SQL_CONN_OPT_MAX			SQL_PACKET_SIZE#define SQL_CONNECT_OPT_DRVR_START		1000#endif	/* ODBCVER < 0x0300 *//* *  SQLGetConnectAttr - SQL_ACCESS_MODE */#define SQL_MODE_READ_WRITE			0UL#define SQL_MODE_READ_ONLY			1UL#define SQL_MODE_DEFAULT			SQL_MODE_READ_WRITE/* *  SQLGetConnectAttr - SQL_AUTOCOMMIT */#define SQL_AUTOCOMMIT_OFF			0UL#define SQL_AUTOCOMMIT_ON			1UL#define SQL_AUTOCOMMIT_DEFAULT			SQL_AUTOCOMMIT_ON/* *  SQLGetConnectAttr - SQL_LOGIN_TIMEOUT */#define SQL_LOGIN_TIMEOUT_DEFAULT		15UL/* *  SQLGetConnectAttr - SQL_ODBC_CURSORS */#define SQL_CUR_USE_IF_NEEDED			0UL#define SQL_CUR_USE_ODBC			1UL#define SQL_CUR_USE_DRIVER			2UL#define SQL_CUR_DEFAULT				SQL_CUR_USE_DRIVER/* *  SQLGetConnectAttr - SQL_OPT_TRACE */#define SQL_OPT_TRACE_OFF			0UL#define SQL_OPT_TRACE_ON			1UL#define SQL_OPT_TRACE_DEFAULT			SQL_OPT_TRACE_OFF#if defined (WIN32)#define SQL_OPT_TRACE_FILE_DEFAULT		"\\SQL.LOG"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -