2014-04-07 60 views
1

我正在嘗試將連接字符串保存到配置文件,但未提交密碼。SqlConnection獲取連接字符串時未設置密碼

這裏是我使用的代碼:

using (var con = new SqlConnection(string.Format("Data Source={0};Initial Catalog={3};User ID={1};Password={2};", 
      textBox_SqlServer.Text, textBox_Username.Text, textBox_Password.Text, comboBox_DatabaseName.Text))) 
    { 
     // test connection before continuing 
     con.Open(); 
     configs.ApplicationConfiguration.SetConnectionString(con.ConnectionString); 
    } 

一切都很好,直到con.ConnectionString,它不包括密碼。我需要做什麼所以,自然,當我去檢索它時,密碼不在那裏。

我如何獲得密碼也可以設置?

+0

代碼是好的,只是斷點和調試,看看文本是否有價值在這一點上,這主要是由於'回發', – Tarun

+0

當我打con.ConnectionString密碼甚至不在字符串了。 ..我想它是剝離出來的。 – ErocM

+0

@ErocM,它正在剝離它。看到我的答案。 –

回答

5

ConnectionString中類似於OLE DB連接字符串,但是 不相同。與OLE DB或ADO不同,如果Persist Security Info值設置爲假 (默認值),則返回的連接字符串與用戶設置的ConnectionString相同,即減去安全性 信息。除非將 Persist Security Info設置爲true,否則SQL Server的.NET Framework數據提供程序不會 持續或返回連接字符串中的密碼。

從MSDN文檔。 http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring(v=vs.110).aspx

+0

完美!我添加了「Persist Security Info = True」,它給了我我需要的東西。 TYVM! – ErocM

相關問題