【问题标题】:Can't access the DataBase (.mdf file) in my WPF application from PC's on network无法从网络上的 PC 访问我的 WPF 应用程序中的数据库(.mdf 文件)
【发布时间】:2013-02-06 10:43:33
【问题描述】:

我创建了一个连接到一些 sql 数据库表的 wpf 应用程序。 当我在我的电脑上运行此应用程序时,一切正常,但是当我尝试从本地网络上的其他电脑上运行它时,我收到一个错误:“文件(“文件名”)位于不受支持的网络路径上用于数据库文件”。

创建一个 WPF 应用程序的最佳方法是什么?该应用程序必须从本地网络上的共享公共数据库的某些电脑上运行?

【问题讨论】:

    标签: sql-server wpf


    【解决方案1】:

    您是否考虑过数据库服务器、SQL Server、MySQL 或类似的东西?如果你真的想坚持使用基于文件的数据库(出于安全原因,我不建议这样做),那么你可以使用 SQLite 之类的东西。

    【讨论】:

    • 我也在我的电脑上创建了本地数据库服务器 SQLEXPRESS,我的应用程序在我的电脑上正常访问了数据库,但是从网络上的其他电脑我又遇到了错误。如何让我的应用程序以这种方式从其他电脑访问数据库?
    • 您需要在 SQLEXPRESS 中启用其中一种网络协议,请查看此 SO 答案:stackoverflow.com/questions/2486610/…
    【解决方案2】:

    如果您启用了“命名管道”,您将只能从另一台 PC 连接到您的服务器(在本例中为您的 PC)实例。如果需要,您还可以启用 TCP\IP 等,但这可能是您收到错误的原因。

    命名管道在 MSSQL 的 Compact 或 Free 版本中不可用。

    具有适当版本的 MSSQL 的数据库服务器或 PC 是您的最佳选择。

    【讨论】:

    • 首先感谢您的回答。我使用 Microsoft SQL Server 2008 R2。我在电脑的网络上同时启用了 TCP\IP 和“命名管道”。现在我收到“会话超时”错误。有什么想法吗?
    • 错误:“超时。在操作完成之前超时时间已过或服务器没有响应”。我该怎么办?
    【解决方案3】:

    yepppp 解决了。 感谢您的回答。 我做了一些事情最终解决了我的问题: 1. 从连接字符串中删除“uid=Tomer, pwd=, and pooling=False”。 2. 在防火墙中启用端口 1433(sql 端口)。 3. 如前所述,启用 TCP/IP 和“命名管道”。

    非常感谢您的帮助。

    【讨论】:

      猜你喜欢
      • 2018-10-01
      • 1970-01-01
      • 2021-11-06
      • 2015-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多