Microsoft Knowledge Base Article
This article contents is Microsoft Copyrighted material.
©2005-©2007 Microsoft Corporation. All rights reserved.
Terms
of Use |
Trademarks
Article ID: 310374 - Last Review: March 9, 2006 - Revision: 3.2
Error message when you try to use the OleDbConnection.Open method: "The .Net Data OLE DB Provider(System.Data.Oledb) does not support the MSDASQL Provider, Microsoft OLE DB Provider for ODBC Drivers."
This article was previously published under Q310374
This article refers to the following Microsoft .NET
Framework Class Library namespace:
On This Page
SYMPTOMS
The
OleDbConnection class specifically prohibits you from using MSDASQL or data
source names (DSNs) when you connect to your data sources in ADO.NET. If you
try to use MSDASQL or DSNs, you receive the following error message:
An unhandled exception of type
'System.NotSupportedException' occurred in systemldata.dll. Additional
information: The .Net Data OLE DB Provider(System.Data.Oledb) does not support
the MSDASQL Provider, Microsoft OLE DB Provider for ODBC Drivers.
RESOLUTION
To resolve this problem, use an OLE DB Provider rather than
an ODBC driver. Alternately, download, reference, and use the ODBC Managed
Provider.
STATUS
This behavior is by design.
MORE INFORMATION
The ODBC .NET Data Provider is an add-on component to the
Microsoft .NET Framework Software Development Kit (SDK). The ODBC .NET Data
Provider provides access to native ODBC drivers in the same way that the OLE DB
.NET Data Provider provides access to native OLE DB providers.
The
ODBC .NET Data Provider should work with most ODBC drivers. However, only the
following drivers have been tested with and are known to be compatible with the
ODBC .NET Data Provider:
- Microsoft SQL ODBC Driver
- Microsoft ODBC Driver for Oracle
- Microsoft Jet ODBC Driver
The ODBC .NET Data Provider also requires that you install
Microsoft Data Access Components (MDAC) version 2.6 or later on the computer
where the Web release will be downloaded. You can download the latest version
of MDAC from the following Microsoft Web site:
Steps to Reproduce the Behavior
- Start Microsoft Visual Studio .NET.
- Create a new Visual Basic .NET Windows Application project.
Form1 is added to the project by default.
- Add a Button control to Form1.
- Switch to Code view.
- At the top of the Code window, add the following code:
Imports System.Data.Oledb
- Add the following code to the click event handler.
Note You must change User ID <username>
and password =<strong password> to the correct values before you run this
code. Make sure that User ID has the appropriate permissions to perform this
operation on the database.
Dim myConnString As String = _
"Provider=MSDASQL;Data Source=Witster;User Id=<username>;Password=<strong password>;" & _
"Initial Catalog=Northwind;"
Dim myConnection As New OleDbConnection(myConnString)
myConnection.Open()
MessageBox.Show("ServerVersion: " + myConnection.ServerVersion + ControlChars.Cr + _
"DataSource: " + myConnection.DataSource.ToString())
myConnection.Close()
- Press the F5 key to compile and run the application. You
receive the above-mentioned error message.
- To resolve this problem, change the provider to
SQLOLEDB.
REFERENCES
You can download the ODBC Provider from the following
Microsoft Web site:
For additional
information ODBC .NET Data Provider, click the article number below to view the
article in the Microsoft Knowledge Base:
310985Â
(http://kbalertz.com/Feedback.aspx?kbNumber=310985/EN-US/
)
HOW TO: Use the ODBC .NET Managed Provider in Visual Basic .NET and Connection Strings
APPLIES TO
- Microsoft ADO.NET (included with the .NET Framework)
- Microsoft ADO.NET 2.0
| kbprb kbsystemdata KB310374 |
Retired KB Content DisclaimerThis article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
Community Feedback System
Very often, it takes hours to solve a problem. Very often, you've looked high
and low, and have tried a lot of solutions. When you finally found it, chances
are, it was because someone else helped you. Here's your chance to give back.
Use our community feedback tool to let others know what worked for you and what
didn't.
Please also understand that the community feedback system is not warranted to be
correct, it's simply a system that we've built to let people try and help each
other. If something in a feedback response doesn't make sense to you, or you're
not comfortable making changes that the feedback talks about (like registry
edits), please consult a professional.
Thank you for using kbAlertz.com Feedback System.
-- Scott Cate
(Optional) Name
(Optional)
Public URL Or Email
Comments
No
HTML -- Text Only Please