Files correlati : Commento : - Creazione nuova cartella per contenere tutte le librerie esterne - Aggiunta nuova libreria sqlapi per interfacciare campo a vari DB git-svn-id: svn://10.65.10.50/branches/R_10_00@24149 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			796 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			796 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef _INC_SQLFRONT
 | 
						|
#define _INC_SQLFRONT
 | 
						|
 | 
						|
#ifdef DBNTWIN32
 | 
						|
	#ifndef _WINDOWS_
 | 
						|
		#pragma message (__FILE__ " : db-library error: windows.h must be included before sqlfront.h.")
 | 
						|
	#endif
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
	extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
/*****************************************************************************
 | 
						|
*                                                                            *
 | 
						|
*     SQLFRONT.H - DB-Library header file for the Microsoft SQL Server.      *
 | 
						|
*                                                                            *
 | 
						|
*     Copyright (c) 1989 - 1995 by Microsoft Corp.  All rights reserved.     *
 | 
						|
*                                                                            *
 | 
						|
* All constant and macro definitions for DB-Library applications programming *
 | 
						|
* are contained in this file.  This file must be included before SQLDB.H and *
 | 
						|
* one of the following #defines must be made, depending on the operating     *
 | 
						|
* system: DBMSDOS, DBMSWIN or DBNTWIN32.                                     *
 | 
						|
*                                                                            *
 | 
						|
*****************************************************************************/
 | 
						|
 | 
						|
 | 
						|
/*****************************************************************************
 | 
						|
* Datatype definitions                                                       *
 | 
						|
*****************************************************************************/
 | 
						|
 | 
						|
// Note this has changed because Windows 3.1 defines API as 'pascal far'
 | 
						|
 | 
						|
#if !defined(M_I86SM) && !defined(DBNTWIN32)
 | 
						|
#define SQLAPI cdecl far
 | 
						|
#else
 | 
						|
#define SQLAPI _cdecl
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef  API
 | 
						|
#define  API  SQLAPI
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef DOUBLE
 | 
						|
typedef double DOUBLE;
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
/*****************************************************************************
 | 
						|
* DBPROCESS, LOGINREC and DBCURSOR                                           *
 | 
						|
*****************************************************************************/
 | 
						|
 | 
						|
#define DBPROCESS void   // dbprocess structure type
 | 
						|
#define LOGINREC  void   // login record type
 | 
						|
#define DBCURSOR  void   // cursor record type
 | 
						|
#define DBHANDLE  void   // generic handle
 | 
						|
 | 
						|
// DOS Specific
 | 
						|
#ifdef DBMSDOS
 | 
						|
typedef DBPROCESS * PDBPROCESS;
 | 
						|
typedef LOGINREC  * PLOGINREC;
 | 
						|
typedef DBCURSOR  * PDBCURSOR;
 | 
						|
typedef DBHANDLE  * PDBHANDLE;
 | 
						|
#define PTR *
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
// WIN 3.x Specific.  The handle pointers are near for Windows 3.x
 | 
						|
#ifdef DBMSWIN
 | 
						|
typedef DBPROCESS near * PDBPROCESS;
 | 
						|
typedef LOGINREC  near * PLOGINREC;
 | 
						|
typedef DBCURSOR  near * PDBCURSOR;
 | 
						|
typedef DBHANDLE  near * PDBHANDLE;
 | 
						|
#define PTR far *
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
// Windows NT Specific
 | 
						|
#ifdef DBNTWIN32
 | 
						|
typedef DBPROCESS * PDBPROCESS;
 | 
						|
typedef LOGINREC  * PLOGINREC;
 | 
						|
typedef DBCURSOR  * PDBCURSOR;
 | 
						|
typedef DBHANDLE  * PDBHANDLE;
 | 
						|
#define PTR *
 | 
						|
typedef int (SQLAPI *SQLFARPROC)();
 | 
						|
#else
 | 
						|
typedef long (far pascal *LGFARPROC)();  // Windows loadable driver fp
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
/*****************************************************************************
 | 
						|
* Win32 compatibility datatype definitions                                   *
 | 
						|
* Note: The following datatypes are provided for Win32 compatibility.        *
 | 
						|
* Since some of the datatypes are already defined in unrelated include files *
 | 
						|
* there may definition duplication.  Every attempt has been made to check    *
 | 
						|
* for such problems.                                                         *
 | 
						|
*****************************************************************************/
 | 
						|
 | 
						|
#ifndef DBNTWIN32
 | 
						|
 | 
						|
#ifndef SHORT
 | 
						|
typedef short SHORT;
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef INT
 | 
						|
typedef int INT;
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef UINT
 | 
						|
typedef unsigned int UINT;
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef USHORT
 | 
						|
typedef unsigned short USHORT;
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef ULONG
 | 
						|
typedef unsigned long ULONG;
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef CHAR
 | 
						|
