OdbcSS.H
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:28k
- //-----------------------------------------------------------------------------
- // File: odbcss.h
- //
- // Copyright: Copyright (c) Microsoft Corporation
- //
- // Contents:
- //
- // Comments: This is the application include file for the SQL Server driver specific defines.
- //
- //-----------------------------------------------------------------------------
- #ifndef __ODBCSS
- #define __ODBCSS
- #ifdef __cplusplus
- extern "C" { /* Assume C declarations for C++ */
- #endif /* __cplusplus */
- // Useful defines
- #define SQL_MAX_SQLSERVERNAME 128 // max SQL Server identifier length
- // SQLSetConnectOption/SQLSetStmtOption driver specific defines.
- // Microsoft has 1200 thru 1249 reserved for Microsoft SQL Server driver usage.
- // Connection Options
- #define SQL_COPT_SS_BASE 1200
- #define SQL_COPT_SS_REMOTE_PWD (SQL_COPT_SS_BASE+1) // dbrpwset SQLSetConnectOption only
- #define SQL_COPT_SS_USE_PROC_FOR_PREP (SQL_COPT_SS_BASE+2) // Use create proc for SQLPrepare
- #define SQL_COPT_SS_INTEGRATED_SECURITY (SQL_COPT_SS_BASE+3) // Force integrated security on login
- #define SQL_COPT_SS_PRESERVE_CURSORS (SQL_COPT_SS_BASE+4) // Preserve server cursors after SQLTransact
- #define SQL_COPT_SS_USER_DATA (SQL_COPT_SS_BASE+5) // dbgetuserdata/dbsetuserdata
- #define SQL_COPT_SS_ENLIST_IN_DTC SQL_ATTR_ENLIST_IN_DTC // Enlist in a DTC transaction
- #define SQL_COPT_SS_ENLIST_IN_XA SQL_ATTR_ENLIST_IN_XA // Enlist in a XA transaction
- //SQL_ATTR_CONNECTION_DEAD 1209 (It will return current connection status, it will not go to server)
- #define SQL_COPT_SS_FALLBACK_CONNECT (SQL_COPT_SS_BASE+10) // Enables FallBack connections
- #define SQL_COPT_SS_PERF_DATA (SQL_COPT_SS_BASE+11) // Used to access SQL Server ODBC driver performance data
- #define SQL_COPT_SS_PERF_DATA_LOG (SQL_COPT_SS_BASE+12) // Used to set the logfile name for the Performance data
- #define SQL_COPT_SS_PERF_QUERY_INTERVAL (SQL_COPT_SS_BASE+13) // Used to set the query logging threshold in milliseconds.
- #define SQL_COPT_SS_PERF_QUERY_LOG (SQL_COPT_SS_BASE+14) // Used to set the logfile name for saving queryies.
- #define SQL_COPT_SS_PERF_QUERY (SQL_COPT_SS_BASE+15) // Used to start and stop query logging.
- #define SQL_COPT_SS_PERF_DATA_LOG_NOW (SQL_COPT_SS_BASE+16) // Used to make a statistics log entry to disk.
- #define SQL_COPT_SS_QUOTED_IDENT (SQL_COPT_SS_BASE+17) // Enable/Disable Quoted Identifiers
- #define SQL_COPT_SS_ANSI_NPW (SQL_COPT_SS_BASE+18) // Enable/Disable ANSI NULL, Padding and Warnings
- #define SQL_COPT_SS_BCP (SQL_COPT_SS_BASE+19) // Allow BCP usage on connection
- #define SQL_COPT_SS_TRANSLATE (SQL_COPT_SS_BASE+20) // Perform code page translation
- #define SQL_COPT_SS_ATTACHDBFILENAME (SQL_COPT_SS_BASE+21) // File name to be attached as a database
- #define SQL_COPT_SS_CONCAT_NULL (SQL_COPT_SS_BASE+22) // Enable/Disable CONCAT_NULL_YIELDS_NULL
- #define SQL_COPT_SS_ENCRYPT (SQL_COPT_SS_BASE+23) // Allow strong encryption for data
- #define SQL_COPT_SS_MAX_USED SQL_COPT_SS_ENCRYPT
- // Statement Options
- #define SQL_SOPT_SS_BASE 1225
- #define SQL_SOPT_SS_TEXTPTR_LOGGING (SQL_SOPT_SS_BASE+0) // Text pointer logging
- #define SQL_SOPT_SS_CURRENT_COMMAND (SQL_SOPT_SS_BASE+1) // dbcurcmd SQLGetStmtOption only
- #define SQL_SOPT_SS_HIDDEN_COLUMNS (SQL_SOPT_SS_BASE+2) // Expose FOR BROWSE hidden columns
- #define SQL_SOPT_SS_NOBROWSETABLE (SQL_SOPT_SS_BASE+3) // Set NOBROWSETABLE option
- #define SQL_SOPT_SS_REGIONALIZE (SQL_SOPT_SS_BASE+4) // Regionalize output character conversions
- #define SQL_SOPT_SS_CURSOR_OPTIONS (SQL_SOPT_SS_BASE+5) // Server cursor options
- #define SQL_SOPT_SS_NOCOUNT_STATUS (SQL_SOPT_SS_BASE+6) // Real vs. Not Real row count indicator
- #define SQL_SOPT_SS_DEFER_PREPARE (SQL_SOPT_SS_BASE+7) // Defer prepare until necessary
- #define SQL_SOPT_SS_MAX_USED SQL_SOPT_SS_DEFER_PREPARE
- #define SQL_COPT_SS_BASE_EX 1240
- #define SQL_COPT_SS_BROWSE_CONNECT (SQL_COPT_SS_BASE_EX+1) // Browse connect mode of operation
- #define SQL_COPT_SS_BROWSE_SERVER (SQL_COPT_SS_BASE_EX+2) // Single Server browse request.
- #define SQL_COPT_SS_WARN_ON_CP_ERROR (SQL_COPT_SS_BASE_EX+3) // Issues warning when data from the server
- // had a loss during code page conversion.
- #define SQL_COPT_SS_CONNECTION_DEAD (SQL_COPT_SS_BASE_EX+4) // dbdead SQLGetConnectOption only
- // It will try to ping the server.
- // Expensive connection check
- #define SQL_COPT_SS_BROWSE_CACHE_DATA (SQL_COPT_SS_BASE_EX+5) //Determines if we should cache browse info
- //Used when returned buffer is greater then ODBC limit (32K)
- #define SQL_COPT_SS_RESET_CONNECTION (SQL_COPT_SS_BASE_EX+6) //When this option is set, we will perform connection reset
- //on next packet
- #define SQL_COPT_SS_EX_MAX_USED SQL_COPT_SS_RESET_CONNECTION
- // Defines for use with SQL_COPT_SS_USE_PROC_FOR_PREP
- #define SQL_UP_OFF 0L // Procedures won't be used for prepare
- #define SQL_UP_ON 1L // Procedures will be used for prepare
- #define SQL_UP_ON_DROP 2L // Temp procedures will be explicitly dropped
- #define SQL_UP_DEFAULT SQL_UP_ON
- // Defines for use with SQL_COPT_SS_INTEGRATED_SECURITY - Pre-Connect Option only
- #define SQL_IS_OFF 0L // Integrated security isn't used
- #define SQL_IS_ON 1L // Integrated security is used
- #define SQL_IS_DEFAULT SQL_IS_OFF
- // Defines for use with SQL_COPT_SS_PRESERVE_CURSORS
- #define SQL_PC_OFF 0L // Cursors are closed on SQLTransact
- #define SQL_PC_ON 1L // Cursors remain open on SQLTransact
- #define SQL_PC_DEFAULT SQL_PC_OFF
- // Defines for use with SQL_COPT_SS_USER_DATA
- #define SQL_UD_NOTSET NULL // No user data pointer set
- // Defines for use with SQL_COPT_SS_TRANSLATE
- #define SQL_XL_OFF 0L // Code page translation is not performed
- #define SQL_XL_ON 1L // Code page translation is performed
- #define SQL_XL_DEFAULT SQL_XL_ON
- // Defines for use with SQL_COPT_SS_FALLBACK_CONNECT - Pre-Connect Option only
- #define SQL_FB_OFF 0L // FallBack connections are disabled
- #define SQL_FB_ON 1L // FallBack connections are enabled
- #define SQL_FB_DEFAULT SQL_FB_OFF
- // Defines for use with SQL_COPT_SS_BCP - Pre-Connect Option only
- #define SQL_BCP_OFF 0L // BCP is not allowed on connection
- #define SQL_BCP_ON 1L // BCP is allowed on connection
- #define SQL_BCP_DEFAULT SQL_BCP_OFF
- // Defines for use with SQL_COPT_SS_QUOTED_IDENT
- #define SQL_QI_OFF 0L // Quoted identifiers are enable
- #define SQL_QI_ON 1L // Quoted identifiers are disabled
- #define SQL_QI_DEFAULT SQL_QI_ON
- // Defines for use with SQL_COPT_SS_ANSI_NPW - Pre-Connect Option only
- #define SQL_AD_OFF 0L // ANSI NULLs, Padding and Warnings are enabled
- #define SQL_AD_ON 1L // ANSI NULLs, Padding and Warnings are disabled
- #define SQL_AD_DEFAULT SQL_AD_ON
- // Defines for use with SQL_COPT_SS_CONCAT_NULL - Pre-Connect Option only
- #define SQL_CN_OFF 0L // CONCAT_NULL_YIELDS_NULL is off
- #define SQL_CN_ON 1L // CONCAT_NULL_YIELDS_NULL is on
- #define SQL_CN_DEFAULT SQL_CN_ON
- // Defines for use with SQL_SOPT_SS_TEXTPTR_LOGGING
- #define SQL_TL_OFF 0L // No logging on text pointer ops
- #define SQL_TL_ON 1L // Logging occurs on text pointer ops
- #define SQL_TL_DEFAULT SQL_TL_ON
- // Defines for use with SQL_SOPT_SS_HIDDEN_COLUMNS
- #define SQL_HC_OFF 0L // FOR BROWSE columns are hidden
- #define SQL_HC_ON 1L // FOR BROWSE columns are exposed
- #define SQL_HC_DEFAULT SQL_HC_OFF
- // Defines for use with SQL_SOPT_SS_NOBROWSETABLE
- #define SQL_NB_OFF 0L // NO_BROWSETABLE is off
- #define SQL_NB_ON 1L // NO_BROWSETABLE is on
- #define SQL_NB_DEFAULT SQL_NB_OFF
- // Defines for use with SQL_SOPT_SS_REGIONALIZE
- #define SQL_RE_OFF 0L // No regionalization occurs on output character conversions
- #define SQL_RE_ON 1L // Regionalization occurs on output character conversions
- #define SQL_RE_DEFAULT SQL_RE_OFF
- // Defines for use with SQL_SOPT_SS_CURSOR_OPTIONS
- #define SQL_CO_OFF 0L // Clear all cursor options
- #define SQL_CO_FFO 1L // Fast-forward cursor will be used
- #define SQL_CO_AF 2L // Autofetch on cursor open
- #define SQL_CO_FFO_AF (SQL_CO_FFO|SQL_CO_AF) // Fast-forward cursor with autofetch
- #define SQL_CO_FIREHOSE_AF 4L // Auto fetch on fire-hose cursors
- #define SQL_CO_DEFAULT SQL_CO_OFF
- //SQL_SOPT_SS_NOCOUNT_STATUS
- #define SQL_NC_OFF 0L
- #define SQL_NC_ON 1L
- //SQL_SOPT_SS_DEFER_PREPARE
- #define SQL_DP_OFF 0L
- #define SQL_DP_ON 1L
- //SQL_COPT_SS_ENCRYPT
- #define SQL_EN_OFF 0L
- #define SQL_EN_ON 1L
- //SQL_COPT_SS_BROWSE_CONNECT
- #define SQL_MORE_INFO_NO 0L
- #define SQL_MORE_INFO_YES 1L
- //SQL_COPT_SS_BROWSE_CACHE_DATA
- #define SQL_CACHE_DATA_NO 0L
- #define SQL_CACHE_DATA_YES 1L
- //SQL_COPT_SS_RESET_CONNECTION
- #define SQL_RESET_YES 1L
- //SQL_COPT_SS_WARN_ON_CP_ERROR
- #define SQL_WARN_NO 0L
- #define SQL_WARN_YES 1L
- // Defines returned by SQL_ATTR_CURSOR_TYPE/SQL_CURSOR_TYPE
- #define SQL_CURSOR_FAST_FORWARD_ONLY 8 // Only returned by SQLGetStmtAttr/Option
- // SQLColAttributes driver specific defines.
- // SQLSet/GetDescField driver specific defines.
- // Microsoft has 1200 thru 1249 reserved for Microsoft SQL Server driver usage.
- #define SQL_CA_SS_BASE 1200
- #define SQL_CA_SS_COLUMN_SSTYPE (SQL_CA_SS_BASE+0) // dbcoltype/dbalttype
- #define SQL_CA_SS_COLUMN_UTYPE (SQL_CA_SS_BASE+1) // dbcolutype/dbaltutype
- #define SQL_CA_SS_NUM_ORDERS (SQL_CA_SS_BASE+2) // dbnumorders
- #define SQL_CA_SS_COLUMN_ORDER (SQL_CA_SS_BASE+3) // dbordercol
- #define SQL_CA_SS_COLUMN_VARYLEN (SQL_CA_SS_BASE+4) // dbvarylen
- #define SQL_CA_SS_NUM_COMPUTES (SQL_CA_SS_BASE+5) // dbnumcompute
- #define SQL_CA_SS_COMPUTE_ID (SQL_CA_SS_BASE+6) // dbnextrow status return
- #define SQL_CA_SS_COMPUTE_BYLIST (SQL_CA_SS_BASE+7) // dbbylist
- #define SQL_CA_SS_COLUMN_ID (SQL_CA_SS_BASE+8) // dbaltcolid
- #define SQL_CA_SS_COLUMN_OP (SQL_CA_SS_BASE+9) // dbaltop
- #define SQL_CA_SS_COLUMN_SIZE (SQL_CA_SS_BASE+10) // dbcollen
- #define SQL_CA_SS_COLUMN_HIDDEN (SQL_CA_SS_BASE+11) // Column is hidden (FOR BROWSE)
- #define SQL_CA_SS_COLUMN_KEY (SQL_CA_SS_BASE+12) // Column is key column (FOR BROWSE)
- //#define SQL_DESC_BASE_COLUMN_NAME_OLD (SQL_CA_SS_BASE+13) //This is defined at another location.
- #define SQL_CA_SS_COLUMN_COLLATION (SQL_CA_SS_BASE+14) // Column collation (only for chars)
- #define SQL_CA_SS_VARIANT_TYPE (SQL_CA_SS_BASE+15)
- #define SQL_CA_SS_VARIANT_SQL_TYPE (SQL_CA_SS_BASE+16)
- #define SQL_CA_SS_VARIANT_SERVER_TYPE (SQL_CA_SS_BASE+17)
- #define SQL_CA_SS_MAX_USED (SQL_CA_SS_BASE+18)
- // SQL Server Data Type Tokens.
- // New types for 6.0 and later servers
- /* SQL Server Data Type Tokens. */
- #define SQLTEXT 0x23
- #define SQLVARBINARY 0x25
- #define SQLINTN 0x26
- #define SQLVARCHAR 0x27
- #define SQLBINARY 0x2d
- #define SQLIMAGE 0x22
- #define SQLCHARACTER 0x2f
- #define SQLINT1 0x30
- #define SQLBIT 0x32
- #define SQLINT2 0x34
- #define SQLINT4 0x38
- #define SQLMONEY 0x3c
- #define SQLDATETIME 0x3d
- #define SQLFLT8 0x3e
- #define SQLFLTN 0x6d
- #define SQLMONEYN 0x6e
- #define SQLDATETIMN 0x6f
- #define SQLFLT4 0x3b
- #define SQLMONEY4 0x7a
- #define SQLDATETIM4 0x3a
- // New types for 6.0 and later servers
- #define SQLDECIMAL 0x6a
- #define SQLNUMERIC 0x6c
- // New types for 7.0 and later servers
- #define SQLUNIQUEID 0x24
- #define SQLBIGCHAR 0xaf
- #define SQLBIGVARCHAR 0xa7
- #define SQLBIGBINARY 0xad
- #define SQLBIGVARBINARY 0xa5
- #define SQLBITN 0x68
- #define SQLNCHAR 0xef
- #define SQLNVARCHAR 0xe7
- #define SQLNTEXT 0x63
- // New for 7.x
- #define SQLINT8 0x7f
- #define SQLVARIANT 0x62
- // User Data Type definitions.
- // Returned by SQLColAttributes/SQL_CA_SS_COLUMN_UTYPE.
- #define SQLudtBINARY 3
- #define SQLudtBIT 16
- #define SQLudtBITN 0
- #define SQLudtCHAR 1
- #define SQLudtDATETIM4 22
- #define SQLudtDATETIME 12
- #define SQLudtDATETIMN 15
- #define SQLudtDECML 24
- #define SQLudtDECMLN 26
- #define SQLudtFLT4 23
- #define SQLudtFLT8 8
- #define SQLudtFLTN 14
- #define SQLudtIMAGE 20
- #define SQLudtINT1 5
- #define SQLudtINT2 6
- #define SQLudtINT4 7
- #define SQLudtINTN 13
- #define SQLudtMONEY 11
- #define SQLudtMONEY4 21
- #define SQLudtMONEYN 17
- #define SQLudtNUM 10
- #define SQLudtNUMN 25
- #define SQLudtSYSNAME 18
- #define SQLudtTEXT 19
- #define SQLudtTIMESTAMP 80
- #define SQLudtUNIQUEIDENTIFIER 0
- #define SQLudtVARBINARY 4
- #define SQLudtVARCHAR 2
- #define MIN_USER_DATATYPE 256
- // Aggregate operator types.
- // Returned by SQLColAttributes/SQL_CA_SS_COLUMN_OP.
- #define SQLAOPSTDEV 0x30 // Standard deviation
- #define SQLAOPSTDEVP 0x31 // Standard deviation population
- #define SQLAOPVAR 0x32 // Variance
- #define SQLAOPVARP 0x33 // Variance population
- #define SQLAOPCNT 0x4b // Count
- #define SQLAOPSUM 0x4d // Sum
- #define SQLAOPAVG 0x4f // Average
- #define SQLAOPMIN 0x51 // Min
- #define SQLAOPMAX 0x52 // Max
- #define SQLAOPANY 0x53 // Any
- #define SQLAOPNOOP 0x56 // None
- // SQLGetInfo driver specific defines.
- // Microsoft has 1151 thru 1200 reserved for Microsoft SQL Server driver usage.
- #define SQL_INFO_SS_FIRST 1199
- #define SQL_INFO_SS_NETLIB_NAMEW (SQL_INFO_SS_FIRST+0) // dbprocinfo
- #define SQL_INFO_SS_NETLIB_NAMEA (SQL_INFO_SS_FIRST+1) // dbprocinfo
- #define SQL_INFO_SS_MAX_USED SQL_INFO_SS_NETLIB_NAMEA
- #ifdef UNICODE
- #define SQL_INFO_SS_NETLIB_NAME SQL_INFO_SS_NETLIB_NAMEW
- #else
- #define SQL_INFO_SS_NETLIB_NAME SQL_INFO_SS_NETLIB_NAMEA
- #endif
- // Driver specific SQL type defines.
- // Microsoft has -150 thru -199 reserved for Microsoft SQL Server driver usage.
- #define SQL_SS_VARIANT -150
- // SQLGetDiagField driver specific defines.
- // Microsoft has -1150 thru -1199 reserved for Microsoft SQL Server driver usage.
- #define SQL_DIAG_SS_BASE (-1150)
- #define SQL_DIAG_SS_MSGSTATE (SQL_DIAG_SS_BASE)
- #define SQL_DIAG_SS_SEVERITY (SQL_DIAG_SS_BASE-1)
- #define SQL_DIAG_SS_SRVNAME (SQL_DIAG_SS_BASE-2)
- #define SQL_DIAG_SS_PROCNAME (SQL_DIAG_SS_BASE-3)
- #define SQL_DIAG_SS_LINE (SQL_DIAG_SS_BASE-4)
- // SQLGetDiagField/SQL_DIAG_DYNAMIC_FUNCTION_CODE driver specific defines.
- // Microsoft has -200 thru -299 reserved for Microsoft SQL Server driver usage.
- #define SQL_DIAG_DFC_SS_BASE (-200)
- #define SQL_DIAG_DFC_SS_ALTER_DATABASE (SQL_DIAG_DFC_SS_BASE-0)
- #define SQL_DIAG_DFC_SS_CHECKPOINT (SQL_DIAG_DFC_SS_BASE-1)
- #define SQL_DIAG_DFC_SS_CONDITION (SQL_DIAG_DFC_SS_BASE-2)
- #define SQL_DIAG_DFC_SS_CREATE_DATABASE (SQL_DIAG_DFC_SS_BASE-3)
- #define SQL_DIAG_DFC_SS_CREATE_DEFAULT (SQL_DIAG_DFC_SS_BASE-4)
- #define SQL_DIAG_DFC_SS_CREATE_PROCEDURE (SQL_DIAG_DFC_SS_BASE-5)
- #define SQL_DIAG_DFC_SS_CREATE_RULE (SQL_DIAG_DFC_SS_BASE-6)
- #define SQL_DIAG_DFC_SS_CREATE_TRIGGER (SQL_DIAG_DFC_SS_BASE-7)
- #define SQL_DIAG_DFC_SS_CURSOR_DECLARE (SQL_DIAG_DFC_SS_BASE-8)
- #define SQL_DIAG_DFC_SS_CURSOR_OPEN (SQL_DIAG_DFC_SS_BASE-9)
- #define SQL_DIAG_DFC_SS_CURSOR_FETCH (SQL_DIAG_DFC_SS_BASE-10)
- #define SQL_DIAG_DFC_SS_CURSOR_CLOSE (SQL_DIAG_DFC_SS_BASE-11)
- #define SQL_DIAG_DFC_SS_DEALLOCATE_CURSOR (SQL_DIAG_DFC_SS_BASE-12)
- #define SQL_DIAG_DFC_SS_DBCC (SQL_DIAG_DFC_SS_BASE-13)
- #define SQL_DIAG_DFC_SS_DISK (SQL_DIAG_DFC_SS_BASE-14)
- #define SQL_DIAG_DFC_SS_DROP_DATABASE (SQL_DIAG_DFC_SS_BASE-15)
- #define SQL_DIAG_DFC_SS_DROP_DEFAULT (SQL_DIAG_DFC_SS_BASE-16)
- #define SQL_DIAG_DFC_SS_DROP_PROCEDURE (SQL_DIAG_DFC_SS_BASE-17)
- #define SQL_DIAG_DFC_SS_DROP_RULE (SQL_DIAG_DFC_SS_BASE-18)
- #define SQL_DIAG_DFC_SS_DROP_TRIGGER (SQL_DIAG_DFC_SS_BASE-19)
- #define SQL_DIAG_DFC_SS_DUMP_DATABASE (SQL_DIAG_DFC_SS_BASE-20)
- #define SQL_DIAG_DFC_SS_DUMP_TABLE (SQL_DIAG_DFC_SS_BASE-21)
- #define SQL_DIAG_DFC_SS_DUMP_TRANSACTION (SQL_DIAG_DFC_SS_BASE-22)
- #define SQL_DIAG_DFC_SS_GOTO (SQL_DIAG_DFC_SS_BASE-23)
- #define SQL_DIAG_DFC_SS_INSERT_BULK (SQL_DIAG_DFC_SS_BASE-24)
- #define SQL_DIAG_DFC_SS_KILL (SQL_DIAG_DFC_SS_BASE-25)
- #define SQL_DIAG_DFC_SS_LOAD_DATABASE (SQL_DIAG_DFC_SS_BASE-26)
- #define SQL_DIAG_DFC_SS_LOAD_HEADERONLY (SQL_DIAG_DFC_SS_BASE-27)
- #define SQL_DIAG_DFC_SS_LOAD_TABLE (SQL_DIAG_DFC_SS_BASE-28)
- #define SQL_DIAG_DFC_SS_LOAD_TRANSACTION (SQL_DIAG_DFC_SS_BASE-29)
- #define SQL_DIAG_DFC_SS_PRINT (SQL_DIAG_DFC_SS_BASE-30)
- #define SQL_DIAG_DFC_SS_RAISERROR (SQL_DIAG_DFC_SS_BASE-31)
- #define SQL_DIAG_DFC_SS_READTEXT (SQL_DIAG_DFC_SS_BASE-32)
- #define SQL_DIAG_DFC_SS_RECONFIGURE (SQL_DIAG_DFC_SS_BASE-33)
- #define SQL_DIAG_DFC_SS_RETURN (SQL_DIAG_DFC_SS_BASE-34)
- #define SQL_DIAG_DFC_SS_SELECT_INTO (SQL_DIAG_DFC_SS_BASE-35)
- #define SQL_DIAG_DFC_SS_SET (SQL_DIAG_DFC_SS_BASE-36)
- #define SQL_DIAG_DFC_SS_SET_IDENTITY_INSERT (SQL_DIAG_DFC_SS_BASE-37)
- #define SQL_DIAG_DFC_SS_SET_ROW_COUNT (SQL_DIAG_DFC_SS_BASE-38)
- #define SQL_DIAG_DFC_SS_SET_STATISTICS (SQL_DIAG_DFC_SS_BASE-39)
- #define SQL_DIAG_DFC_SS_SET_TEXTSIZE (SQL_DIAG_DFC_SS_BASE-40)
- #define SQL_DIAG_DFC_SS_SETUSER (SQL_DIAG_DFC_SS_BASE-41)
- #define SQL_DIAG_DFC_SS_SHUTDOWN (SQL_DIAG_DFC_SS_BASE-42)
- #define SQL_DIAG_DFC_SS_TRANS_BEGIN (SQL_DIAG_DFC_SS_BASE-43)
- #define SQL_DIAG_DFC_SS_TRANS_COMMIT (SQL_DIAG_DFC_SS_BASE-44)
- #define SQL_DIAG_DFC_SS_TRANS_PREPARE (SQL_DIAG_DFC_SS_BASE-45)
- #define SQL_DIAG_DFC_SS_TRANS_ROLLBACK (SQL_DIAG_DFC_SS_BASE-46)
- #define SQL_DIAG_DFC_SS_TRANS_SAVE (SQL_DIAG_DFC_SS_BASE-47)
- #define SQL_DIAG_DFC_SS_TRUNCATE_TABLE (SQL_DIAG_DFC_SS_BASE-48)
- #define SQL_DIAG_DFC_SS_UPDATE_STATISTICS (SQL_DIAG_DFC_SS_BASE-49)
- #define SQL_DIAG_DFC_SS_UPDATETEXT (SQL_DIAG_DFC_SS_BASE-50)
- #define SQL_DIAG_DFC_SS_USE (SQL_DIAG_DFC_SS_BASE-51)
- #define SQL_DIAG_DFC_SS_WAITFOR (SQL_DIAG_DFC_SS_BASE-52)
- #define SQL_DIAG_DFC_SS_WRITETEXT (SQL_DIAG_DFC_SS_BASE-53)
- #define SQL_DIAG_DFC_SS_DENY (SQL_DIAG_DFC_SS_BASE-54)
- #define SQL_DIAG_DFC_SS_SET_XCTLVL (SQL_DIAG_DFC_SS_BASE-55)
- // Severity codes for SQL_DIAG_SS_SEVERITY
- #define EX_ANY 0
- #define EX_INFO 10
- #define EX_MAXISEVERITY EX_INFO
- #define EX_MISSING 11
- #define EX_TYPE 12
- #define EX_DEADLOCK 13
- #define EX_PERMIT 14
- #define EX_SYNTAX 15
- #define EX_USER 16
- #define EX_RESOURCE 17
- #define EX_INTOK 18
- #define MAXUSEVERITY EX_INTOK
- #define EX_LIMIT 19
- #define EX_CMDFATAL 20
- #define MINFATALERR EX_CMDFATAL
- #define EX_DBFATAL 21
- #define EX_TABCORRUPT 22
- #define EX_DBCORRUPT 23
- #define EX_HARDWARE 24
- #define EX_CONTROL 25
- // Internal server datatypes - used when binding to SQL_C_BINARY
- #ifndef MAXNUMERICLEN // Resolve ODS/DBLib conflicts
- // DB-Library datatypes
- #define DBMAXCHAR (8000+1) // Max length of DBVARBINARY and DBVARCHAR, etc. +1 for zero byte
- #define MAXNAME (SQL_MAX_SQLSERVERNAME+1) // Max server identifier length including zero byte
- #ifdef UNICODE
- typedef wchar_t DBCHAR;
- #else
- typedef char DBCHAR;
- #endif
- typedef unsigned char DBBINARY;
- typedef unsigned char DBTINYINT;
- typedef short DBSMALLINT;
- typedef unsigned short DBUSMALLINT;
- typedef double DBFLT8;
- typedef unsigned char DBBIT;
- typedef unsigned char DBBOOL;
- typedef float DBFLT4;
- typedef DBFLT4 DBREAL;
- typedef UINT DBUBOOL;
- typedef struct dbvarychar
- {
- DBSMALLINT len;
- DBCHAR str[DBMAXCHAR];
- } DBVARYCHAR;
- typedef struct dbvarybin
- {
- DBSMALLINT len;
- BYTE array[DBMAXCHAR];
- } DBVARYBIN;
- typedef struct dbmoney
- { // Internal representation of MONEY data type
- LONG mnyhigh; // Money value *10,000 (High 32 bits/signed)
- ULONG mnylow; // Money value *10,000 (Low 32 bits/unsigned)
- } DBMONEY;
- typedef struct dbdatetime
- { // Internal representation of DATETIME data type
- LONG dtdays; // No of days since Jan-1-1900 (maybe negative)
- ULONG dttime; // No. of 300 hundredths of a second since midnight
- } DBDATETIME;
- typedef struct dbdatetime4
- { // Internal representation of SMALLDATETIME data type
- USHORT numdays; // No of days since Jan-1-1900
- USHORT nummins; // No. of minutes since midnight
- } DBDATETIM4;
- typedef LONG DBMONEY4; // Internal representation of SMALLMONEY data type
- // Money value *10,000
- #define DBNUM_PREC_TYPE BYTE
- #define DBNUM_SCALE_TYPE BYTE
- #define DBNUM_VAL_TYPE BYTE
- #if (ODBCVER < 0x0300)
- #define MAXNUMERICLEN 16
- typedef struct dbnumeric
- { // Internal representation of NUMERIC data type
- DBNUM_PREC_TYPE precision; // Precision
- DBNUM_SCALE_TYPE scale; // Scale
- BYTE sign; // Sign (1 if positive, 0 if negative)
- DBNUM_VAL_TYPE val[MAXNUMERICLEN]; // Value
- } DBNUMERIC;
- typedef DBNUMERIC DBDECIMAL;// Internal representation of DECIMAL data type
- #else // Use ODBC 3.0 definitions since same as DBLib
- #define MAXNUMERICLEN SQL_MAX_NUMERIC_LEN
- typedef SQL_NUMERIC_STRUCT DBNUMERIC;
- typedef SQL_NUMERIC_STRUCT DBDECIMAL;
- #endif
- #endif // MAXNUMERICLEN
- #ifndef INT
- typedef int INT;
- typedef long DBINT;
- #ifndef _LPCBYTE_DEFINED
- #define _LPCBYTE_DEFINED
- typedef const LPBYTE LPCBYTE;
- #endif
- typedef DBINT * LPDBINT;
- #endif
- /*****************************************************************
- This struct is a global used for
- gathering statistical data on the driver.
- Access to this structure is controlled via the
- pStatCrit;
- ******************************************************************/
- typedef struct sqlperf
- {
- // Application Profile Statistics
- DWORD TimerResolution;
- DWORD SQLidu;
- DWORD SQLiduRows;
- DWORD SQLSelects;
- DWORD SQLSelectRows;
- DWORD Transactions;
- DWORD SQLPrepares;
- DWORD ExecDirects;
- DWORD SQLExecutes;
- DWORD CursorOpens;
- DWORD CursorSize;
- DWORD CursorUsed;
- LDOUBLE PercentCursorUsed;
- LDOUBLE AvgFetchTime;
- LDOUBLE AvgCursorSize;
- LDOUBLE AvgCursorUsed;
- DWORD SQLFetchTime;
- DWORD SQLFetchCount;
- DWORD CurrentStmtCount;
- DWORD MaxOpenStmt;
- DWORD SumOpenStmt;
-
- // Connection Statistics
- DWORD CurrentConnectionCount;
- DWORD MaxConnectionsOpened;
- DWORD SumConnectionsOpened;
- DWORD SumConnectiontime;
- LDOUBLE AvgTimeOpened;
- // Network Statistics
- DWORD ServerRndTrips;
- DWORD BuffersSent;
- DWORD BuffersRec;
- DWORD BytesSent;
- DWORD BytesRec;
- // Time Statistics;
- DWORD msExecutionTime;
- DWORD msNetWorkServerTime;
- } SQLPERF;
- // The following are options for SQL_COPT_SS_PERF_DATA and SQL_COPT_SS_PERF_QUERY
- #define SQL_PERF_START 1 // Starts the driver sampling performance data.
- #define SQL_PERF_STOP 2 // Stops the counters from sampling performance data.
- // The following are defines for SQL_COPT_SS_PERF_DATA_LOG
- #define SQL_SS_DL_DEFAULT TEXT("C:\STATS.LOG")
- // The following are defines for SQL_COPT_SS_PERF_QUERY_LOG
- #define SQL_SS_QL_DEFAULT TEXT("C:\QUERY.LOG")
- // The following are defines for SQL_COPT_SS_PERF_QUERY_INTERVAL
- #define SQL_SS_QI_DEFAULT 30000 // 30,000 milliseconds
- // ODBC BCP prototypes and defines
- // Return codes
- #define SUCCEED 1
- #define FAIL 0
- #define SUCCEED_ABORT 2
- #define SUCCEED_ASYNC 3
- // Transfer directions
- #define DB_IN 1 // Transfer from client to server
- #define DB_OUT 2 // Transfer from server to client
- // bcp_control option
- #define BCPMAXERRS 1 // Sets max errors allowed
- #define BCPFIRST 2 // Sets first row to be copied out
- #define BCPLAST 3 // Sets number of rows to be copied out
- #define BCPBATCH 4 // Sets input batch size
- #define BCPKEEPNULLS 5 // Sets to insert NULLs for empty input values
- #define BCPABORT 6 // Sets to have bcpexec return SUCCEED_ABORT
- #define BCPODBC 7 // Sets ODBC canonical character output
- #define BCPKEEPIDENTITY 8 // Sets IDENTITY_INSERT on
- #define BCP6xFILEFMT 9 // DEPRECATED: Sets 6x file format on
- #define BCPHINTSA 10 // Sets server BCP hints (ANSI string)
- #define BCPHINTSW 11 // Sets server BCP hints (UNICODE string)
- #define BCPFILECP 12 // Sets clients code page for the file
- #define BCPUNICODEFILE 13 // Sets that the file contains unicode header
- #define BCPTEXTFILE 14 // Sets BCP mode to expect a text file and to detect Unicode or ANSI automatically
- #define BCPFILEFMT 15 // Sets file format version
- // BCPFILECP values
- // Any valid code page that is installed on the client can be passed plus:
- #define BCPFILECP_ACP 0 // Data in file is in Windows code page
- #define BCPFILECP_OEMCP 1 // Data in file is in OEM code page (default)
- #define BCPFILECP_RAW (-1)// Data in file is in Server code page (no conversion)
- // bcp_collen definition
- #define SQL_VARLEN_DATA (-10) // Use default length for column
- // BCP functions
- DBINT SQL_API bcp_batch (HDBC);
- RETCODE SQL_API bcp_bind (HDBC, LPCBYTE, INT, DBINT, LPCBYTE, INT, INT, INT);
- RETCODE SQL_API bcp_colfmt (HDBC, INT, BYTE, INT, DBINT, LPCBYTE, INT, INT);
- RETCODE SQL_API bcp_collen (HDBC, DBINT, INT);
- RETCODE SQL_API bcp_colptr (HDBC, LPCBYTE, INT);
- RETCODE SQL_API bcp_columns (HDBC, INT);
- RETCODE SQL_API bcp_control (HDBC, INT, void *);
- DBINT SQL_API bcp_done (HDBC);
- RETCODE SQL_API bcp_exec (HDBC, LPDBINT);
- RETCODE SQL_API bcp_getcolfmt (HDBC, INT, INT, void *, INT, INT *);
- RETCODE SQL_API bcp_initA (HDBC, LPCSTR, LPCSTR, LPCSTR, INT);
- RETCODE SQL_API bcp_initW (HDBC, LPCWSTR, LPCWSTR, LPCWSTR, INT);
- RETCODE SQL_API bcp_moretext (HDBC, DBINT, LPCBYTE);
- RETCODE SQL_API bcp_readfmtA (HDBC, LPCSTR);
- RETCODE SQL_API bcp_readfmtW (HDBC, LPCWSTR);
- RETCODE SQL_API bcp_sendrow (HDBC);
- RETCODE SQL_API bcp_setcolfmt (HDBC, INT, INT, void *, INT);
- RETCODE SQL_API bcp_writefmtA (HDBC, LPCSTR);
- RETCODE SQL_API bcp_writefmtW (HDBC, LPCWSTR);
- CHAR * SQL_API dbprtypeA (INT);
- WCHAR * SQL_API dbprtypeW (INT);
- #ifdef UNICODE
- #define bcp_init bcp_initW
- #define bcp_readfmt bcp_readfmtW
- #define bcp_writefmt bcp_writefmtW
- #define dbprtype dbprtypeW
- #define BCPHINTS BCPHINTSW
- #else
- #define bcp_init bcp_initA
- #define bcp_readfmt bcp_readfmtA
- #define bcp_writefmt bcp_writefmtA
- #define dbprtype dbprtypeA
- #define BCPHINTS BCPHINTSA
- #endif
- // SQL Server catalog extensions for distributed queries
- SQLRETURN SQL_API SQLLinkedServers (SQLHSTMT);
- SQLRETURN SQL_API SQLLinkedCatalogsA (SQLHSTMT, LPCSTR, SWORD);
- SQLRETURN SQL_API SQLLinkedCatalogsW (SQLHSTMT, LPCWSTR, SWORD);
- // SQL Server extensions for server enumeration
- HANDLE SQL_API SQLInitEnumServers (WCHAR * pwchServerName,WCHAR *pwchInstanceName);
- RETCODE SQL_API SQLGetNextEnumeration (HANDLE hEnumHandle,BYTE * prgEnumData,INT * piEnumLength);
- RETCODE SQL_API SQLCloseEnumServers (HANDLE hEnumHandle);
- #ifdef UNICODE
- #define SQLLinkedCatalogs SQLLinkedCatalogsW
- #else
- #define SQLLinkedCatalogs SQLLinkedCatalogsA
- #endif
- // BCP column format properties
- #define BCP_FMT_TYPE 0x01
- #define BCP_FMT_INDICATOR_LEN 0x02
- #define BCP_FMT_DATA_LEN 0x03
- #define BCP_FMT_TERMINATOR 0x04
- #define BCP_FMT_SERVER_COL 0x05
- #define BCP_FMT_COLLATION 0x06
- #define BCP_FMT_COLLATION_ID 0x07
- // The following options have been deprecated
- #define SQL_FAST_CONNECT (SQL_COPT_SS_BASE+0)
- // Defines for use with SQL_FAST_CONNECT - only useable before connecting
- #define SQL_FC_OFF 0L // Fast connect is off
- #define SQL_FC_ON 1L // Fast connect is on
- #define SQL_FC_DEFAULT SQL_FC_OFF
- #define SQL_COPT_SS_ANSI_OEM (SQL_COPT_SS_BASE+6)
- #define SQL_AO_OFF 0L
- #define SQL_AO_ON 1L
- #define SQL_AO_DEFAULT SQL_AO_OFF
- // Define old names
- #define SQL_REMOTE_PWD SQL_COPT_SS_REMOTE_PWD
- #define SQL_USE_PROCEDURE_FOR_PREPARE SQL_COPT_SS_USE_PROC_FOR_PREP
- #define SQL_INTEGRATED_SECURITY SQL_COPT_SS_INTEGRATED_SECURITY
- #define SQL_PRESERVE_CURSORS SQL_COPT_SS_PRESERVE_CURSORS
- #define SQL_TEXTPTR_LOGGING SQL_SOPT_SS_TEXTPTR_LOGGING
- #define SQL_CA_SS_BASE_COLUMN_NAME SQL_DESC_BASE_COLUMN_NAME
- #define SQLDECIMALN 0x6a
- #define SQLNUMERICN 0x6c
- #ifdef __cplusplus
- } /* End of extern "C" { */
- #endif /* __cplusplus */
- #endif
- // End of odbcss.h