2016-11-21 133 views
0

我試圖用我的C#代碼連接到SQL Server,但無法建立連接,它一直拋出用戶abcdef的異常登錄失敗。錯誤:用戶SQL Server的登錄失敗

當我使用相同的憑證通過SQL Server Management Studio連接到數據庫時,它工作正常,沒有任何問題。

<connectionStrings> 
    <add name="Conn" 
     connectionString="Server=xxxx\yyyy;User ID=abcdef;Password=******;Initial Catalog=mytestDB;"/> 
</connectionStrings> 

string strDBCon = ConfigurationManager.ConnectionStrings["Conn"].ToString(); 
SqlConnection sqlConnection = new SqlConnection(); 
sqlConnection.ConnectionString = strDBCon; 
sqlConnection.Open(); 
+0

是否該用戶有權限「mytestDB」分貝呢? –

+0

是的,我可以通過SSMS連接並從該數據庫進行查詢 –

+0

您是否從本地計算機運行ssms? –

回答

0

我不確定.ToString()是否給出連接字符串的正確表示。無論如何,這將是正確的:

string strDBCon = ConfigurationManager.ConnectionStrings["Conn"].ConnectionString; 
+0

@PeterDeme,這不會幫助解決我的問題,它不會改變連接字符串被創建的方式我相信。 –

+0

@mason對不起,我現在編輯它。 – PeterDeme

+0

@AjaySrikanth你可以調試strDBCon的值嗎?這是對的嗎? – PeterDeme

-1

也許你使用受信任的連接,你應該加上「Trusted_Connection = true」將連接字符串。

+0

'Trusted_Connection = True'用於** Windows身份驗證**,並且會導致[指定的任何Sql Sever憑據被忽略](http://stackoverflow.com/questions/1642483/when-using-trusted-connection-true- and-sql-server-authentication-will-this-effe) – stuartd

+0

是的,那是真的。它用於Windows身份驗證 –

0
<connectionStrings> 
<add name="NameOFConnectionString" connectionString="Data Source=Server;Initial Catalog=DatabaseName;User ID=User;Password=Pwd" 
providerName="System.Data.SqlClient" /> 

然後調用連接字符串

SqlConnection con = new SqlConnection(); 
     con.ConnectionString = ConfigurationManager.ConnectionStrings["NameOFConnectionString"].ToString(); 
相關問題