typedef char CHAR;
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef LPINT
 | 
						|
typedef INT PTR LPINT;
 | 
						|
#endif
 | 
						|
 | 
						|
typedef unsigned char BYTE;
 | 
						|
 | 
						|
typedef       CHAR PTR LPSTR;
 | 
						|
typedef       BYTE PTR LPBYTE;
 | 
						|
typedef       void PTR LPVOID;	
 | 
						|
typedef const CHAR PTR LPCSTR;
 | 
						|
 | 
						|
typedef int BOOL;
 | 
						|
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
/*****************************************************************************
 | 
						|
* DB-Library datatype definitions                                            *
 | 
						|
*****************************************************************************/
 | 
						|
 | 
						|
#define DBMAXCHAR 256 // Max length of DBVARBINARY and DBVARCHAR, etc.
 | 
						|
 | 
						|
#ifndef DBTYPEDEFS    // srv.h (Open Server include) not already included
 | 
						|
 | 
						|
#define DBTYPEDEFS
 | 
						|
 | 
						|
#define RETCODE INT
 | 
						|
#define STATUS INT
 | 
						|
 | 
						|
// DB-Library datatypes
 | 
						|
typedef char            DBCHAR;
 | 
						|
typedef unsigned char   DBBINARY;
 | 
						|
typedef unsigned char   DBTINYINT;
 | 
						|
typedef short           DBSMALLINT;
 | 
						|
typedef unsigned short  DBUSMALLINT;
 | 
						|
typedef long            DBINT;
 | 
						|
typedef double          DBFLT8;
 | 
						|
typedef unsigned char   DBBIT;
 | 
						|
typedef unsigned char   DBBOOL;
 | 
						|
typedef float           DBFLT4;
 | 
						|
typedef long            DBMONEY4;
 | 
						|
 | 
						|
typedef DBFLT4 DBREAL;
 | 
						|
typedef UINT   DBUBOOL;
 | 
						|
 | 
						|
typedef struct dbdatetime4
 | 
						|
{
 | 
						|
	USHORT numdays;        // No of days since Jan-1-1900
 | 
						|
	USHORT nummins;        // No. of minutes since midnight
 | 
						|
} DBDATETIM4;
 | 
						|
 | 
						|
 | 
						|
typedef struct dbvarychar
 | 
						|
{
 | 
						|
	DBSMALLINT  len;
 | 
						|
	DBCHAR      str[DBMAXCHAR];
 | 
						|
} DBVARYCHAR;
 | 
						|
 | 
						|
typedef struct dbvarybin
 | 
						|
{
 | 
						|
	DBSMALLINT  len;
 | 
						|
	BYTE        array[DBMAXCHAR];
 | 
						|
} DBVARYBIN;
 | 
						|
 | 
						|
typedef struct dbmoney
 | 
						|
{
 | 
						|
	DBINT mnyhigh;
 | 
						|
	ULONG mnylow;
 | 
						|
} DBMONEY;
 | 
						|
 | 
						|
typedef struct dbdatetime
 | 
						|
{
 | 
						|
	DBINT dtdays;
 | 
						|
	ULONG dttime;
 | 
						|
} DBDATETIME;
 | 
						|
 | 
						|
// DBDATEREC structure used by dbdatecrack
 | 
						|
typedef struct dbdaterec
 | 
						|
{
 | 
						|
	INT     year;         // 1753 - 9999
 | 
						|
	INT     quarter;      // 1 - 4
 | 
						|
	INT     month;        // 1 - 12
 | 
						|
	INT     dayofyear;    // 1 - 366
 | 
						|
	INT     day;          // 1 - 31
 | 
						|
	INT     week;         // 1 - 54 (for leap years)
 | 
						|
	INT     weekday;      // 1 - 7  (Mon - Sun)
 | 
						|
	INT     hour;         // 0 - 23
 | 
						|
	INT     minute;       // 0 - 59
 | 
						|
	INT     second;       // 0 - 59
 | 
						|
	INT     millisecond;  // 0 - 999
 | 
						|
} DBDATEREC;
 | 
						|
 | 
						|
#define MAXNUMERICLEN 16
 | 
						|
#define MAXNUMERICDIG 38
 | 
						|
 | 
						|
#define DEFAULTPRECISION 18
 | 
						|
#define DEFAULTSCALE     0
 | 
						|
 | 
						|
typedef struct dbnumeric
 | 
						|
{
 | 
						|
	BYTE precision;
 | 
						|
	BYTE scale;
 | 
						|
	BYTE sign; // 1 = Positive, 0 = Negative
 | 
						|
	BYTE val[MAXNUMERICLEN];
 | 
						|
} DBNUMERIC;
 | 
						|
 | 
						|
typedef DBNUMERIC DBDECIMAL;
 | 
						|
 | 
						|
 | 
						|
// Pack the following structures on a word boundary
 | 
						|
#ifdef __BORLANDC__
 | 
						|
