Spaces:
Paused
Paused
| # ADO enumerated constants documented on MSDN: | |
| # http://msdn.microsoft.com/en-us/library/ms678353(VS.85).aspx | |
| # IsolationLevelEnum | |
| adXactUnspecified = -1 | |
| adXactBrowse = 0x100 | |
| adXactChaos = 0x10 | |
| adXactCursorStability = 0x1000 | |
| adXactIsolated = 0x100000 | |
| adXactReadCommitted = 0x1000 | |
| adXactReadUncommitted = 0x100 | |
| adXactRepeatableRead = 0x10000 | |
| adXactSerializable = 0x100000 | |
| # CursorLocationEnum | |
| adUseClient = 3 | |
| adUseServer = 2 | |
| # CursorTypeEnum | |
| adOpenDynamic = 2 | |
| adOpenForwardOnly = 0 | |
| adOpenKeyset = 1 | |
| adOpenStatic = 3 | |
| adOpenUnspecified = -1 | |
| # CommandTypeEnum | |
| adCmdText = 1 | |
| adCmdStoredProc = 4 | |
| adSchemaTables = 20 | |
| # ParameterDirectionEnum | |
| adParamInput = 1 | |
| adParamInputOutput = 3 | |
| adParamOutput = 2 | |
| adParamReturnValue = 4 | |
| adParamUnknown = 0 | |
| directions = { | |
| 0: "Unknown", | |
| 1: "Input", | |
| 2: "Output", | |
| 3: "InputOutput", | |
| 4: "Return", | |
| } | |
| def ado_direction_name(ado_dir): | |
| try: | |
| return "adParam" + directions[ado_dir] | |
| except: | |
| return "unknown direction (" + str(ado_dir) + ")" | |
| # ObjectStateEnum | |
| adStateClosed = 0 | |
| adStateOpen = 1 | |
| adStateConnecting = 2 | |
| adStateExecuting = 4 | |
| adStateFetching = 8 | |
| # FieldAttributeEnum | |
| adFldMayBeNull = 0x40 | |
| # ConnectModeEnum | |
| adModeUnknown = 0 | |
| adModeRead = 1 | |
| adModeWrite = 2 | |
| adModeReadWrite = 3 | |
| adModeShareDenyRead = 4 | |
| adModeShareDenyWrite = 8 | |
| adModeShareExclusive = 12 | |
| adModeShareDenyNone = 16 | |
| adModeRecursive = 0x400000 | |
| # XactAttributeEnum | |
| adXactCommitRetaining = 131072 | |
| adXactAbortRetaining = 262144 | |
| ado_error_TIMEOUT = -2147217871 | |
| # DataTypeEnum - ADO Data types documented at: | |
| # http://msdn2.microsoft.com/en-us/library/ms675318.aspx | |
| adArray = 0x2000 | |
| adEmpty = 0x0 | |
| adBSTR = 0x8 | |
| adBigInt = 0x14 | |
| adBinary = 0x80 | |
| adBoolean = 0xB | |
| adChapter = 0x88 | |
| adChar = 0x81 | |
| adCurrency = 0x6 | |
| adDBDate = 0x85 | |
| adDBTime = 0x86 | |
| adDBTimeStamp = 0x87 | |
| adDate = 0x7 | |
| adDecimal = 0xE | |
| adDouble = 0x5 | |
| adError = 0xA | |
| adFileTime = 0x40 | |
| adGUID = 0x48 | |
| adIDispatch = 0x9 | |
| adIUnknown = 0xD | |
| adInteger = 0x3 | |
| adLongVarBinary = 0xCD | |
| adLongVarChar = 0xC9 | |
| adLongVarWChar = 0xCB | |
| adNumeric = 0x83 | |
| adPropVariant = 0x8A | |
| adSingle = 0x4 | |
| adSmallInt = 0x2 | |
| adTinyInt = 0x10 | |
| adUnsignedBigInt = 0x15 | |
| adUnsignedInt = 0x13 | |
| adUnsignedSmallInt = 0x12 | |
| adUnsignedTinyInt = 0x11 | |
| adUserDefined = 0x84 | |
| adVarBinary = 0xCC | |
| adVarChar = 0xC8 | |
| adVarNumeric = 0x8B | |
| adVarWChar = 0xCA | |
| adVariant = 0xC | |
| adWChar = 0x82 | |
| # Additional constants used by introspection but not ADO itself | |
| AUTO_FIELD_MARKER = -1000 | |
| adTypeNames = { | |
| adBSTR: "adBSTR", | |
| adBigInt: "adBigInt", | |
| adBinary: "adBinary", | |
| adBoolean: "adBoolean", | |
| adChapter: "adChapter", | |
| adChar: "adChar", | |
| adCurrency: "adCurrency", | |
| adDBDate: "adDBDate", | |
| adDBTime: "adDBTime", | |
| adDBTimeStamp: "adDBTimeStamp", | |
| adDate: "adDate", | |
| adDecimal: "adDecimal", | |
| adDouble: "adDouble", | |
| adEmpty: "adEmpty", | |
| adError: "adError", | |
| adFileTime: "adFileTime", | |
| adGUID: "adGUID", | |
| adIDispatch: "adIDispatch", | |
| adIUnknown: "adIUnknown", | |
| adInteger: "adInteger", | |
| adLongVarBinary: "adLongVarBinary", | |
| adLongVarChar: "adLongVarChar", | |
| adLongVarWChar: "adLongVarWChar", | |
| adNumeric: "adNumeric", | |
| adPropVariant: "adPropVariant", | |
| adSingle: "adSingle", | |
| adSmallInt: "adSmallInt", | |
| adTinyInt: "adTinyInt", | |
| adUnsignedBigInt: "adUnsignedBigInt", | |
| adUnsignedInt: "adUnsignedInt", | |
| adUnsignedSmallInt: "adUnsignedSmallInt", | |
| adUnsignedTinyInt: "adUnsignedTinyInt", | |
| adUserDefined: "adUserDefined", | |
| adVarBinary: "adVarBinary", | |
| adVarChar: "adVarChar", | |
| adVarNumeric: "adVarNumeric", | |
| adVarWChar: "adVarWChar", | |
| adVariant: "adVariant", | |
| adWChar: "adWChar", | |
| } | |
| def ado_type_name(ado_type): | |
| return adTypeNames.get(ado_type, "unknown type (" + str(ado_type) + ")") | |
| # here in decimal, sorted by value | |
| # adEmpty 0 Specifies no value (DBTYPE_EMPTY). | |
| # adSmallInt 2 Indicates a two-byte signed integer (DBTYPE_I2). | |
| # adInteger 3 Indicates a four-byte signed integer (DBTYPE_I4). | |
| # adSingle 4 Indicates a single-precision floating-point value (DBTYPE_R4). | |
| # adDouble 5 Indicates a double-precision floating-point value (DBTYPE_R8). | |
| # adCurrency 6 Indicates a currency value (DBTYPE_CY). Currency is a fixed-point number | |
| # with four digits to the right of the decimal point. It is stored in an eight-byte signed integer scaled by 10,000. | |
| # adDate 7 Indicates a date value (DBTYPE_DATE). A date is stored as a double, the whole part of which is | |
| # the number of days since December 30, 1899, and the fractional part of which is the fraction of a day. | |
| # adBSTR 8 Indicates a null-terminated character string (Unicode) (DBTYPE_BSTR). | |
| # adIDispatch 9 Indicates a pointer to an IDispatch interface on a COM object (DBTYPE_IDISPATCH). | |
| # adError 10 Indicates a 32-bit error code (DBTYPE_ERROR). | |
| # adBoolean 11 Indicates a boolean value (DBTYPE_BOOL). | |
| # adVariant 12 Indicates an Automation Variant (DBTYPE_VARIANT). | |
| # adIUnknown 13 Indicates a pointer to an IUnknown interface on a COM object (DBTYPE_IUNKNOWN). | |
| # adDecimal 14 Indicates an exact numeric value with a fixed precision and scale (DBTYPE_DECIMAL). | |
| # adTinyInt 16 Indicates a one-byte signed integer (DBTYPE_I1). | |
| # adUnsignedTinyInt 17 Indicates a one-byte unsigned integer (DBTYPE_UI1). | |
| # adUnsignedSmallInt 18 Indicates a two-byte unsigned integer (DBTYPE_UI2). | |
| # adUnsignedInt 19 Indicates a four-byte unsigned integer (DBTYPE_UI4). | |
| # adBigInt 20 Indicates an eight-byte signed integer (DBTYPE_I8). | |
| # adUnsignedBigInt 21 Indicates an eight-byte unsigned integer (DBTYPE_UI8). | |
| # adFileTime 64 Indicates a 64-bit value representing the number of 100-nanosecond intervals since | |
| # January 1, 1601 (DBTYPE_FILETIME). | |
| # adGUID 72 Indicates a globally unique identifier (GUID) (DBTYPE_GUID). | |
| # adBinary 128 Indicates a binary value (DBTYPE_BYTES). | |
| # adChar 129 Indicates a string value (DBTYPE_STR). | |
| # adWChar 130 Indicates a null-terminated Unicode character string (DBTYPE_WSTR). | |
| # adNumeric 131 Indicates an exact numeric value with a fixed precision and scale (DBTYPE_NUMERIC). | |
| # adUserDefined 132 Indicates a user-defined variable (DBTYPE_UDT). | |
| # adUserDefined 132 Indicates a user-defined variable (DBTYPE_UDT). | |
| # adDBDate 133 Indicates a date value (yyyymmdd) (DBTYPE_DBDATE). | |
| # adDBTime 134 Indicates a time value (hhmmss) (DBTYPE_DBTIME). | |
| # adDBTimeStamp 135 Indicates a date/time stamp (yyyymmddhhmmss plus a fraction in billionths) (DBTYPE_DBTIMESTAMP). | |
| # adChapter 136 Indicates a four-byte chapter value that identifies rows in a child rowset (DBTYPE_HCHAPTER). | |
| # adPropVariant 138 Indicates an Automation PROPVARIANT (DBTYPE_PROP_VARIANT). | |
| # adVarNumeric 139 Indicates a numeric value (Parameter object only). | |
| # adVarChar 200 Indicates a string value (Parameter object only). | |
| # adLongVarChar 201 Indicates a long string value (Parameter object only). | |
| # adVarWChar 202 Indicates a null-terminated Unicode character string (Parameter object only). | |
| # adLongVarWChar 203 Indicates a long null-terminated Unicode string value (Parameter object only). | |
| # adVarBinary 204 Indicates a binary value (Parameter object only). | |
| # adLongVarBinary 205 Indicates a long binary value (Parameter object only). | |
| # adArray (Does not apply to ADOX.) 0x2000 A flag value, always combined with another data type constant, | |
| # that indicates an array of that other data type. | |
| # Error codes to names | |
| adoErrors = { | |
| 0xE7B: "adErrBoundToCommand", | |
| 0xE94: "adErrCannotComplete", | |
| 0xEA4: "adErrCantChangeConnection", | |
| 0xC94: "adErrCantChangeProvider", | |
| 0xE8C: "adErrCantConvertvalue", | |
| 0xE8D: "adErrCantCreate", | |
| 0xEA3: "adErrCatalogNotSet", | |
| 0xE8E: "adErrColumnNotOnThisRow", | |
| 0xD5D: "adErrDataConversion", | |
| 0xE89: "adErrDataOverflow", | |
| 0xE9A: "adErrDelResOutOfScope", | |
| 0xEA6: "adErrDenyNotSupported", | |
| 0xEA7: "adErrDenyTypeNotSupported", | |
| 0xCB3: "adErrFeatureNotAvailable", | |
| 0xEA5: "adErrFieldsUpdateFailed", | |
| 0xC93: "adErrIllegalOperation", | |
| 0xCAE: "adErrInTransaction", | |
| 0xE87: "adErrIntegrityViolation", | |
| 0xBB9: "adErrInvalidArgument", | |
| 0xE7D: "adErrInvalidConnection", | |
| 0xE7C: "adErrInvalidParamInfo", | |
| 0xE82: "adErrInvalidTransaction", | |
| 0xE91: "adErrInvalidURL", | |
| 0xCC1: "adErrItemNotFound", | |
| 0xBCD: "adErrNoCurrentRecord", | |
| 0xE83: "adErrNotExecuting", | |
| 0xE7E: "adErrNotReentrant", | |
| 0xE78: "adErrObjectClosed", | |
| 0xD27: "adErrObjectInCollection", | |
| 0xD5C: "adErrObjectNotSet", | |
| 0xE79: "adErrObjectOpen", | |
| 0xBBA: "adErrOpeningFile", | |
| 0xE80: "adErrOperationCancelled", | |
| 0xE96: "adErrOutOfSpace", | |
| 0xE88: "adErrPermissionDenied", | |
| 0xE9E: "adErrPropConflicting", | |
| 0xE9B: "adErrPropInvalidColumn", | |
| 0xE9C: "adErrPropInvalidOption", | |
| 0xE9D: "adErrPropInvalidValue", | |
| 0xE9F: "adErrPropNotAllSettable", | |
| 0xEA0: "adErrPropNotSet", | |
| 0xEA1: "adErrPropNotSettable", | |
| 0xEA2: "adErrPropNotSupported", | |
| 0xBB8: "adErrProviderFailed", | |
| 0xE7A: "adErrProviderNotFound", | |
| 0xBBB: "adErrReadFile", | |
| 0xE93: "adErrResourceExists", | |
| 0xE92: "adErrResourceLocked", | |
| 0xE97: "adErrResourceOutOfScope", | |
| 0xE8A: "adErrSchemaViolation", | |
| 0xE8B: "adErrSignMismatch", | |
| 0xE81: "adErrStillConnecting", | |
| 0xE7F: "adErrStillExecuting", | |
| 0xE90: "adErrTreePermissionDenied", | |
| 0xE8F: "adErrURLDoesNotExist", | |
| 0xE99: "adErrURLNamedRowDoesNotExist", | |
| 0xE98: "adErrUnavailable", | |
| 0xE84: "adErrUnsafeOperation", | |
| 0xE95: "adErrVolumeNotFound", | |
| 0xBBC: "adErrWriteFile", | |
| } | |