无法从客户端计算机连接到Windows应用程序中的.mdf数据库文件

时间:2017-07-18 21:59:16

标签: c# .net windows localdb

我正在创建一个Windows应用程序来维护学生信息。我使用的是LocalDB数据库,我确实拥有<DBName>.MDF<DBName>_Log.LDF的副本。由于Visual Studio和MSSQLLocalDB已经安装在我的笔记本电脑中,我可以连接到数据库,应用程序运行正常。

我刚刚在客户端计算机中复制了构建文件和DB文件,并尝试打开W​​indows应用程序。但是当应用程序尝试访问数据库时,应用程序返回错误:

  

提供的基础未能打开&#34;。
  内在期望:服务器无法访问或不可用

我非常确定我的客户端计算机没有安装任何SQL客户端工具,因此很可能无法连接.MDF数据库文件。

现在我的问题是:

  1. 是否真的可以在客户端计算机上从Windows应用程序连接到.mdf数据库文件而无需安装任何大工具?由于我的客户不想在他们的系统上安装任何大工具

  2. 如果我的第一个问题答案是肯定的,我们如何才能做到这一点?我的代码或配置文件中需要进行哪些更改?

  3. 如果这需要在客户端应用程序中安装任何小工具,它们是什么?

  4. 如果.MDF数据库文件根本无法在客户端计算机上运行,​​还有其他选择吗?请建议。

  5. 我的连接字符串:

    <connectionStrings>
        <add name="SchoolDBEntities" 
             connectionString="metadata=res://*/DBModel.csdl|res://*/DBModel.ssdl|res://*/DBModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(LocalDB)\MSSQLLocalDB;attachdbfilename=|DataDirectory|\SchoolDB.mdf;integrated security=True;connect timeout=30;MultipleActiveResultSets=True;App=EntityFramework&quot;" 
             providerName="System.Data.EntityClient" />
    </connectionStrings>
    

1 个答案:

答案 0 :(得分:0)

@Chetan Ranpariya几乎是正确的。如果您使用的是MS SQL Server(任何版本),则必须在mdf / ldf文件所在的计算机上安装SQL Server,或者至少在SQL Server程序可以访问它们的位置。

如果我正确地阅读了您的问题,您的笔记本电脑上安装了MSSQL,这就是它在那里工作的原因。您没有在客户端的计算机或网络上安装MSSQL,因此您对数据库的调用失败。

至于还有什么用,这个问题太宽泛了。这取决于很多因素。

约翰