#pragma option -a2
 | 
						|
#else
 | 
						|
	#ifndef DBLIB_SKIP_PRAGMA_PACK   // Define this if your compiler does not support #pragma pack()
 | 
						|
	#pragma pack(2)
 | 
						|
	#endif
 | 
						|
#endif
 | 
						|
 | 
						|
#define MAXCOLNAMELEN 30
 | 
						|
#define MAXTABLENAME  30
 | 
						|
 | 
						|
typedef struct
 | 
						|
{
 | 
						|
	DBINT SizeOfStruct;
 | 
						|
	CHAR  Name[MAXCOLNAMELEN+1];
 | 
						|
	CHAR  ActualName[MAXCOLNAMELEN+1];
 | 
						|
	CHAR  TableName[MAXTABLENAME+1];
 | 
						|
	SHORT Type;
 | 
						|
	DBINT UserType;
 | 
						|
	DBINT MaxLength;
 | 
						|
	BYTE  Precision;
 | 
						|
	BYTE  Scale;
 | 
						|
	BOOL  VarLength;     // TRUE, FALSE
 | 
						|
	BYTE  Null;          // TRUE, FALSE or DBUNKNOWN
 | 
						|
	BYTE  CaseSensitive; // TRUE, FALSE or DBUNKNOWN
 | 
						|
	BYTE  Updatable;     // TRUE, FALSE or DBUNKNOWN
 | 
						|
	BOOL  Identity;      // TRUE, FALSE
 | 
						|
} DBCOL, PTR LPDBCOL;
 | 
						|
 | 
						|
 | 
						|
#define MAXSERVERNAME 30
 | 
						|
#define MAXNETLIBNAME 255
 | 
						|
#define MAXNETLIBCONNSTR 255
 | 
						|
 | 
						|
typedef struct
 | 
						|
{
 | 
						|
	DBINT  SizeOfStruct;
 | 
						|
	BYTE   ServerType;
 | 
						|
	USHORT ServerMajor;
 | 
						|
	USHORT ServerMinor;
 | 
						|
	USHORT ServerRevision;
 | 
						|
	CHAR   ServerName[MAXSERVERNAME+1];
 | 
						|
	CHAR   NetLibName[MAXNETLIBNAME+1];
 | 
						|
	CHAR   NetLibConnStr[MAXNETLIBCONNSTR+1];
 | 
						|
} DBPROCINFO, PTR LPDBPROCINFO;
 | 
						|
 | 
						|
typedef struct
 | 
						|
{
 | 
						|
	DBINT SizeOfStruct;   // Use sizeof(DBCURSORINFO)
 | 
						|
	ULONG TotCols;        // Total Columns in cursor
 | 
						|
	ULONG TotRows;        // Total Rows in cursor
 | 
						|
	ULONG CurRow;         // Current actual row in server
 | 
						|
	ULONG TotRowsFetched; // Total rows actually fetched
 | 
						|
	ULONG Type;           // See CU_...
 | 
						|
	ULONG Status;         // See CU_...
 | 
						|
} DBCURSORINFO, PTR LPDBCURSORINFO;
 | 
						|
 | 
						|
#define INVALID_UROWNUM ((ULONG)(-1))
 | 
						|
 | 
						|
// Reset default alignment
 | 
						|
#ifdef __BORLANDC__
 | 
						|
#pragma option -a-
 | 
						|
#else
 | 
						|
	#ifndef DBLIB_SKIP_PRAGMA_PACK   // Define this if your compiler does not support #pragma pack()
 | 
						|
	#pragma pack()
 | 
						|
	#endif
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
#endif // End DBTYPEDEFS
 | 
						|
 | 
						|
 | 
						|
/*****************************************************************************
 | 
						|
* Pointer Datatypes                                                          *
 | 
						|
*****************************************************************************/
 | 
						|
 | 
						|
typedef const LPINT          LPCINT;
 | 
						|
typedef const LPBYTE         LPCBYTE ;
 | 
						|
typedef       USHORT PTR     LPUSHORT;
 | 
						|
typedef const LPUSHORT       LPCUSHORT;
 | 
						|
typedef       DBINT PTR      LPDBINT;
 | 
						|
typedef const LPDBINT        LPCDBINT;
 | 
						|
typedef       DBBINARY PTR   LPDBBINARY;
 | 
						|
typedef const LPDBBINARY     LPCDBBINARY;
 | 
						|
typedef       DBDATEREC PTR  LPDBDATEREC;
 | 
						|
typedef const LPDBDATEREC    LPCDBDATEREC;
 | 
						|
typedef       DBDATETIME PTR LPDBDATETIME;
 | 
						|
typedef const LPDBDATETIME   LPCDBDATETIME;
 | 
						|
 | 
						|
 | 
						|
/*****************************************************************************
 | 
						|
* General #defines                                                           *
 | 
						|
*****************************************************************************/
 | 
						|
 | 
						|
