1

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

  • SQLite
  • 维斯塔数据库
  • SQL Server 紧凑型

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

好吧,我一直在使用 EF 添加新记录,发现它实际上并没有插入记录。在调试中,我检查了上下文对象以查看发生了什么。事实证明,它是在说“基础提供商未能打开”或类似的意思。它没有抛出异常,只是没有插入记录。

所有 3 个嵌入式数据库都发生了同样的事情 - 提示我通过我的密集头脑得到它,我的配置一定有问题。

好吧,我尝试使用 sqlconnection 和 sqlcommand 编写一些基本的 sql。这次它抛出一个异常。在 SQL Server Compact 案例中,它现在说:

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

我认为app.Config中的路径可能有问题。所以我将连接字符串更改为:

请注意,我简化了路径,远离任何可能包含空格的内容,并避免使用数据目录的废话,当调试目录与数据目录的预配置值不匹配时会导致问题。我正在运行 Windows 7;我想这可能是一个访问问题——所以我尝试在管理员模式下运行 VS 2010。没运气。我还安装了 Sql Server Compact SP2,认为这可能是一个错误。没运气。

不管怎样,我已经准备好把我的头发拉出来了。我在这件事上的最后期限很紧,没想到会花一天时间弄清楚发生了什么。

4

1 回答 1

1

使用 SqlCeConnection

于 2010-05-31T06:04:45.163 回答