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 + -
显示快捷键?