#define TIMEOUT_IGNORE (ULONG)-1
 | 
						|
#define TIMEOUT_INFINITE (ULONG)0
 | 
						|
#define TIMEOUT_MAXIMUM (ULONG)1200 // 20 minutes maximum timeout value
 | 
						|
 | 
						|
// Used for ServerType in dbgetprocinfo
 | 
						|
#define SERVTYPE_UNKNOWN   0
 | 
						|
#define SERVTYPE_MICROSOFT 1
 | 
						|
 | 
						|
// Used by dbcolinfo
 | 
						|
enum CI_TYPES { CI_REGULAR=1, CI_ALTERNATE=2, CI_CURSOR=3 };
 | 
						|
 | 
						|
// Bulk Copy Definitions (bcp)
 | 
						|
#define DB_IN	1         // Transfer from client to server
 | 
						|
#define DB_OUT	2         // Transfer from server to client
 | 
						|
 | 
						|
#define BCPMAXERRS   1    // bcp_control parameter
 | 
						|
#define BCPFIRST     2    // bcp_control parameter
 | 
						|
#define BCPLAST      3    // bcp_control parameter
 | 
						|
#define BCPBATCH     4    // bcp_control parameter
 | 
						|
#define BCPKEEPNULLS 5    // bcp_control parameter
 | 
						|
#define BCPABORT     6    // bcp_control parameter
 | 
						|
 | 
						|
#ifndef TRUE
 | 
						|
#define TRUE 1
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef FALSE
 | 
						|
#define FALSE 0
 | 
						|
#endif
 | 
						|
 | 
						|
#define TINYBIND         1
 | 
						|
#define SMALLBIND        2
 | 
						|
#define INTBIND          3
 | 
						|
#define CHARBIND         4
 | 
						|
#define BINARYBIND       5
 | 
						|
#define BITBIND          6
 | 
						|
#define DATETIMEBIND     7
 | 
						|
#define MONEYBIND        8
 | 
						|
#define FLT8BIND         9
 | 
						|
#define STRINGBIND      10
 | 
						|
#define NTBSTRINGBIND   11
 | 
						|
#define VARYCHARBIND    12
 | 
						|
#define VARYBINBIND     13
 | 
						|
#define FLT4BIND        14
 | 
						|
#define SMALLMONEYBIND  15
 | 
						|
#define SMALLDATETIBIND 16
 | 
						|
#define DECIMALBIND     17
 | 
						|
#define NUMERICBIND     18
 | 
						|
#define SRCDECIMALBIND  19
 | 
						|
#define SRCNUMERICBIND  20
 | 
						|
#define MAXBIND         SRCNUMERICBIND
 | 
						|
 | 
						|
#define DBSAVE          1
 | 
						|
#define DBNOSAVE        0
 | 
						|
 | 
						|
#define DBNOERR         -1
 | 
						|
#define DBFINDONE       0x04  // Definately done
 | 
						|
#define DBMORE          0x10  // Maybe more commands waiting
 | 
						|
#define DBMORE_ROWS     0x20  // This command returned rows
 | 
						|
 | 
						|
#define MAXNAME         31
 | 
						|
 | 
						|
 | 
						|
#define DBTXTSLEN       8     // Timestamp length
 | 
						|
 | 
						|
#define DBTXPLEN        16    // Text pointer length
 | 
						|
 | 
						|
// Error code returns
 | 
						|
#define INT_EXIT        0
 | 
						|
#define INT_CONTINUE    1
 | 
						|
#define INT_CANCEL      2
 | 
						|
 | 
						|
 | 
						|
// dboptions
 | 
						|
#define DBBUFFER        0
 | 
						|
#define DBOFFSET        1
 | 
						|
#define DBROWCOUNT      2
 | 
						|
#define DBSTAT          3
 | 
						|
#define DBTEXTLIMIT     4
 | 
						|
#define DBTEXTSIZE      5
 | 
						|
#define DBARITHABORT    6
 | 
						|
#define DBARITHIGNORE   7
 | 
						|
#define DBNOAUTOFREE    8
 | 
						|
#define DBNOCOUNT       9
 | 
						|
#define DBNOEXEC        10
 | 
						|
#define DBPARSEONLY     11
 | 
						|
#define DBSHOWPLAN      12
 | 
						|
#define DBSTORPROCID		13
 | 
						|
 | 
						|
#if defined(DBMSWIN) || defined(DBNTWIN32)
 | 
						|
#define DBANSItoOEM		14
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef DBNTWIN32
 | 
						|
#define DBOEMtoANSI		15
 | 
						|
#endif
 | 
						|
 | 
						|
#define DBCLIENTCURSORS 16
 | 
						|
#define DBSETTIME 17
 | 
						|
#define DBQUOTEDIDENT 18
 | 
						|
 | 
						|
 | 
						|
// Data Type Tokens
 | 
						|
#define SQLVOID        0x1f
 | 
						|
