An OLE DB Provider was not specified in the ConnectionString. 'Provider=SQLOLEDB;
Asked Answered
C

2

5

i trying to run query using C#, i am getting the following problem

An OLE DB Provider was not specified in the ConnectionString. An example would be, 'Provider=SQLOLEDB;

my code

string strConString = System.Configuration.ConfigurationManager.ConnectionStrings["WorkflowConnStr"].ConnectionString.ToString(); 
string sqlstr = "select * from table"        
OleDbConnection myConnection = new OleDbConnection(strConString);
try
     {myConnection.Open();}
catch (Exception err) 
     { System.Diagnostics.Debug.WriteLine(err.Message); }

OleDbCommand myCommand = new OleDbCommand(sqlstr, myConnection);
OleDbDataReader reader = myCommand.ExecuteReader();

web.config

<add name="WorkflowConnStr" connectionString="Data Source=Server;Initial Catalog=DBName;user id=usr;password=password" providerName="System.Data.OleDb.OleDbConnection"/>

any suggestion ?

Columbus answered 21/4, 2014 at 7:29 Comment(1)
Create a Test.UDL and get a valid connection string from that file.Figment
H
8

Try adding this to your connection string,

Provider=SQLNCLI10.1

So it would be;

<add name="WorkflowConnStr" connectionString="Data Source=Server;Initial Catalog=DBName;user id=usr;password=password;Provider=SQLNCLI10.1" providerName="System.Data.OleDb.OleDbConnection"/>
Hairbreadth answered 21/4, 2014 at 7:38 Comment(1)
SQLNCLI10.1 is for SqlServer2008 and SQLNCLI11 for SqlServer2012 according to this link.Grandfatherly
M
1

Use SqlConnection instead of OleDbConnection.

Mcginley answered 3/7, 2018 at 11:24 Comment(0)

© 2022 - 2025 — McMap. All rights reserved.