|
-
OLEDB Rich Error info via ADO
Hi,
I think the following is a bug in the OLEDB driver for SQL Server...
I can get ADO errors no problem, however when using SQLOLEDB, I get an empty
Err.Description from the
ADO.Error object. Below is a code snippet from MSDN
===============
'BeginDescriptionVB
Public Sub DescriptionX()
Dim Cnxn As ADODB.Connection
Dim Err As ADODB.Error
Dim strError As String
On Error GoTo ErrorHandler
' Intentionally trigger an error
Set Cnxn = New ADODB.Connection
Cnxn.Open "nothing"
Exit Sub
ErrorHandler:
' Enumerate Errors collection and display
' properties of each Error object
For Each Err In Cnxn.Errors
strError = "Error #" & Err.Number & vbCr & _
" " & Err.Description & vbCr & _
" (Source: " & Err.Source & ")" & vbCr & _
" (SQL State: " & Err.SQLState & ")" & vbCr & _
" (NativeError: " & Err.NativeError & ")" & vbCr
If Err.HelpFile = "" Then
strError = strError & " No Help file available"
Else
strError = strError & _
" (HelpFile: " & Err.HelpFile & ")" & vbCr & _
" (HelpContext: " & Err.HelpContext & ")" & _
vbCr & vbCr
End If
Debug.Print strError
Next
Resume Next
End Sub
'EndDescriptionVB
==================
When running this, I get the following in the Immediate Window:
Error #-2147467259
[Microsoft][ODBC Driver Manager] Data source name not found and no default
driver specified
(Source: Microsoft OLE DB Provider for ODBC Drivers)
(SQL State: IM002)
(NativeError: 0)
No Help file available
However, thats were it stops. If I open a connection via SQLOLEDB and call
a store procedure that doesnt exist, all I get is a -2147217900 error. The
Err.Description is empty.
*** HOWEVER if I run the same code using MSDASQL.1 (OLE DB provider for SQL),
then I get the rich error information!!! ***
Error #-2147217900
[Microsoft][ODBC SQL Server Driver][SQL Server]Could not find stored procedure
'sp_NonExistant'.
(Source: Microsoft OLE DB Provider for ODBC Drivers)
(SQL State: 37000)
(NativeError: 2812)
No Help file available
Do you know anything about this bug? Do you know if Microsoft is planning
to release a SQL 2000 SP1, or a hotfix?
ps. I have found another bug with SQL 2000, is that if you install just the
Client Side tools, they have to go on C: !
-
Re: OLEDB Rich Error info via ADO
Using SQL Server 2000, and Windows 2000 SP1:
If I use the OLE DB provider for MS SQL Server (SQLOLEDB) Provider, then
I just get an empty error description for something like calling a store
procedure that doesnt exist. However I can get it if use the OLE DB provider
for ODBC (MSDASQL):
SQLState = 37000
NativeError = 2812
Description = [Microsoft][ODBC SQL Server Driver][SQL Server]Could not find
stored procedure 'sp_Timeout_TimeoutExpiredTEMP'.
But, if I use ODBC, then it is not XML aware, and so if I try:
cmd.Properties("Output Stream") = oStreamXML
Then I get the ADO error:
"Item cannot be found in the collection corresponding to the requested name
or ordinal." (Err.Number: 3265) (actually: -2146825023)
I would love to know what can I do to have rich error information and use
Streams????
-
Re: OLEDB Rich Error info via ADO
The following article is related, but doesnt provide a workaround to the problem
described below.
http://support.microsoft.com/support.../Q235/3/40.ASP
"Jonni Faiga" <jonni@bigfoot.com> wrote:
>
>Using SQL Server 2000, and Windows 2000 SP1:
>
>If I use the OLE DB provider for MS SQL Server (SQLOLEDB) Provider, then
>I just get an empty error description for something like calling a store
>procedure that doesnt exist. However I can get it if use the OLE DB provider
>for ODBC (MSDASQL):
>SQLState = 37000
>NativeError = 2812
>Description = [Microsoft][ODBC SQL Server Driver][SQL Server]Could not find
>stored procedure 'sp_Timeout_TimeoutExpiredTEMP'.
>
>But, if I use ODBC, then it is not XML aware, and so if I try:
>cmd.Properties("Output Stream") = oStreamXML
>
>Then I get the ADO error:
>"Item cannot be found in the collection corresponding to the requested name
>or ordinal." (Err.Number: 3265) (actually: -2146825023)
>
>I would love to know what can I do to have rich error information and use
>Streams????
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
Forum Rules
|
Top DevX Stories
Easy Web Services with SQL Server 2005 HTTP Endpoints
JavaOne 2005: Java Platform Roadmap Focuses on Ease of Development, Sun Focuses on the "Free" in F.O.S.S.
Wed Yourself to UML with the Power of Associations
Microsoft to Add AJAX Capabilities to ASP.NET
IBM's Cloudscape Versus MySQL
|
Bookmarks