#define SQLTEXT        0x23
 | 
						|
#define SQLVARBINARY   0x25
 | 
						|
#define SQLINTN        0x26
 | 
						|
#define SQLVARCHAR     0x27
 | 
						|
#define SQLBINARY      0x2d
 | 
						|
#define SQLIMAGE       0x22
 | 
						|
#define SQLCHAR        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
 | 
						|
#define SQLDECIMAL     0x6a
 | 
						|
#define SQLNUMERIC     0x6c
 | 
						|
 | 
						|
// Data stream tokens
 | 
						|
#define SQLCOLFMT      0xa1
 | 
						|
#define OLD_SQLCOLFMT  0x2a
 | 
						|
#define SQLPROCID      0x7c
 | 
						|
#define SQLCOLNAME     0xa0
 | 
						|
#define SQLTABNAME     0xa4
 | 
						|
#define SQLCOLINFO     0xa5
 | 
						|
#define SQLALTNAME     0xa7
 | 
						|
#define SQLALTFMT      0xa8
 | 
						|
#define SQLERROR       0xaa
 | 
						|
#define SQLINFO        0xab
 | 
						|
#define SQLRETURNVALUE 0xac
 | 
						|
#define SQLRETURNSTATUS 0x79
 | 
						|
#define SQLRETURN      0xdb
 | 
						|
#define SQLCONTROL     0xae
 | 
						|
#define SQLALTCONTROL  0xaf
 | 
						|
#define SQLROW         0xd1
 | 
						|
#define SQLALTROW      0xd3
 | 
						|
#define SQLDONE        0xfd
 | 
						|
#define SQLDONEPROC    0xfe
 | 
						|
#define SQLDONEINPROC  0xff
 | 
						|
#define SQLOFFSET      0x78
 | 
						|
#define SQLORDER       0xa9
 | 
						|
#define SQLLOGINACK    0xad // NOTICE: change to real value
 | 
						|
 | 
						|
// Ag op tokens
 | 
						|
#define SQLAOPCNT		0x4b
 | 
						|
#define SQLAOPSUM    0x4d
 | 
						|
#define SQLAOPAVG    0x4f
 | 
						|
#define SQLAOPMIN    0x51
 | 
						|
#define SQLAOPMAX    0x52
 | 
						|
#define SQLAOPANY    0x53
 | 
						|
#define SQLAOPNOOP   0x56
 | 
						|
 | 
						|
// Error numbers (dberrs) DB-Library error codes
 | 
						|
#define SQLEMEM         10000
 | 
						|
#define SQLENULL        10001
 | 
						|
#define SQLENLOG        10002
 | 
						|
#define SQLEPWD         10003
 | 
						|
#define SQLECONN        10004
 | 
						|
#define SQLEDDNE        10005
 | 
						|
#define SQLENULLO       10006
 | 
						|
#define SQLESMSG        10007
 | 
						|
#define SQLEBTOK        10008
 | 
						|
#define SQLENSPE        10009
 | 
						|
#define SQLEREAD        10010
 | 
						|
#define SQLECNOR        10011
 | 
						|
#define SQLETSIT        10012
 | 
						|
#define SQLEPARM        10013
 | 
						|
#define SQLEAUTN        10014
 | 
						|
#define SQLECOFL        10015
 | 
						|
#define SQLERDCN        10016
 | 
						|
#define SQLEICN         10017
 | 
						|
#define SQLECLOS        10018
 | 
						|
#define SQLENTXT        10019
 | 
						|
#define SQLEDNTI        10020
 | 
						|
#define SQLETMTD        10021
 | 
						|
#define SQLEASEC        10022
 | 
						|
#define SQLENTLL        10023
 | 
						|
#define SQLETIME        10024
 | 
						|
#define SQLEWRIT        10025
 | 
						|
#define SQLEMODE        10026
 | 
						|
#define SQLEOOB         10027
 | 
						|
#define SQLEITIM        10028
 | 
						|
#define SQLEDBPS        10029
 | 
						|
#define SQLEIOPT        10030
 | 
						|
#define SQLEASNL        10031
 | 
						|
#define SQLEASUL        10032
 | 
						|
#define SQLENPRM        10033
 | 
						|
#define SQLEDBOP        10034
 | 
						|
#define SQLENSIP        10035
 | 
						|
#define SQLECNULL       10036
 | 
						|
#define SQLESEOF        10037
 | 
						|
#define SQLERPND        10038
 | 
						|
#define SQLECSYN        10039
 | 
						|
#define SQLENONET       10040
 | 
						|
#define SQLEBTYP        10041
 | 
						|
#define SQLEABNC        10042
 | 
						|
#define SQLEABMT        10043
 | 
						|
#define SQLEABNP        10044
 | 
						|
#define SQLEBNCR        10045
 | 
						|
#define SQLEAAMT        10046
 | 
						|
#define SQLENXID        10047
 | 
						|
