📄 sddb2.pas
字号:
{**********************************************************}
{ }
{ Delphi SQLDirect Component Library }
{ IBM DB2 API (CAE v5.2+) Interface Unit }
{ }
{ Copyright (c) 1997,2005 by Yuri Sheino }
{ }
{**********************************************************}
{$I SqlDir.inc}
unit SDDb2 {$IFDEF SD_CLR} platform {$ENDIF};
interface
uses
Windows, SysUtils, Classes, Db, SyncObjs,
{$IFDEF SD_CLR}
System.Runtime.InteropServices,
{$ENDIF}
SDConsts, SDCommon, SDOdbc;
{******************************************************************************
*
* Source File Name = sqlcli.h
*
* Function = Include File defining:
* DB2 CLI Interface - Constants
* DB2 CLI Interface - Data Structures
* DB2 CLI Interface - Function Prototypes
*
* Operating System = Common C Include File
*
*****************************************************************************}
const
// generally useful constants
SQL_MAX_MESSAGE_LENGTH = 1024; // message buffer size
SQL_MAX_ID_LENGTH = 18; // maximum identifier name size, e.g. cursor names
(* test for SQL_SUCCESS or SQL_SUCCESS_WITH_INFO
#define SQL_SUCCEEDED(rc) (((rc)&(~1))==0)
*)
// SQL extended data types
SQL_GRAPHIC = -95;
SQL_VARGRAPHIC = -96;
SQL_LONGVARGRAPHIC = -97;
SQL_BLOB = -98;
SQL_CLOB = -99;
SQL_DBCLOB = -350;
// C data type to SQL data type mapping
SQL_C_DBCHAR = SQL_DBCLOB;
SQL_C_DECIMAL_IBM = SQL_DECIMAL;
// locator type identifier
SQL_BLOB_LOCATOR = 31;
SQL_CLOB_LOCATOR = 41;
SQL_DBCLOB_LOCATOR = -351;
// C Data Type for the LOB locator types
SQL_C_BLOB_LOCATOR = SQL_BLOB_LOCATOR;
SQL_C_CLOB_LOCATOR = SQL_CLOB_LOCATOR;
SQL_C_DBCLOB_LOCATOR = SQL_DBCLOB_LOCATOR;
// SQLColAttributes defines
SQL_COLUMN_SCHEMA_NAME = 16;
SQL_COLUMN_CATALOG_NAME = 17;
SQL_COLUMN_DISTINCT_TYPE = 1250;
SQL_DESC_DISTINCT_TYPE = SQL_COLUMN_DISTINCT_TYPE;
// SQLColAttribute defines for SQL_COLUMN_UPDATABLE condition
SQL_UPDT_READONLY = 0;
SQL_UPDT_WRITE = 1;
SQL_UPDT_READWRITE_UNKNOWN = 2;
// SQL_DIAG_ROW_NUMBER values
SQL_ROW_NO_ROW_NUMBER = (-1);
SQL_ROW_NUMBER_UNKNOWN = (-2);
// SQL_DIAG_COLUMN_NUMBER values
SQL_COLUMN_NO_COLUMN_NUMBER = (-1);
SQL_COLUMN_NUMBER_UNKNOWN = (-2);
// internal representation of numeric data type
const
SQL_MAX_NUMERIC_LEN = 16;
type
TSQL_NUMERIC_STRUCT = record
precision: SQLCHAR;
scale: SQLSCHAR;
sign: SQLCHAR; // 1 if positive, 0 if negative
val: array[0..SQL_MAX_NUMERIC_LEN-1] of SQLCHAR;
end;
{******************************************************************************
*
* Source File Name = sqlcli1.h
*
* Function = Include File defining:
* DB2 CLI Interface - Constants
* DB2 CLI Interface - Function Prototypes
*
* Operating System = Common C Include File
*
*****************************************************************************}
const
// SQLGetFunction defines - supported functions
SQL_API_SQLBINDFILETOCOL = 1250;
SQL_API_SQLBINDFILETOPARAM = 1251;
SQL_API_SQLSETCOLATTRIBUTES = 1252;
SQL_API_SQLGETSQLCA = 1253;
SQL_API_SQLGETLENGTH = 1022;
SQL_API_SQLGETPOSITION = 1023;
SQL_API_SQLGETSUBSTRING = 1024;
SQL_API_SQLSETCONNECTION = 1254;
// SQL_FETCH_DIRECTION masks
SQL_FD_FETCH_RESUME = $00000040;
// SQL_TXN_ISOLATION_OPTION masks
SQL_TXN_NOCOMMIT = $00000020;
SQL_TRANSACTION_NOCOMMIT = SQL_TXN_NOCOMMIT;
// Options for SQLGetStmtOption/SQLSetStmtOption extensions
SQL_CURSOR_HOLD = 1250;
SQL_ATTR_CURSOR_HOLD = 1250;
SQL_NODESCRIBE_OUTPUT = 1251;
SQL_ATTR_NODESCRIBE_OUTPUT = 1251;
SQL_NODESCRIBE_INPUT = 1264;
SQL_ATTR_NODESCRIBE_INPUT = 1264;
SQL_NODESCRIBE = SQL_NODESCRIBE_OUTPUT;
SQL_ATTR_NODESCRIBE = SQL_NODESCRIBE_OUTPUT;
SQL_CLOSE_BEHAVIOR = 1257;
SQL_ATTR_CLOSE_BEHAVIOR = 1257;
SQL_ATTR_CLOSEOPEN = 1265;
SQL_ATTR_CURRENT_PACKAGE_SET = 1276;
SQL_ATTR_DEFERRED_PREPARE = 1277;
SQL_ATTR_EARLYCLOSE = 1268;
SQL_ATTR_PROCESSCTL = 1278;
// SQL_CLOSE_BEHAVIOR values.
SQL_CC_NO_RELEASE = 0;
SQL_CC_RELEASE = 1;
SQL_CC_DEFAULT = SQL_CC_NO_RELEASE;
// SQL_ATTR_DEFERRED_PREPARE values
SQL_DEFERRED_PREPARE_ON = 1;
SQL_DEFERRED_PREPARE_OFF = 0;
SQL_DEFERRED_PREPARE_DEFAULT = SQL_DEFERRED_PREPARE_ON;
// SQL_ATTR_EARLYCLOSE values
SQL_EARLYCLOSE_ON = 1;
SQL_EARLYCLOSE_OFF = 0;
SQL_EARLYCLOSE_DEFAULT = SQL_EARLYCLOSE_ON;
// SQL_ATTR_PROCESSCTL masks
SQL_PROCESSCTL_NOTHREAD = $00000001;
SQL_PROCESSCTL_NOFORK = $00000002;
// Options for SQL_CURSOR_HOLD
SQL_CURSOR_HOLD_ON = 1;
SQL_CURSOR_HOLD_OFF = 0;
SQL_CURSOR_HOLD_DEFAULT = SQL_CURSOR_HOLD_ON;
// Options for SQL_NODESCRIBE_INPUT/SQL_NODESCRIBE_OUTPUT
SQL_NODESCRIBE_ON = 1;
SQL_NODESCRIBE_OFF = 0;
SQL_NODESCRIBE_DEFAULT = SQL_NODESCRIBE_OFF;
// Options for SQLGetConnectOption/SQLSetConnectOption extensions
SQL_WCHARTYPE = 1252;
SQL_LONGDATA_COMPAT = 1253;
SQL_CURRENT_SCHEMA = 1254;
SQL_DB2EXPLAIN = 1258;
SQL_DB2ESTIMATE = 1259;
SQL_PARAMOPT_ATOMIC = 1260;
SQL_STMTTXN_ISOLATION = 1261;
SQL_MAXCONN = 1262;
SQL_ATTR_WCHARTYPE = SQL_WCHARTYPE;
SQL_ATTR_LONGDATA_COMPAT = SQL_LONGDATA_COMPAT;
SQL_ATTR_CURRENT_SCHEMA = SQL_CURRENT_SCHEMA;
SQL_ATTR_DB2EXPLAIN = SQL_DB2EXPLAIN;
SQL_ATTR_DB2ESTIMATE = SQL_DB2ESTIMATE;
SQL_ATTR_PARAMOPT_ATOMIC = SQL_PARAMOPT_ATOMIC;
SQL_ATTR_STMTTXN_ISOLATION = SQL_STMTTXN_ISOLATION;
SQL_ATTR_MAXCONN = SQL_MAXCONN;
// Options for SQLSetConnectOption, SQLSetEnvAttr
SQL_CONNECTTYPE = 1255;
SQL_SYNC_POINT = 1256;
SQL_MINMEMORY_USAGE = 1263;
SQL_CONN_CONTEXT = 1269;
SQL_ATTR_INHERIT_NULL_CONNECT = 1270;
SQL_ATTR_FORCE_CONVERSION_ON_CLIENT = 1275;
SQL_ATTR_CONNECTTYPE = SQL_CONNECTTYPE;
SQL_ATTR_SYNC_POINT = SQL_SYNC_POINT;
SQL_ATTR_MINMEMORY_USAGE = SQL_MINMEMORY_USAGE;
SQL_ATTR_CONN_CONTEXT = SQL_CONN_CONTEXT;
// Options for SQL_LONGDATA_COMPAT
SQL_LD_COMPAT_YES = 1;
SQL_LD_COMPAT_NO = 0;
SQL_LD_COMPAT_DEFAULT = SQL_LD_COMPAT_NO;
// Options for SQL_PARAMOPT_ATOMIC
SQL_ATOMIC_YES = 1;
SQL_ATOMIC_NO = 0;
SQL_ATOMIC_DEFAULT = SQL_ATOMIC_YES;
// Options for SQL_CONNECT_TYPE
SQL_CONCURRENT_TRANS = 1;
SQL_COORDINATED_TRANS = 2;
SQL_CONNECTTYPE_DEFAULT = SQL_CONCURRENT_TRANS;
// Options for SQL_SYNCPOINT
SQL_ONEPHASE = 1;
SQL_TWOPHASE = 2;
SQL_SYNCPOINT_DEFAULT = SQL_ONEPHASE;
// Options for SQL_DB2ESTIMATE
SQL_DB2ESTIMATE_ON = 1;
SQL_DB2ESTIMATE_OFF = 0;
SQL_DB2ESTIMATE_DEFAULT = SQL_DB2ESTIMATE_OFF;
// Options for SQL_DB2EXPLAIN
SQL_DB2EXPLAIN_OFF = $00000000;
SQL_DB2EXPLAIN_SNAPSHOT_ON = $00000001;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -