[英]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.