#define SQLEIFNB        10048
 | 
						|
#define SQLEKBCO        10049
 | 
						|
#define SQLEBBCI        10050
 | 
						|
#define SQLEKBCI        10051
 | 
						|
#define SQLEBCWE        10052
 | 
						|
#define SQLEBCNN        10053
 | 
						|
#define SQLEBCOR        10054
 | 
						|
#define SQLEBCPI        10055
 | 
						|
#define SQLEBCPN        10056
 | 
						|
#define SQLEBCPB        10057
 | 
						|
#define SQLEVDPT        10058
 | 
						|
#define SQLEBIVI        10059
 | 
						|
#define SQLEBCBC        10060
 | 
						|
#define SQLEBCFO        10061
 | 
						|
#define SQLEBCVH        10062
 | 
						|
#define SQLEBCUO        10063
 | 
						|
#define SQLEBUOE        10064
 | 
						|
#define SQLEBWEF        10065
 | 
						|
#define SQLEBTMT        10066
 | 
						|
#define SQLEBEOF        10067
 | 
						|
#define SQLEBCSI        10068
 | 
						|
#define SQLEPNUL        10069
 | 
						|
#define SQLEBSKERR      10070
 | 
						|
#define SQLEBDIO        10071
 | 
						|
#define SQLEBCNT        10072
 | 
						|
#define SQLEMDBP        10073
 | 
						|
#define SQLINIT         10074
 | 
						|
#define SQLCRSINV       10075
 | 
						|
#define SQLCRSCMD       10076
 | 
						|
#define SQLCRSNOIND     10077
 | 
						|
#define SQLCRSDIS       10078
 | 
						|
#define SQLCRSAGR       10079
 | 
						|
#define SQLCRSORD       10080
 | 
						|
#define SQLCRSMEM       10081
 | 
						|
#define SQLCRSBSKEY     10082
 | 
						|
#define SQLCRSNORES     10083
 | 
						|
#define SQLCRSVIEW      10084
 | 
						|
#define SQLCRSBUFR      10085
 | 
						|
#define SQLCRSFROWN     10086
 | 
						|
#define SQLCRSBROL      10087
 | 
						|
#define SQLCRSFRAND     10088
 | 
						|
#define SQLCRSFLAST     10089
 | 
						|
#define SQLCRSRO        10090
 | 
						|
#define SQLCRSTAB       10091
 | 
						|
#define SQLCRSUPDTAB    10092
 | 
						|
#define SQLCRSUPDNB     10093
 | 
						|
#define SQLCRSVIIND     10094
 | 
						|
#define SQLCRSNOUPD     10095
 | 
						|
#define SQLCRSOS2       10096
 | 
						|
#define SQLEBCSA        10097
 | 
						|
#define SQLEBCRO        10098
 | 
						|
#define SQLEBCNE        10099
 | 
						|
#define SQLEBCSK        10100
 | 
						|
#define SQLEUVBF        10101
 | 
						|
#define SQLEBIHC        10102
 | 
						|
#define SQLEBWFF        10103
 | 
						|
#define SQLNUMVAL       10104
 | 
						|
#define SQLEOLDVR       10105
 | 
						|
#define SQLEBCPS	10106
 | 
						|
#define SQLEDTC 	10107
 | 
						|
#define SQLENOTIMPL	10108
 | 
						|
#define SQLENONFLOAT	10109
 | 
						|
#define SQLECONNFB   10110
 | 
						|
 | 
						|
 | 
						|
// The severity levels are defined here
 | 
						|
#define EXINFO          1  // Informational, non-error
 | 
						|
#define EXUSER          2  // User error
 | 
						|
#define EXNONFATAL      3  // Non-fatal error
 | 
						|
#define EXCONVERSION    4  // Error in DB-LIBRARY data conversion
 | 
						|
#define EXSERVER        5  // The Server has returned an error flag
 | 
						|
#define EXTIME          6  // We have exceeded our timeout period while
 | 
						|
                           // waiting for a response from the Server - the
 | 
						|
                           // DBPROCESS is still alive
 | 
						|
#define EXPROGRAM       7  // Coding error in user program
 | 
						|
#define EXRESOURCE      8  // Running out of resources - the DBPROCESS may be dead
 | 
						|
#define EXCOMM          9  // Failure in communication with Server - the DBPROCESS is dead
 | 
						|
#define EXFATAL         10 // Fatal error - the DBPROCESS is dead
 | 
						|
#define EXCONSISTENCY   11 // Internal software error  - notify MS Technical Supprt
 | 
						|
 | 
						|
// Offset identifiers
 | 
						|
#define OFF_SELECT      0x16d
 | 
						|
#define OFF_FROM        0x14f
 | 
						|
#define OFF_ORDER       0x165
 | 
						|
#define OFF_COMPUTE     0x139
 | 
						|
#define OFF_TABLE       0x173
 | 
						|
#define OFF_PROCEDURE   0x16a
 | 
						|
