我有一个 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");
慕尼黑5688855
相关分类