Select the product you need help with
- Internet Explorer
- Windows Phone
- More products
PRB: 80004005 Unspecified Error When Passing Disconnected Recordset from MTS to ASP
Article ID: 237536 - View products that this article applies to.
This article was previously published under Q237536
When passing a disconnected ActiveX Date Objects (ADO) Recordset from a Component Object Model (COM) component inside a Microsoft Transaction Server (MTS) Server Package/COM+ Application to Active Server Pages (ASP), you may receive one of the following error messages:
/xxx.asp, line x
-or- (with ASP error handling)
Error Number : 13 - Source : Microsoft VBScript runtime error - Type mismatch
-or- (after multiple tries)
Microsoft VBScript runtime error '800a0007'
Out of memory: 'obj.TestRS'
/xxx.asp, line x
An error occurs because the fields in the disconnected recordset have been defined as adVariant, and ADO cannot marshal certain data types within adVariant across process boundaries (in this case, between InetInfo and MTS or COM+). ADO marshaling cannot convert data of the following types when the field type is set to adVariant:
DBTYPE_BSTR = 8,Please note that the following types are not to be used for Automation when using adVariant, as documented (search for the Topic "Type Indicators" in the Microsoft Data Access Components 2.5 SDK - OLE DB Programmer's Reference in the MSDN library at http://msdn.microsoft.com/en-us/library/ms723969(VS.85).aspx
DBTYPE_IDISPATCH = 9,
DBTYPE_VARIANT = 12,
DBTYPE_IUNKNOWN = 13,
DBTYPE_ARRAY = 0x2000,
DBTYPE_BYREF = 0x4000,
// The following values exactly match VARENUM
// in Automation but cannot be used in VARIANT.
DBTYPE_I8 = 20,
DBTYPE_UI8 = 21,
DBTYPE_GUID = 72,
DBTYPE_VECTOR = 0x1000,
DBTYPE_FILETIME = 64,
DBTYPE_RESERVED = 0x8000,
When trying to pass values of the types mentioned above, such as strings (BSTR), you must declare those field types explicitly instead of using adVariant.
Steps to Reproduce Behavior
Article ID: 237536 - Last Review: July 16, 2004 - Revision: 2.3