ado_consts.py 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. from __future__ import unicode_literals
  2. # ADO enumerated constants documented on MSDN:
  3. # http://msdn.microsoft.com/en-us/library/ms678353(VS.85).aspx
  4. # IsolationLevelEnum
  5. adXactUnspecified = -1
  6. adXactBrowse = 0x100
  7. adXactChaos = 0x10
  8. adXactCursorStability = 0x1000
  9. adXactIsolated = 0x100000
  10. adXactReadCommitted = 0x1000
  11. adXactReadUncommitted = 0x100
  12. adXactRepeatableRead = 0x10000
  13. adXactSerializable = 0x100000
  14. # CursorLocationEnum
  15. adUseClient = 3
  16. adUseServer = 2
  17. # CursorTypeEnum
  18. adOpenDynamic = 2
  19. adOpenForwardOnly = 0
  20. adOpenKeyset = 1
  21. adOpenStatic = 3
  22. adOpenUnspecified = -1
  23. # CommandTypeEnum
  24. adCmdText = 1
  25. adCmdStoredProc = 4
  26. # ParameterDirectionEnum
  27. adParamInput = 1
  28. adParamInputOutput = 3
  29. adParamOutput = 2
  30. adParamReturnValue = 4
  31. adParamUnknown = 0
  32. # ObjectStateEnum
  33. adStateClosed = 0
  34. adStateOpen = 1
  35. adStateConnecting = 2
  36. adStateExecuting = 4
  37. adStateFetching = 8
  38. # FieldAttributeEnum
  39. adFldMayBeNull = 0x40
  40. # ConnectModeEnum
  41. adModeUnknown = 0
  42. adModeRead = 1
  43. adModeWrite = 2
  44. adModeReadWrite = 3
  45. adModeShareDenyRead = 4
  46. adModeShareDenyWrite = 8
  47. adModeShareExclusive = 12
  48. adModeShareDenyNone = 16
  49. adModeRecursive = 0x400000
  50. # XactAttributeEnum
  51. adXactCommitRetaining = 131072
  52. adXactAbortRetaining = 262144
  53. ado_error_TIMEOUT = -2147217871
  54. # DataTypeEnum - ADO Data types documented at:
  55. # http://msdn2.microsoft.com/en-us/library/ms675318.aspx
  56. adArray = 0x2000
  57. adEmpty = 0x0
  58. adBSTR = 0x8
  59. adBigInt = 0x14
  60. adBinary = 0x80
  61. adBoolean = 0xb
  62. adChapter = 0x88
  63. adChar = 0x81
  64. adCurrency = 0x6
  65. adDBDate = 0x85
  66. adDBTime = 0x86
  67. adDBTimeStamp = 0x87
  68. adDate = 0x7
  69. adDecimal = 0xe
  70. adDouble = 0x5
  71. adError = 0xa
  72. adFileTime = 0x40
  73. adGUID = 0x48
  74. adIDispatch = 0x9
  75. adIUnknown = 0xd
  76. adInteger = 0x3
  77. adLongVarBinary = 0xcd
  78. adLongVarChar = 0xc9
  79. adLongVarWChar = 0xcb
  80. adNumeric = 0x83
  81. adPropVariant = 0x8a
  82. adSingle = 0x4
  83. adSmallInt = 0x2
  84. adTinyInt = 0x10
  85. adUnsignedBigInt = 0x15
  86. adUnsignedInt = 0x13
  87. adUnsignedSmallInt = 0x12
  88. adUnsignedTinyInt = 0x11
  89. adUserDefined = 0x84
  90. adVarBinary = 0xCC
  91. adVarChar = 0xC8
  92. adVarNumeric = 0x8B
  93. adVarWChar = 0xCA
  94. adVariant = 0xC
  95. adWChar = 0x82
  96. adTypeNames = {
  97. adBSTR: 'adBSTR',
  98. adBigInt: 'adBigInt',
  99. adBinary: 'adBinary',
  100. adBoolean: 'adBoolean',
  101. adChapter: 'adChapter',
  102. adChar: 'adChar',
  103. adCurrency: 'adCurrency',
  104. adDBDate: 'adDBDate',
  105. adDBTime: 'adDBTime',
  106. adDBTimeStamp: 'adDBTimeStamp',
  107. adDate: 'adDate',
  108. adDecimal: 'adDecimal',
  109. adDouble: 'adDouble',
  110. adEmpty: 'adEmpty',
  111. adError: 'adError',
  112. adFileTime: 'adFileTime',
  113. adGUID: 'adGUID',
  114. adIDispatch: 'adIDispatch',
  115. adIUnknown: 'adIUnknown',
  116. adInteger: 'adInteger',
  117. adLongVarBinary: 'adLongVarBinary',
  118. adLongVarChar: 'adLongVarChar',
  119. adLongVarWChar: 'adLongVarWChar',
  120. adNumeric: 'adNumeric',
  121. adPropVariant: 'adPropVariant',
  122. adSingle: 'adSingle',
  123. adSmallInt: 'adSmallInt',
  124. adTinyInt: 'adTinyInt',
  125. adUnsignedBigInt: 'adUnsignedBigInt',
  126. adUnsignedInt: 'adUnsignedInt',
  127. adUnsignedSmallInt: 'adUnsignedSmallInt',
  128. adUnsignedTinyInt: 'adUnsignedTinyInt',
  129. adUserDefined: 'adUserDefined',
  130. adVarBinary: 'adVarBinary',
  131. adVarChar: 'adVarChar',
  132. adVarNumeric: 'adVarNumeric',
  133. adVarWChar: 'adVarWChar',
  134. adVariant: 'adVariant',
  135. adWChar: 'adWChar',
  136. }
  137. def ado_type_name(ado_type):
  138. return adTypeNames.get(ado_type, 'unknown type ('+str(ado_type)+')')
  139. # Error codes to names
  140. adoErrors= {
  141. 0xe7b :'adErrBoundToCommand',
  142. 0xe94 :'adErrCannotComplete',
  143. 0xea4 :'adErrCantChangeConnection',
  144. 0xc94 :'adErrCantChangeProvider',
  145. 0xe8c :'adErrCantConvertvalue',
  146. 0xe8d :'adErrCantCreate',
  147. 0xea3 :'adErrCatalogNotSet',
  148. 0xe8e :'adErrColumnNotOnThisRow',
  149. 0xd5d :'adErrDataConversion',
  150. 0xe89 :'adErrDataOverflow',
  151. 0xe9a :'adErrDelResOutOfScope',
  152. 0xea6 :'adErrDenyNotSupported',
  153. 0xea7 :'adErrDenyTypeNotSupported',
  154. 0xcb3 :'adErrFeatureNotAvailable',
  155. 0xea5 :'adErrFieldsUpdateFailed',
  156. 0xc93 :'adErrIllegalOperation',
  157. 0xcae :'adErrInTransaction',
  158. 0xe87 :'adErrIntegrityViolation',
  159. 0xbb9 :'adErrInvalidArgument',
  160. 0xe7d :'adErrInvalidConnection',
  161. 0xe7c :'adErrInvalidParamInfo',
  162. 0xe82 :'adErrInvalidTransaction',
  163. 0xe91 :'adErrInvalidURL',
  164. 0xcc1 :'adErrItemNotFound',
  165. 0xbcd :'adErrNoCurrentRecord',
  166. 0xe83 :'adErrNotExecuting',
  167. 0xe7e :'adErrNotReentrant',
  168. 0xe78 :'adErrObjectClosed',
  169. 0xd27 :'adErrObjectInCollection',
  170. 0xd5c :'adErrObjectNotSet',
  171. 0xe79 :'adErrObjectOpen',
  172. 0xbba :'adErrOpeningFile',
  173. 0xe80 :'adErrOperationCancelled',
  174. 0xe96 :'adErrOutOfSpace',
  175. 0xe88 :'adErrPermissionDenied',
  176. 0xe9e :'adErrPropConflicting',
  177. 0xe9b :'adErrPropInvalidColumn',
  178. 0xe9c :'adErrPropInvalidOption',
  179. 0xe9d :'adErrPropInvalidValue',
  180. 0xe9f :'adErrPropNotAllSettable',
  181. 0xea0 :'adErrPropNotSet',
  182. 0xea1 :'adErrPropNotSettable',
  183. 0xea2 :'adErrPropNotSupported',
  184. 0xbb8 :'adErrProviderFailed',
  185. 0xe7a :'adErrProviderNotFound',
  186. 0xbbb :'adErrReadFile',
  187. 0xe93 :'adErrResourceExists',
  188. 0xe92 :'adErrResourceLocked',
  189. 0xe97 :'adErrResourceOutOfScope',
  190. 0xe8a :'adErrSchemaViolation',
  191. 0xe8b :'adErrSignMismatch',
  192. 0xe81 :'adErrStillConnecting',
  193. 0xe7f :'adErrStillExecuting',
  194. 0xe90 :'adErrTreePermissionDenied',
  195. 0xe8f :'adErrURLDoesNotExist',
  196. 0xe99 :'adErrURLNamedRowDoesNotExist',
  197. 0xe98 :'adErrUnavailable',
  198. 0xe84 :'adErrUnsafeOperation',
  199. 0xe95 :'adErrVolumeNotFound',
  200. 0xbbc :'adErrWriteFile'
  201. }