#define OFF_STATEMENT   0x1cb
 | 
						|
#define OFF_PARAM       0x1c4
 | 
						|
#define OFF_EXEC        0x12c
 | 
						|
 | 
						|
// Print lengths for certain fixed length data types
 | 
						|
#define PRINT4     11
 | 
						|
#define PRINT2     6
 | 
						|
#define PRINT1     3
 | 
						|
#define PRFLT8     20
 | 
						|
#define PRMONEY    26
 | 
						|
#define PRBIT      3
 | 
						|
#define PRDATETIME 27
 | 
						|
#define PRDECIMAL (MAXNUMERICDIG + 2)
 | 
						|
#define PRNUMERIC (MAXNUMERICDIG + 2)
 | 
						|
 | 
						|
#define SUCCEED  1
 | 
						|
#define FAIL     0
 | 
						|
#define SUCCEED_ABORT 2
 | 
						|
 | 
						|
#define DBUNKNOWN 2
 | 
						|
 | 
						|
#define MORE_ROWS    -1
 | 
						|
#define NO_MORE_ROWS -2
 | 
						|
#define REG_ROW      MORE_ROWS
 | 
						|
#define BUF_FULL     -3
 | 
						|
 | 
						|
// Status code for dbresults(). Possible return values are
 | 
						|
// SUCCEED, FAIL, and NO_MORE_RESULTS.
 | 
						|
#define NO_MORE_RESULTS 2
 | 
						|
#define NO_MORE_RPC_RESULTS 3
 | 
						|
 | 
						|
// Macros for dbsetlname()
 | 
						|
#define DBSETHOST 1
 | 
						|
#define DBSETUSER 2
 | 
						|
#define DBSETPWD  3
 | 
						|
#define DBSETAPP  4
 | 
						|
#define DBSETID   5
 | 
						|
#define DBSETLANG 6
 | 
						|
#define DBSETSECURE 7
 | 
						|
#define DBVER42    8
 | 
						|
#define DBVER60    9
 | 
						|
#define DBSETLOGINTIME 10
 | 
						|
#define DBSETFALLBACK 12
 | 
						|
 | 
						|
// Standard exit and error values
 | 
						|
#define STDEXIT  0
 | 
						|
#define ERREXIT  -1
 | 
						|
 | 
						|
// dbrpcinit flags
 | 
						|
#define DBRPCRECOMPILE  0x0001
 | 
						|
#define DBRPCRESET      0x0004
 | 
						|
#define DBRPCCURSOR     0x0008
 | 
						|
 | 
						|
// dbrpcparam flags
 | 
						|
#define DBRPCRETURN     0x1
 | 
						|
#define DBRPCDEFAULT    0x2
 | 
						|
 | 
						|
 | 
						|
// Cursor related constants
 | 
						|
 | 
						|
// Following flags are used in the concuropt parameter in the dbcursoropen function
 | 
						|
#define CUR_READONLY 1 // Read only cursor, no data modifications
 | 
						|
#define CUR_LOCKCC   2 // Intent to update, all fetched data locked when
 | 
						|
                       // dbcursorfetch is called inside a transaction block
 | 
						|
#define CUR_OPTCC    3 // Optimistic concurrency control, data modifications
 | 
						|
                       // succeed only if the row hasn't been updated since
 | 
						|
                       // the last fetch.
 | 
						|
#define CUR_OPTCCVAL 4 // Optimistic concurrency control based on selected column values
 | 
						|
 | 
						|
// Following flags are used in the scrollopt parameter in dbcursoropen
 | 
						|
#define CUR_FORWARD 0       // Forward only scrolling
 | 
						|
#define CUR_KEYSET  -1      // Keyset driven scrolling
 | 
						|
#define CUR_DYNAMIC 1       // Fully dynamic
 | 
						|
#define CUR_INSENSITIVE -2  // Server-side cursors only
 | 
						|
 | 
						|
// Following flags define the fetchtype in the dbcursorfetch function
 | 
						|
#define FETCH_FIRST    1  // Fetch first n rows
 | 
						|
#define FETCH_NEXT     2  // Fetch next n rows
 | 
						|
#define FETCH_PREV     3  // Fetch previous n rows
 | 
						|
#define FETCH_RANDOM   4  // Fetch n rows beginning with given row #
 | 
						|
#define FETCH_RELATIVE 5  // Fetch relative to previous fetch row #
 | 
						|
#define FETCH_LAST     6  // Fetch the last n rows
 | 
						|
 | 
						|
// Following flags define the per row status as filled by dbcursorfetch and/or dbcursorfetchex
 | 
						|
#define FTC_EMPTY         0x00  // No row available
 | 
						|
#define FTC_SUCCEED       0x01  // Fetch succeeded, (failed if not set)
 | 
						|
#define FTC_MISSING       0x02  // The row is missing
 | 
						|
#define FTC_ENDOFKEYSET   0x04  // End of the keyset reached
 | 
						|
