繁体   English   中英

如何从局域网运行.mdf数据库?

[英]How to run .mdf database from LAN?

我有一个C#(.NET Framework 4.5-MVS 2015)项目,该项目具有基于服务的数据库以及本地生成的.mdf文件。 我使用的Microsoft SQL Server具有以下版本:13.0.1601.5。 在服务器PC上一切正常。 我在局域网中与.mdf文件共享应用程序,但是来自同一局域网的客户端无法打开该应用程序。 似乎与数据库的连接不好。

我的连接字符串如下所示:

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服务器的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");

SQL Server仅支持本地磁盘上的数据库文件(或比LAN多的异类链接,例如iSCSI等)。 如果您想通过本地网络共享对数据库的访问,是时候站起来拥有该文件的SQL Server实例,然后连接到该SQL Server客户端/服务器了。 停止尝试通过网络以文件形式访问它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM