我有一个 C#(.NET Framework 4.5 - MVS 2015)项目,它有一个带有本地生成的 .mdf 文件的基于服务的数据库。我使用的 Microsoft SQL Server 具有以下版本:13.0.1601.5。在服务器 PC 上一切正常。我在 LAN 中与 .mdf 文件共享该应用程序,但来自同一 LAN 的客户端无法打开该应用程序。似乎与数据库的连接不好。我的连接字符串是这样形成的:public static string attachedDbFile = "AttachDbFilename=" + currentWorkinglocation + "NCI_DB.MDF;";public SqlConnection mySqlConnection = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;" + attachedDbFile + "Integrated Security=True");请问我缺少什么?后来编辑:按照你们提供的步骤操作后:我的数据源现在是 Microsoft SQL Server(而不是 MSQL Server Db 文件)。我已将 .mdf 文件从我的服务器(在 MSQL Server Management Studio 中)附加到数据库,选中了“允许远程连接选项”,并将连接字符串更改为:public SqlConnection mySqlConnection = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;Initial Catalog=myDbName;Integrated Security=True");现在,该应用程序可以在我的本地主机(安装了 sql server 的 PC)上运行,而无需 .mdf 文件。没关系。但是,如果客户端尝试从 LAN 访问应用程序,从我的共享位置,应用程序 .exe 再次崩溃并显示以下错误消息:我错过了什么吗?解决方案: 遵循我们同事的一些指示并进一步调查问题后,解决方案是: - 安装 sql server 2017(完整版! - 不是快速版) - 安装 microsoft sql server management studio - 将 mdf 附加到数据库 - 配置帐户具有该数据库的权限 - 根据此更新连接字符串:public SqlConnection mySqlConnection = new SqlConnection(@"Data Source=ip,port(1433-default);Initial Catalog=db_name;User ID=user;Password=pwd");
1 回答
慕尼黑5688855
TA贡献1848条经验 获得超2个赞
SQL Server 仅支持本地磁盘上的数据库文件(或比 LAN 更奇特的链接,例如 iSCSI 等)。如果您想通过本地网络共享对数据库的访问,是时候建立一个拥有该文件的 SQL Server 实例,然后连接到该 SQL Server 客户端/服务器。停止尝试通过网络将其作为文件访问。
- 1 回答
- 0 关注
- 183 浏览
添加回答
举报
0/150
提交
取消