#define FTC_ENDOFRESULTS  0x08  // End of results set reached
 | 
						|
 | 
						|
// Following flags define the operator types for the dbcursor function
 | 
						|
#define CRS_UPDATE   1  // Update operation
 | 
						|
#define CRS_DELETE   2  // Delete operation
 | 
						|
#define CRS_INSERT   3  // Insert operation
 | 
						|
#define CRS_REFRESH  4  // Refetch given row
 | 
						|
#define CRS_LOCKCC   5  // Lock given row
 | 
						|
 | 
						|
// Following value can be passed to the dbcursorbind function for NOBIND type
 | 
						|
#define NOBIND -2       // Return length and pointer to data
 | 
						|
 | 
						|
// Following are values used by DBCURSORINFO's Type parameter
 | 
						|
#define CU_CLIENT        0x00000001
 | 
						|
#define CU_SERVER        0x00000002
 | 
						|
#define CU_KEYSET        0x00000004
 | 
						|
#define CU_MIXED         0x00000008
 | 
						|
#define CU_DYNAMIC       0x00000010
 | 
						|
#define CU_FORWARD       0x00000020
 | 
						|
#define CU_INSENSITIVE   0x00000040
 | 
						|
#define CU_READONLY      0x00000080
 | 
						|
#define CU_LOCKCC        0x00000100
 | 
						|
#define CU_OPTCC         0x00000200
 | 
						|
#define CU_OPTCCVAL      0x00000400
 | 
						|
 | 
						|
// Following are values used by DBCURSORINFO's Status parameter
 | 
						|
#define CU_FILLING       0x00000001
 | 
						|
#define CU_FILLED        0x00000002
 | 
						|
 | 
						|
 | 
						|
// Following are values used by dbupdatetext's type parameter
 | 
						|
#define UT_TEXTPTR      0x0001
 | 
						|
#define UT_TEXT         0x0002
 | 
						|
#define UT_MORETEXT     0x0004
 | 
						|
#define UT_DELETEONLY   0x0008
 | 
						|
#define UT_LOG          0x0010
 | 
						|
 | 
						|
 | 
						|
// The following values are passed to dbserverenum for searching criteria.
 | 
						|
#define NET_SEARCH  0x0001
 | 
						|
#define LOC_SEARCH  0x0002
 | 
						|
 | 
						|
// These constants are the possible return values from dbserverenum.
 | 
						|
#define ENUM_SUCCESS         0x0000
 | 
						|
#define MORE_DATA            0x0001
 | 
						|
#define NET_NOT_AVAIL        0x0002
 | 
						|
#define OUT_OF_MEMORY        0x0004
 | 
						|
#define NOT_SUPPORTED        0x0008
 | 
						|
#define ENUM_INVALID_PARAM   0x0010
 | 
						|
 | 
						|
 | 
						|
// Netlib Error problem codes.  ConnectionError() should return one of
 | 
						|
// these as the dblib-mapped problem code, so the corresponding string
 | 
						|
// is sent to the dblib app's error handler as dberrstr.  Return NE_E_NOMAP
 | 
						|
// for a generic DB-Library error string (as in prior versions of dblib).
 | 
						|
 | 
						|
#define NE_E_NOMAP              0   // No string; uses dblib default.
 | 
						|
#define NE_E_NOMEMORY           1   // Insufficient memory.
 | 
						|
#define NE_E_NOACCESS           2   // Access denied.
 | 
						|
#define NE_E_CONNBUSY           3   // Connection is busy.
 | 
						|
#define NE_E_CONNBROKEN         4   // Connection broken.
 | 
						|
#define NE_E_TOOMANYCONN        5   // Connection limit exceeded.
 | 
						|
#define NE_E_SERVERNOTFOUND     6   // Specified SQL server not found.
 | 
						|
#define NE_E_NETNOTSTARTED      7   // The network has not been started.
 | 
						|
#define NE_E_NORESOURCE         8   // Insufficient network resources.
 | 
						|
#define NE_E_NETBUSY            9   // Network is busy.
 | 
						|
#define NE_E_NONETACCESS        10  // Network access denied.
 | 
						|
#define NE_E_GENERAL            11  // General network error.  Check your documentation.
 | 
						|
#define NE_E_CONNMODE           12  // Incorrect connection mode.
 | 
						|
#define NE_E_NAMENOTFOUND       13  // Name not found in directory service.
 | 
						|
#define NE_E_INVALIDCONN        14  // Invalid connection.
 | 
						|
#define NE_E_NETDATAERR         15  // Error reading or writing network data.
 | 
						|
#define NE_E_TOOMANYFILES       16  // Too many open file handles.
 | 
						|
#define NE_E_CANTCONNECT		  17  // SQL Server does not exist or access denied.
 | 
						|
 | 
						|
#define NE_MAX_NETERROR         17
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
#endif // _INC_SQLFRONT
 |