我正在研究需要存储数据的Winforms桌面应用程序。我做出了一个非常糟糕的决定来尝试嵌入数据库。我试过了:

  • sqlite
  • Vistadb
  • SQL Server Compact

在每种情况下,我都能够通过我创建的基本架构生成实体框架模型。我有一个事件,该事件添加了我一直在用于测试这些数据库的数据。

好吧,我一直使用EF添加新记录,并发现它实际上并未插入记录。在调试中,我检查了上下文对象以查看发生了什么。事实证明,这是在说“基础提供商未能打开”,或者是为此效果的。它并没有引发例外,只是没有插入唱片。

所有3个嵌入式数据库都发生了同样的事情 - 促使我通过我的密集的头部将其弄清楚,我的配置必须出现问题。

好吧,我尝试使用SQLConnection和SQLCommand编写一些基本的SQL。这次会引发异常。在SQL Server紧凑型情况下,它现在说:

在建立与SQL Server的连接时发生了与网络有关的或特定实例的错误。服务器未找到或无法访问。验证实例名称是正确的,并且配置了SQL Server以允许远程连接。 (提供商:SQL网络接口,错误:26-指定的服务器/实例错误)

我认为也许一个问题是app.config的路径。因此,我将连接字符串更改为:

请注意,我将路径简化了可能具有空间并避免使用的数据目录胡说八道时,该路径在调试目录与数据目录的预配置值不匹配时会导致问题。我正在运行Windows 7;我认为也许这可能是一个访问问题 - 因此,我尝试在管理员模式下运行与2010年。没运气。我还安装了SQL Server紧凑型SP2,认为这可能是一个错误。没运气。

无论如何,我准备把头发拉出。我对此事情处于紧迫的截止日期,并且没想到会花一天的时间试图弄清楚发生了什么。

有帮助吗?

解决方案

使用sqlceconnection

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top