sqldmo.h
来自「希望我上传的这些东西可以对搞编程的程序员有点小小的帮助!谢谢!」· C头文件 代码 · 共 1,323 行 · 第 1/5 页
H
1,323 行
/////////////////////////////////////////////////////////////////////////////////////////
// Header file for SQLDMO C/C++ Client Component Object interfaces.
// Copyright 1994-1995 Microsoft Corporation.
/////////////////////////////////////////////////////////////////////////////////////////
#ifndef _SQLDMO_H_
#pragma option push -b -a8 -pc -A- /*P_O_Push*/
#define _SQLDMO_H_
// SQLDMO versions supported for this header file.
#define SQLDMOVERSION_700 0x07000000
// Current version of SQLDMO for this header file (matches sp_MSSQLDMO_version).
#define SQLDMOVERSION_CURRENT SQLDMOVERSION_700
/////////////////////////////////////////////////////////////////////////////////////////
// Constant enumerations.
/////////////////////////////////////////////////////////////////////////////////////////
#ifndef _SQLDMO_CONSTANTS_
#define _SQLDMO_CONSTANTS_
#ifdef _SQLDMO_ODL_ // Generate helpids if in ODL file.
#define SQLDMO_HELPID(id) [helpcontext(H_##id)]
#else
#define SQLDMO_HELPID(id)
#endif
typedef SQLDMO_HELPID(SQLDMO_OBJECT_TYPE) enum {
SQLDMOObj_Unknown = 16384, // Make it the only bit set
SQLDMOObj_Application = 0,
// Database objects, value is power(2, sysobjects.sysstat & 0x0f), plus UDDTs in 0.
// These values can be bitmasked together for object listings.
SQLDMOObj_UserDefinedDatatype = 0x00000001, // 1
SQLDMOObj_SystemTable = 0x00000002, // 2
SQLDMOObj_View = 0x00000004, // 4
SQLDMOObj_UserTable = 0x00000008, // 8
SQLDMOObj_StoredProcedure = 0x00000010, // 16
SQLDMOObj_Default = 0x00000040, // 64
SQLDMOObj_Rule = 0x00000080, // 128
SQLDMOObj_Trigger = 0x00000100, // 256
SQLDMOObj_AllDatabaseUserObjects = 0x000001fd, // All but system tables
SQLDMOObj_AllDatabaseObjects = 0x000001ff, // All including system tables
// Other Database objects (not in sysobjects)
SQLDMOObj_SystemDatatype = 0x00001000,
SQLDMOObj_User = 0x00002000,
SQLDMOObj_Group = 0x00003000,
SQLDMOObj_Index = 0x00004000,
SQLDMOObj_Key = 0x00005000,
SQLDMOObj_Column = 0x00006000,
SQLDMOObj_DBObject = 0x00007000,
SQLDMOObj_DBOption = 0x00008000,
SQLDMOObj_ProcedureParameter = 0x00009000,
SQLDMOObj_Permission = 0x0000A000,
SQLDMOObj_IntegratedSecurity = 0x0000B000,
SQLDMOObj_Check = 0x0000C000,
SQLDMOObj_DRIDefault = 0x0000D000,
// Objects not in databases.
SQLDMOObj_SQLServer = 0x00020000,
SQLDMOObj_Database = 0x00021000,
SQLDMOObj_BackupDevice = 0x00022000,
SQLDMOObj_Login = 0x00023000,
SQLDMOObj_Language = 0x00024000,
SQLDMOObj_RemoteServer = 0x00025000,
SQLDMOObj_RemoteLogin = 0x00026000,
SQLDMOObj_Configuration = 0x00027000,
SQLDMOObj_ConfigValue = 0x00028000,
SQLDMOObj_QueryResults = 0x00029000,
SQLDMOObj_TransactionLog = 0x0002A000,
SQLDMOObj_Registry = 0x0002B000,
SQLDMOObj_Transfer = 0x0002C000,
SQLDMOObj_Backup = 0x0002D000,
SQLDMOObj_AutoProperty = 0x0002E000,
SQLDMOObj_ServerGroup = 0x0002F000,
SQLDMOObj_RegisteredServer = 0x00031000,
SQLDMOObj_BulkCopy = 0x00032000,
SQLDMOObj_FileGroup = 0x00033000,
SQLDMOObj_DBFile = 0x00034000,
SQLDMOObj_LogFile = 0x00035000,
SQLDMOObj_ServerRole = 0x00036000,
SQLDMOObj_DatabaseRole = 0x00037000,
SQLDMOObj_Restore = 0x00038000,
SQLDMOObj_LinkedServer = 0x00039000,
SQLDMOObj_LinkedServerLogin = 0x00040000,
SQLDMOObj_FullTextCatalog = 0x00041000,
SQLDMOObj_FullTextService = 0x00042000,
// Replication Objects
SQLDMOObj_TransPublication = 0x00101000,
SQLDMOObj_TransArticle = 0x00102000,
SQLDMOObj_TransSubscription = 0x00103000,
SQLDMOObj_TransPullSubscription = 0x00104000,
SQLDMOObj_MergePublication = 0x00105000,
SQLDMOObj_MergeArticle = 0x00106000,
SQLDMOObj_MergeSubscription = 0x00107000,
SQLDMOObj_MergePullSubscription = 0x00108000,
SQLDMOObj_Replication = 0x00109000,
SQLDMOObj_Publisher = 0x0010A000,
SQLDMOObj_Subscriber = 0x0010B000,
SQLDMOObj_Distributor = 0x0010C000,
SQLDMOObj_ReplicationSecurity = 0x0010D000,
SQLDMOObj_DistributionPublisher = 0x0010E000,
SQLDMOObj_RegisteredSubscriber = 0x0010F000,
SQLDMOObj_ReplicationDatabase = 0x00110000,
SQLDMOObj_DistributionDatabase = 0x00111000,
SQLDMOObj_ReplicationTable = 0x00112000,
SQLDMOObj_ReplicationStoredProcedure = 0x00113000,
SQLDMOObj_DistributionPublication = 0x00114000,
SQLDMOObj_DistributionArticle = 0x00115000,
SQLDMOObj_DistributionSubscription = 0x00116000,
SQLDMOObj_MergeSubsetFilter = 0x00117000,
// SQL JobServer Objects
SQLDMOObj_AlertSystem = 0x00201000,
SQLDMOObj_JobServer = 0x00202000,
SQLDMOObj_Alert = 0x00203000,
SQLDMOObj_Operator = 0x00204000,
SQLDMOObj_Job = 0x00205000,
SQLDMOObj_JobStep = 0x00206000,
SQLDMOObj_TargetServer = 0x00207000,
SQLDMOObj_TargetServerGroup = 0x00208000,
SQLDMOObj_Category = 0x00209000,
SQLDMOObj_Schedule = 0x00210000,
SQLDMOObj_JobFilter = 0x00211000,
SQLDMOObj_JobHistoryFilter = 0x00212000,
SQLDMOObj_JobSchedule = 0x00213000,
SQLDMOObj_Last = 0x10000000 // End of enumeration.
} SQLDMO_OBJECT_TYPE;
typedef SQLDMO_HELPID(SQLDMO_KEY_TYPE) enum {
SQLDMOKey_Unknown = 0,
SQLDMOKey_Primary = 1,
SQLDMOKey_Unique = 2,
SQLDMOKey_Foreign = 3
} SQLDMO_KEY_TYPE;
typedef SQLDMO_HELPID(SQLDMO_DEVICE_TYPE) enum {
SQLDMODevice_Unknown = 100,
SQLDMODevice_DiskDump = 2,
SQLDMODevice_FloppyADump = 3,
SQLDMODevice_FloppyBDump = 4,
SQLDMODevice_TapeDump = 5,
SQLDMODevice_PipeDump = 6,
SQLDMODevice_CDROM = 7
} SQLDMO_DEVICE_TYPE;
typedef SQLDMO_HELPID(SQLDMO_PRIVILEGE_TYPE) enum {
SQLDMOPriv_Unknown = 0,
// Privilege values, different from sysprotects as we need to bitmask.
// Object privileges.
SQLDMOPriv_Select = 1,
SQLDMOPriv_Insert = 2,
SQLDMOPriv_Update = 4,
SQLDMOPriv_Delete = 8,
SQLDMOPriv_Execute = 16,
SQLDMOPriv_References = 32,
SQLDMOPriv_AllObjectPrivs = 63,
// Database (statement) privileges.
SQLDMOPriv_CreateTable = 128,
SQLDMOPriv_CreateDatabase = 256,
SQLDMOPriv_CreateView = 512,
SQLDMOPriv_CreateProcedure = 1024,
SQLDMOPriv_DumpDatabase = 2048,
SQLDMOPriv_CreateDefault = 4096,
SQLDMOPriv_DumpTransaction = 8192,
SQLDMOPriv_CreateRule = 16384,
SQLDMOPriv_DumpTable = 32768,
SQLDMOPriv_AllDatabasePrivs = 65408
} SQLDMO_PRIVILEGE_TYPE;
typedef SQLDMO_HELPID(SQLDMO_PROCEDURE_TYPE) enum {
SQLDMOProc_Unknown = 0,
SQLDMOProc_Standard = 1,
SQLDMOProc_Extended = 2,
SQLDMOProc_Macro = 3,
SQLDMOProc_ReplicationFilter = 4
} SQLDMO_PROCEDURE_TYPE;
// Trigger types may be OR'd together.
typedef SQLDMO_HELPID(SQLDMO_TRIGGER_TYPE) enum {
SQLDMOTrig_Unknown = 0,
SQLDMOTrig_Insert = 1,
SQLDMOTrig_Update = 2,
SQLDMOTrig_Delete = 4,
SQLDMOTrig_All = 7
} SQLDMO_TRIGGER_TYPE;
typedef SQLDMO_HELPID(SQLDMO_INDEX_TYPE) enum { // SQLDMO Internal: sync with ntinc\index.h
// Index type values as in sysindexes.status.
SQLDMOIndex_Default = 0x0000,
SQLDMOIndex_IgnoreDupKey = 0x0001,
SQLDMOIndex_Unique = 0x0002,
// SQLDMOIndex_IgnoreDupRow = 0x0004, // obsolete in 7.0
SQLDMOIndex_Clustered = 0x0010,
// SQLDMOIndex_AllowDupRow = 0x0040, // obsolete in 7.0
SQLDMOIndex_PadIndex = 0x0100, // new for 7.0, fillfactor applies to index nodes also
SQLDMOIndex_SortedData = 0x0200,
SQLDMOIndex_SortedDataReorg = 0x2000, // 6.0-only; sorted-data with reorganization
SQLDMOIndex_DropExist = 0x8000, // new for 7.0, Drop the existing index
// SQLDMOIndex_Valid = 0xA357, // Any of foregoing (writable) types
SQLDMOIndex_Valid = 0xA313, // Any of foregoing (writable) types
SQLDMOIndex_Hypothetical = 0x0020, // new for 7.0, statistics only index, we get this for both 'CREATE STATISTICS' and 'CREATE INDEX...WITH STATISTICS_ONLY'
SQLDMOIndex_DRIPrimaryKey = 0x0800, // 6.0-only, readonly; DRI-generated types
SQLDMOIndex_DRIUniqueKey = 0x1000,
SQLDMOIndex_DRIIndex = 0x1800, // Index implements DRI (DRIPrimaryKey | DRIUniqueKey)
SQLDMOIndex_NoRecompute = 0x01000000, // new for 7.0
} SQLDMO_INDEX_TYPE;
typedef SQLDMO_HELPID(SQLDMO_QUERY_DATATYPE) enum {
// Indexed as per ..\common\inc\sql.hpp and sql.h sqlext.h datatype constants.
SQLDMO_DTypeUnknown = 0,
SQLDMO_DTypeChar = 1, // SQL_CHAR
SQLDMO_DTypeText = -1, // SQL_LONGVARCHAR
SQLDMO_DTypeVarchar = 12, // SQL_VARCHAR
SQLDMO_DTypeVarBinary = -3, // SQL_VARBINARY
SQLDMO_DTypeBinary = -2, // SQL_BINARY
SQLDMO_DTypeImage = -4, // SQL_LONGVARBINARY
SQLDMO_DTypeFloat4 = 7, // SQL_REAL
SQLDMO_DTypeFloat8 = 8, // SQL_DOUBLE
SQLDMO_DTypeInt1 = -6, // SQL_TINYINT
SQLDMO_DTypeInt2 = 5, // SQL_SMALLINT
SQLDMO_DTypeInt4 = 4, // SQL_INTEGER
SQLDMO_DTypeMoney4 = 3, // SQL_DECIMAL
SQLDMO_DTypeMoney = 3, // SQL_DECIMAL
SQLDMO_DTypeDateTime = -2, // SQL_BINARY
SQLDMO_DTypeDateTime4 = 93, // SQL_TYPE_TIMESTAMP
SQLDMO_DTypeBit = -7, // SQL_BIT
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?