首页 > 解决方案 > 访问 SQL Server 2012 Express 时出现登录错误

问题描述

我开发了一个 Windows 窗体应用程序 (Visual Studio 2019) 来“管理”我叔叔的诊所。事实上,这个程序做了两件事:注册客户并有一个议程,您可以在其中安排访问(所有内容都存储在 SQL Server 表中)。

我的问题是:在他的计算机上安装我的程序后(我之前安装了 SQL Server 2012 Express 并且 PC 在 Windows 10 上运行),启动程序时总是出现登录错误。安装方法是最简单的,我给他发了安装文件。

我做了什么:在我的本地服务器中创建了数据库(使用 SSMS),它允许 SQL Server 和 Windows 身份验证。在visual studio中创建了一个安装项目来制作安装包。然后,由于我总是遇到该错误,我尝试了不同的连接字符串,但没有成功。

@"Data Source=.\SQLExpress;AttachDbFilename=C:\Program Files (x86)\Gestor\FisioGest\fisiodb.mdf; Integrated Security=SSPI"

@"Data Source=.\SQLExpress;Database=fisiodb.mdf; Integrated Security=SSPI"

@"Data Source=.\SQLExpress;Database= fisiodb.mdf; User ID=xxxxx; Password = xxxxx"

(这里的用户 ID 和密码来自 SQL Server 身份验证)。

我不知道我缺少哪些部分......我是否必须将他的服务器设置为也允许 Windows 和 SQL Server 身份验证?

标签: c#sql-serverdesktop-application

解决方案


SQL Server 不会附加数据库文件,除非您使用 AttachDbFileName 连接字符串参数告诉它。例如

Data Source=.\SQLEXPRESS;AttachDbFileName=|DataDirectory|\DatabaseFileName.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True

https://docs.microsoft.com/en-us/previous-versions/aspnet/jj653752(v=vs.110)

或者,您可以在设置过程中附加数据库


推荐阅读