2014-04-21 9 views
2

것은 내가 C#을 사용하여 쿼리를 실행하려고, 난OLE DB 공급자가 ConnectionString에 지정되지 않았습니다. '공급자 = SQLOLEDB;

는 OLE DB 공급자가 ConnectionString을에 지정하지 않은 다음 문제를 얻고있다. 예를 들어 'Provider = SQLOLEDB;

내 코드

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"/> 

어떤 제안을?

+0

'Test.UDL'을 만들고 해당 파일에서 유효한 연결 문자열을 가져옵니다. – Hassan

답변

4

한번에 연결 문자열이 추가,

Provider=SQLNCLI10.1 

그래서이 될 것이다;

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

감사합니다 :) – Noora

+0

SQLNCLI10.1은 [this] (http://stackoverflow.com/a/1499065/521554) 링크에 따라 SqlServer2008 및 SQLNCLI11에 대한 SqlServer2012입니다. – LosManos