2017-07-25 104 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> 
相关问题