【问题标题】:Unable to connect to a .mdf database file in Windows application from client machine无法从客户端计算机连接到 Windows 应用程序中的 .mdf 数据库文件
【发布时间】:2017-07-18 21:59:16
【问题描述】:

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

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

标的提供未能打开”。
内心期望:服务器不可访问或不可用

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

现在我的问题是:

  1. 真的可以在不安装任何大工具的情况下从客户端计算机中的 Windows 应用程序连接到 .mdf 数据库文件吗?因为我的客户不想在他们的系统上安装任何大型工具

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

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

  4. 如果.MDF 数据库文件根本无法在客户端计算机上运行,​​是否有任何替代方案?请提出建议。

我的连接字符串:

<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>

【问题讨论】:

标签: c# .net windows localdb


【解决方案1】:

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

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

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

约翰

【讨论】:

  • @Chetan Ranpariya 感谢您的投入。我正在尝试在其中一台客户端机器上安装 SQL Server Express 并测试我是否可以建立连接。我会尽快通知你更新。
  • 感谢您的回复。如果您可以解释我可以决定可以使用哪些其他选项来连接数据库的其他因素,那将非常有帮助。如果你能举个例子,那将非常有帮助。感谢您的帮助。
  • 您需要考虑要保存的数据量——即数据库的大小;什么是可接受的性能——即数据需要以多快的速度返回给客户端/用户;有多少客户将同时访问数据;什么样的数据保护;数据加密。有人已经提到过 SQL Express。对于某些情况,您可以使用 MS Access。另请查看也是免费的 MySQL。对于非常小的数据集,您还可以考虑使用不需要特殊软件的 XML。在“数据库软件”之类的东西上进行谷歌搜索
  • @Chetan Ranpariya,我刚刚阅读了另一个关于类似问题的帖子,有人提到了 SQLLite。你可能想看看那个。
猜你喜欢
  • 2011-01-04
  • 2016-10-03
  • 1970-01-01
  • 2019-04-14
  • 2011-05-30
  • 1970-01-01
  • 2019-06-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多