【问题标题】:Can not connect to SQL Server database file无法连接到 SQL Server 数据库文件
【发布时间】:2013-08-18 21:56:39
【问题描述】:

在我的解决方案的输出目录中有一个名为Storage 的文件夹。此文件夹中有一个数据库文件Comments.sdf,没有密码。

现在我想通过以下代码连接到这个数据库:

string connectionString = @"Data Source=\Storage\Comments.sdf;Persist Security Info=False;";
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();

connection.Open(); 行抛出异常。

我只有德语错误信息:

Netzwerkbezogener oder instanzspezifischer Fehler beim Herstellen 在 SQL Server 中使用 Verbindung。 Der Server wurde nicht gefunden, oder auf ihn kann nicht zugegriffen werden。 Überprüfen Sie, ob der 实例名称richtigist und ob SQL Server Remoteverbindungen zulässt。 (提供者:SQL 网络接口,错误:25 - Verbindungszeichenfolge ungültig)

英文是这样的:

发生网络相关或特定于实例的错误,同时 建立与 SQL Server 的连接。找不到服务器或 它无法访问。验证实例名称是否正确,并且 SQL Server 允许远程连接。 (提供者:SQL 网络 接口,错误:25 - 连接字符串无效)

我的连接字符串有什么问题还是我必须在数据库文件中设置一些属性?

【问题讨论】:

  • 您确实意识到您需要运行 sql-server 才能真正连接到该文件,对吧?
  • 如果你使用的是 sql server compact,我相信这里就是这种情况,不需要运行 sql server 实例。
  • 会不会是我用sql-server 2008 r2创建了数据库文件并在VS2012中实现了解决方案?
  • @Tarec:他没有!这是一个 SQL Server Compact Edition 文件 - 这是一个独立的数据库文件,只需要几个 DLL,NO SERVER 需要安装!

标签: c# sql sql-server-ce connection-string


【解决方案1】:

您的连接字符串指定的数据库文件路径无效。只需删除第一个 /

string connectionString = @"Data Source=Storage\Comments.sdf;Persist Security Info=False;";
SqlCeConnectionconnection = new SqlCeConnection(connectionString);
connection.Open();

一定要引用 System.Data.SqlServerCe

【讨论】:

  • 不,这不能解决问题。我也试过绝对路径,还是不行
  • 我收到了同样的信息
  • 我已经更新了我的帖子,添加了对 System.Data.SqlServerCe 的引用并将您的连接更改为 SqlCeConnection
  • 好的,这解决了我的问题。但现在我得到另一个异常: System.Data.SqlServerCe.dll 中发生了“System.Data.SqlServerCe.SqlCeInvalidDatabaseFormatException”类型的第一次机会异常
  • 听起来你的客户端和文件格式的版本不匹配
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-22
  • 1970-01-01
相关资源
最近更新 更多