|
3#
楼主 |
发表于 2003-10-30 21:23:00
|
只看该作者
Debugging HRESULTS from OLE-DB
Some OLE-DB error messages, such as 80040e37 (Table 'x' does not exist) are fairly obvious whether using ADO or OLE-DB. Others such as 0x80040E06 (Invalid chapter) are not as clear to an ADO developer. You can use the ITest/ISpy tools that ship with the OLE-DB SDK to spy on the OLE-DB calls. ITest/ISpy are similar to ODBC Spy and you can use them for complex debugging in ADO/DB applications. This list was compiled from the Oledberr.h file, which ships with the OLE-DB SDK:
Unsigned Signed
HRESULT Hex HRESULT Description
---------- ----------- ----------------------------------------------
0x80040E00 -2147217920 Invalid accessor
0x80040E01 -2147217919 Creating another row would have exceeded the total number of active rows supported by the rowset
0x80040E02 -2147217918 Unable to write with a read-only accessor
0x80040E03 -2147217917 Given values violate the database schema
0x80040E04 -2147217916 Invalid row handle
0x80040E05 -2147217915 An object was open
0x80040E06 -2147217914 Invalid chapter
0x80040E07 -2147217913 A literal value in the command could not be converted to the correct type due to a reason other than data overflow
0x80040E08 -2147217912 Invalid binding info
0x80040E09 -2147217911 Permission denied
0x80040E0A -2147217910 Specified column does not contain bookmarks or chapters
0x80040E0B -2147217909 Some cost limits were rejected
0x80040E0C -2147217908 No command has been set for the command object
0x80040E0D -2147217907 Unable to find a query plan within the given cost limit
0x80040E0E -2147217906 Invalid bookmark
0x80040E0F -2147217905 Invalid lock mode
0x80040E10 -2147217904 No value given for one or more required parameters
0x80040E11 -2147217903 Invalid column ID
0x80040E12 -2147217902 Invalid ratio
0x80040E13 -2147217901 Invalid value
0x80040E14 -2147217900 The command contained one or more errors
0x80040E15 -2147217899 The executing command cannot be canceled
0x80040E16 -2147217898 The provider does not support the specified dialect
0x80040E17 -2147217897 A data source with the specified name already exists
0x80040E18 -2147217896 The rowset was built over a live data feed and cannot be restarted
0x80040E19 -2147217895 No key matching the described characteristics could be found within the current range
0x80040E1A -2147217894 Ownership of this tree has been given to the provider
0x80040E1B -2147217893 The provider is unable to determine identity for newly inserted rows
0x80040E1C -2147217892 No nonzero weights specified for any goals supported, so goal was rejected; current goal was not changed
0x80040E1D -2147217891 Requested conversion is not supported
0x80040E1E -2147217890 lRowsOffset would position you past either end of the rowset, regardless of the cRows value specified; cRowsObtained is 0
0x80040E1F -2147217889 Information was requested for a query, and the query was not set
0x80040E20 -2147217888 Provider called a method from IRowsetNotify in the consumer and NT
0x80040E21 -2147217887 Errors occurred
0x80040E22 -2147217886 A non-NULL controlling IUnknown was specified and the object being created does not support aggregation
0x80040E23 -2147217885 A given HROW referred to a hard- or soft- deleted row
0x80040E24 -2147217884 The rowset does not support fetching backwards
0x80040E25 -2147217883 All HROWs must be released before new ones can be obtained
0x80040E26 -2147217882 One of the specified storage flags was not supported
0x80040E27 -2147217881 The comparison operator was invalid
0x80040E28 -2147217880 The specified status flag was neither DBCOLUMNSTATUS_OK nor DBCOLUMNSTATUS_ISNULL
0x80040E29 -2147217879 The rowset cannot scroll backwards
0x80040E2A -2147217878 Invalid region handle
0x80040E2B -2147217877 The specified set of rows was not contiguous to or overlapping the rows in the specified watch region
0x80040E2C -2147217876 A transition from ALL* to MOVE* or EXTEND* was specified
0x80040E2D -2147217875 The specified region is not a proper subregion of the region identified by the given watch region handle
|
|