codekingpro/portable-devtools
114k
1# ADO enumerated constants documented on MSDN:2# http://msdn.microsoft.com/en-us/library/ms678353(VS.85).aspx3 4# IsolationLevelEnum5adXactUnspecified = -16adXactBrowse = 0x1007adXactChaos = 0x108adXactCursorStability = 0x10009adXactIsolated = 0x10000010adXactReadCommitted = 0x100011adXactReadUncommitted = 0x10012adXactRepeatableRead = 0x1000013adXactSerializable = 0x10000014 15# CursorLocationEnum16adUseClient = 317adUseServer = 218 19# CursorTypeEnum20adOpenDynamic = 221adOpenForwardOnly = 022adOpenKeyset = 123adOpenStatic = 324adOpenUnspecified = -125 26# CommandTypeEnum27adCmdText = 128adCmdStoredProc = 429adSchemaTables = 2030 31# ParameterDirectionEnum32adParamInput = 133adParamInputOutput = 334adParamOutput = 235adParamReturnValue = 436adParamUnknown = 037directions = {38 0: "Unknown",39 1: "Input",40 2: "Output",41 3: "InputOutput",42 4: "Return",43}44 45 46def ado_direction_name(ado_dir):47 try:48 return "adParam" + directions[ado_dir]49 except:50 return "unknown direction (" + str(ado_dir) + ")"51 52 53# ObjectStateEnum54adStateClosed = 055adStateOpen = 156adStateConnecting = 257adStateExecuting = 458adStateFetching = 859 60# FieldAttributeEnum61adFldMayBeNull = 0x4062 63# ConnectModeEnum64adModeUnknown = 065adModeRead = 166adModeWrite = 267adModeReadWrite = 368adModeShareDenyRead = 469adModeShareDenyWrite = 870adModeShareExclusive = 1271adModeShareDenyNone = 1672adModeRecursive = 0x40000073 74# XactAttributeEnum75adXactCommitRetaining = 13107276adXactAbortRetaining = 26214477 78ado_error_TIMEOUT = -214721787179 80# DataTypeEnum - ADO Data types documented at:81# http://msdn2.microsoft.com/en-us/library/ms675318.aspx82adArray = 0x200083adEmpty = 0x084adBSTR = 0x885adBigInt = 0x1486adBinary = 0x8087adBoolean = 0xB88adChapter = 0x8889adChar = 0x8190adCurrency = 0x691adDBDate = 0x8592adDBTime = 0x8693adDBTimeStamp = 0x8794adDate = 0x795adDecimal = 0xE96adDouble = 0x597adError = 0xA98adFileTime = 0x4099adGUID = 0x48100adIDispatch = 0x9101adIUnknown = 0xD102adInteger = 0x3103adLongVarBinary = 0xCD104adLongVarChar = 0xC9105adLongVarWChar = 0xCB106adNumeric = 0x83107adPropVariant = 0x8A108adSingle = 0x4109adSmallInt = 0x2110adTinyInt = 0x10111adUnsignedBigInt = 0x15112adUnsignedInt = 0x13113adUnsignedSmallInt = 0x12114adUnsignedTinyInt = 0x11115adUserDefined = 0x84116adVarBinary = 0xCC117adVarChar = 0xC8118adVarNumeric = 0x8B119adVarWChar = 0xCA120adVariant = 0xC121adWChar = 0x82122# Additional constants used by introspection but not ADO itself123AUTO_FIELD_MARKER = -1000124 125adTypeNames = {126 adBSTR: "adBSTR",127 adBigInt: "adBigInt",128 adBinary: "adBinary",129 adBoolean: "adBoolean",130 adChapter: "adChapter",131 adChar: "adChar",132 adCurrency: "adCurrency",133 adDBDate: "adDBDate",134 adDBTime: "adDBTime",135 adDBTimeStamp: "adDBTimeStamp",136 adDate: "adDate",137 adDecimal: "adDecimal",138 adDouble: "adDouble",139 adEmpty: "adEmpty",140 adError: "adError",141 adFileTime: "adFileTime",142 adGUID: "adGUID",143 adIDispatch: "adIDispatch",144 adIUnknown: "adIUnknown",145 adInteger: "adInteger",146 adLongVarBinary: "adLongVarBinary",147 adLongVarChar: "adLongVarChar",148 adLongVarWChar: "adLongVarWChar",149 adNumeric: "adNumeric",150 adPropVariant: "adPropVariant",151 adSingle: "adSingle",152 adSmallInt: "adSmallInt",153 adTinyInt: "adTinyInt",154 adUnsignedBigInt: "adUnsignedBigInt",155 adUnsignedInt: "adUnsignedInt",156 adUnsignedSmallInt: "adUnsignedSmallInt",157 adUnsignedTinyInt: "adUnsignedTinyInt",158 adUserDefined: "adUserDefined",159 adVarBinary: "adVarBinary",160 adVarChar: "adVarChar",161 adVarNumeric: "adVarNumeric",162 adVarWChar: "adVarWChar",163 adVariant: "adVariant",164 adWChar: "adWChar",165}166 167 168def ado_type_name(ado_type):169 return adTypeNames.get(ado_type, "unknown type (" + str(ado_type) + ")")170 171 172# here in decimal, sorted by value173# adEmpty 0 Specifies no value (DBTYPE_EMPTY).174# adSmallInt 2 Indicates a two-byte signed integer (DBTYPE_I2).175# adInteger 3 Indicates a four-byte signed integer (DBTYPE_I4).176# adSingle 4 Indicates a single-precision floating-point value (DBTYPE_R4).177# adDouble 5 Indicates a double-precision floating-point value (DBTYPE_R8).178# adCurrency 6 Indicates a currency value (DBTYPE_CY). Currency is a fixed-point number179# with four digits to the right of the decimal point. It is stored in an eight-byte signed integer scaled by 10,000.180# adDate 7 Indicates a date value (DBTYPE_DATE). A date is stored as a double, the whole part of which is181# the number of days since December 30, 1899, and the fractional part of which is the fraction of a day.182# adBSTR 8 Indicates a null-terminated character string (Unicode) (DBTYPE_BSTR).183# adIDispatch 9 Indicates a pointer to an IDispatch interface on a COM object (DBTYPE_IDISPATCH).184# adError 10 Indicates a 32-bit error code (DBTYPE_ERROR).185# adBoolean 11 Indicates a boolean value (DBTYPE_BOOL).186# adVariant 12 Indicates an Automation Variant (DBTYPE_VARIANT).187# adIUnknown 13 Indicates a pointer to an IUnknown interface on a COM object (DBTYPE_IUNKNOWN).188# adDecimal 14 Indicates an exact numeric value with a fixed precision and scale (DBTYPE_DECIMAL).189# adTinyInt 16 Indicates a one-byte signed integer (DBTYPE_I1).190# adUnsignedTinyInt 17 Indicates a one-byte unsigned integer (DBTYPE_UI1).191# adUnsignedSmallInt 18 Indicates a two-byte unsigned integer (DBTYPE_UI2).192# adUnsignedInt 19 Indicates a four-byte unsigned integer (DBTYPE_UI4).193# adBigInt 20 Indicates an eight-byte signed integer (DBTYPE_I8).194# adUnsignedBigInt 21 Indicates an eight-byte unsigned integer (DBTYPE_UI8).195# adFileTime 64 Indicates a 64-bit value representing the number of 100-nanosecond intervals since196# January 1, 1601 (DBTYPE_FILETIME).197# adGUID 72 Indicates a globally unique identifier (GUID) (DBTYPE_GUID).198# adBinary 128 Indicates a binary value (DBTYPE_BYTES).199# adChar 129 Indicates a string value (DBTYPE_STR).200# adWChar 130 Indicates a null-terminated Unicode character string (DBTYPE_WSTR).201# adNumeric 131 Indicates an exact numeric value with a fixed precision and scale (DBTYPE_NUMERIC).202# adUserDefined 132 Indicates a user-defined variable (DBTYPE_UDT).203# adUserDefined 132 Indicates a user-defined variable (DBTYPE_UDT).204# adDBDate 133 Indicates a date value (yyyymmdd) (DBTYPE_DBDATE).205# adDBTime 134 Indicates a time value (hhmmss) (DBTYPE_DBTIME).206# adDBTimeStamp 135 Indicates a date/time stamp (yyyymmddhhmmss plus a fraction in billionths) (DBTYPE_DBTIMESTAMP).207# adChapter 136 Indicates a four-byte chapter value that identifies rows in a child rowset (DBTYPE_HCHAPTER).208# adPropVariant 138 Indicates an Automation PROPVARIANT (DBTYPE_PROP_VARIANT).209# adVarNumeric 139 Indicates a numeric value (Parameter object only).210# adVarChar 200 Indicates a string value (Parameter object only).211# adLongVarChar 201 Indicates a long string value (Parameter object only).212# adVarWChar 202 Indicates a null-terminated Unicode character string (Parameter object only).213# adLongVarWChar 203 Indicates a long null-terminated Unicode string value (Parameter object only).214# adVarBinary 204 Indicates a binary value (Parameter object only).215# adLongVarBinary 205 Indicates a long binary value (Parameter object only).216# adArray (Does not apply to ADOX.) 0x2000 A flag value, always combined with another data type constant,217# that indicates an array of that other data type.218 219# Error codes to names220adoErrors = {221 0xE7B: "adErrBoundToCommand",222 0xE94: "adErrCannotComplete",223 0xEA4: "adErrCantChangeConnection",224 0xC94: "adErrCantChangeProvider",225 0xE8C: "adErrCantConvertvalue",226 0xE8D: "adErrCantCreate",227 0xEA3: "adErrCatalogNotSet",228 0xE8E: "adErrColumnNotOnThisRow",229 0xD5D: "adErrDataConversion",230 0xE89: "adErrDataOverflow",231 0xE9A: "adErrDelResOutOfScope",232 0xEA6: "adErrDenyNotSupported",233 0xEA7: "adErrDenyTypeNotSupported",234 0xCB3: "adErrFeatureNotAvailable",235 0xEA5: "adErrFieldsUpdateFailed",236 0xC93: "adErrIllegalOperation",237 0xCAE: "adErrInTransaction",238 0xE87: "adErrIntegrityViolation",239 0xBB9: "adErrInvalidArgument",240 0xE7D: "adErrInvalidConnection",241 0xE7C: "adErrInvalidParamInfo",242 0xE82: "adErrInvalidTransaction",243 0xE91: "adErrInvalidURL",244 0xCC1: "adErrItemNotFound",245 0xBCD: "adErrNoCurrentRecord",246 0xE83: "adErrNotExecuting",247 0xE7E: "adErrNotReentrant",248 0xE78: "adErrObjectClosed",249 0xD27: "adErrObjectInCollection",250 0xD5C: "adErrObjectNotSet",251 0xE79: "adErrObjectOpen",252 0xBBA: "adErrOpeningFile",253 0xE80: "adErrOperationCancelled",254 0xE96: "adErrOutOfSpace",255 0xE88: "adErrPermissionDenied",256 0xE9E: "adErrPropConflicting",257 0xE9B: "adErrPropInvalidColumn",258 0xE9C: "adErrPropInvalidOption",259 0xE9D: "adErrPropInvalidValue",260 0xE9F: "adErrPropNotAllSettable",261 0xEA0: "adErrPropNotSet",262 0xEA1: "adErrPropNotSettable",263 0xEA2: "adErrPropNotSupported",264 0xBB8: "adErrProviderFailed",265 0xE7A: "adErrProviderNotFound",266 0xBBB: "adErrReadFile",267 0xE93: "adErrResourceExists",268 0xE92: "adErrResourceLocked",269 0xE97: "adErrResourceOutOfScope",270 0xE8A: "adErrSchemaViolation",271 0xE8B: "adErrSignMismatch",272 0xE81: "adErrStillConnecting",273 0xE7F: "adErrStillExecuting",274 0xE90: "adErrTreePermissionDenied",275 0xE8F: "adErrURLDoesNotExist",276 0xE99: "adErrURLNamedRowDoesNotExist",277 0xE98: "adErrUnavailable",278 0xE84: "adErrUnsafeOperation",279 0xE95: "adErrVolumeNotFound",280 0xBBC: "adErrWriteFile",281}282 