2013-05-19 91 views
0

我想建立與sql數據庫的連接。我想將連接字符串放在web config文件中。所以我寫的代碼在Web配置文件爲:無法從網絡配置文件調用連接字符串

<add name="DBCS" connectionString="data source=sahil-pc\\sqlexpress; database=abadakDb; Integrated Security=true " providerName="System.Data.SqlClient"/> 

現在,我要建立在asp.net的連接,所以我在CS文件寫了一個方法:

private DataSet getData(string procName, SqlParameter param) 

    { 
     string cs = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString; 

     SqlConnection conn = new SqlConnection(cs); 

     SqlDataAdapter da = new SqlDataAdapter(procName, conn); 

     da.SelectCommand.CommandType = CommandType.StoredProcedure; 

     DataSet ds = new DataSet(); 

     da.Fill(ds); 

     return ds; 

    } 

在這裏,我得到了da.Fill(ds)行中的錯誤。它說

System.InvalidOperationException: Instance failure

我檢查了互聯網上的代碼。我不知道我哪裏錯了。 如果我明確寫入函數中的連接字符串,那麼它工作正常。所以問題是在Web配置文件中的連接字符串或調用Web配置文件的東西。你能幫我解決嗎?

回答

1

在web.config更改連接字符串:

"data source=sahil-pc\sqlexpress; database=abadakDb; Integrated Security=true " providerName="System.Data.SqlClient" 
代碼

的\\解析爲\,它有完全一樣是從web.config

一樣在字符串前加一個@就可以了

+0

是的,現在可以工作了。但不能,「datasource = .;」如果它是本地的sql數據庫。 ? – user2387900

+0

是的,但對於一個命名實例(如sqlexpress),您需要指定實例數據源=。\ sqlexpress – dbugger

+0

好的。那麼我應該什麼時候放「。」。 ??如果它是一個SQL認證?? – user2387900

相關問題