c# - 访问 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 身份验证?
解决方案
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)
或者,您可以在设置过程中附加数据库。
推荐阅读
- javascript - 使用 vue (Laravel) 完成简单的任务
- python - Adding a delay in "virus"
- tls1.2 - 如何在 pfsense 中编辑文件 squid.conf 并禁用 DH 密钥交换以改用 RSA
- python - pandas 混合类型值列表:在列表末尾移动字符串
- error-handling - 传播不同错误类型的函数的结果类型的正确错误部分是什么?
- python - python中dec数字到2位十六进制的列表
- python - Ansible 错误:“此模块需要用于 rpm 的 Python 2 绑定”
- node.js - Discord.js——消息未定义
- c# - 如果邮件到达 Outlook,则启动另一个方法(Outlook 冻结) Interlop.Outlook C# WPF
- python-3.x - 为什么我的数组的元素被覆盖?