2017-07-25 110 views
-3

我創建了一個Windows窗體應用程序。我已經包含一個名爲Z.mdf的本地dabase。在app.config中,連接字符串如下所示:無法打開登錄請求的數據庫「C: PROGRAM FILES X Y Z.MDF」。登錄失敗。用戶'DESKTOP-xxxxx'登錄失敗'

<connectionStrings> 
    <add name="ZConnectionString" 
     connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Z.mdf;Integrated Security=false;Connect Timeout=30" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 

當我從Visual Studio運行應用程序時,它工作正常。但是,當我使用高級安裝程序部署應用程序時,會出現以下錯誤:

Cannot open database "C:\PROGRAM FILES\X\Y\Z.MDF" requested by the login. The login failed. Login failed for user 'DESKTOP-xxxxx''

我該如何解決此問題?

+2

你在哪裏設置身份驗證憑據?無法看到設置它的位置/內容。 –

回答

1

您的連接字符串指定Integrated Security=false;,因此登錄未使用您的Windows用戶帳戶。

您必須要麼使用Integrated Security=true或您需要在您的連接字符串指定用戶ID和口令:

<connectionStrings> 
<add name="ZConnectionString" 
    connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Z.mdf; 
    Integrated Security=false; user id=xyz; password=abc;Connect Timeout=30" 
    providerName="System.Data.SqlClient" /> 
</connectionStrings> 
相關問題