问题标签 [sql-server-ce-4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
1734 浏览

asp.net-mvc - 为什么即使模型没有更改,EF4 仍试图重新创建我的数据库?

我有一个使用 SQL Server CE 4.0 的 ASP.NET MVC 3 Beta 网站。使用ScottGu 的 NerdDinner 示例和我自己的代码,我有时会在尝试访问数据库时立即收到以下异常:

我无法弄清楚为什么这有时适用于现有的 .dbf 文件,而有时它会抱怨。我什至尝试过明确设置默认行为

有没有其他人经历过这个?

  • 重新启动卡西尼似乎没有什么不同。
  • 收到此错误后在 IE 中点击刷新将使完全相同的页面正确加载
0 投票
1 回答
4860 浏览

linq-to-sql - 为什么我的 DataContext 不使用 SQL Server Compact Edition 4,而不是尝试使用 3.5?

我正在使用SQL Server Compact Edition 4 CTP1,因为我想将它用作低流量 Web 应用程序的数据存储。当我尝试DataContext使用指定的连接字符串创建一个System.Data.SqlServerCe.4.0(以使用 LINQ To SQL)时,我收到以下错误消息:

那么为什么我的代码不使用 SQL CE 版本 4?

背景故事:我正在使用 Visual Web Developer Express 2010 进行开发,但我下载了 WebMatrix beta 并使用它的设计器创建了一个.sdf包含一些测试数据的 SQL CE 4 文件。

使用这些SqlCeConnection/SqlCeCommand/SqlCeDataReader类,我成功地创建了一个基本的 MVC 应用程序,它检索测试数据并显示它。SQL CE 4 二进制文件被复制到应用程序的bin文件夹中。在我的控制器中:

中的连接字符串Web.config如下:

这工作得很好,所以我知道连接字符串是正确的,并且我已经正确设置了二进制文件等。所以我想我会尝试一些 LINQ To SQL 的东西,这就是我想要构建真正的应用程序的方式:

然后在控制器中(dbRepository控制器构造函数中构造):

但是当我使用此代码查看页面时,出现上述错误:

如何强制我的应用使用正确的版本?任何人都可以帮忙吗?

0 投票
1 回答
1413 浏览

sql-server-ce - 在 SQL Server CE 4 中使用 GetUTCDate

考虑一个带有不可为空列的 SQL Server CE 4 表:FooDate. 目标是将当前的 UTC 日期时间作为默认值。

SQL Server Compact 无法识别该函数。函数 GetUTCDate 的名称。

该函数GetDate()按预期工作,作为datetimeSQL Server Compact 4 中的列的默认值。

GetUTCDate()SQL Server CE 4 完全支持吗?

替代文字

0 投票
1 回答
4259 浏览

.net - SqlCE 4.0 在 Visual Studio 2010 中有它自己的连接提供程序吗?

我正在尝试创建一个新的SqlCE 4.0 sdf 数据库,但我不确定我需要使用哪个连接提供程序?

我单独从微软下载了CE4.0。...那么我们应该使用新的提供程序吗?还是我们使用 3.5 提供程序?

0 投票
2 回答
28900 浏览

visual-studio-2010 - 如何将我的 Sql Server CE 3.5 sdf 数据库升级到 Sql Server CE 4.0?

我需要将我的 SqlCE3.5 数据库更新到 4.0。

当我尝试使用新的 CE4.0 连接提供访问我的 3.5 sdf/数据库时收到以下错误消息:-

System.Data.EntityException:基础提供程序在打开时失败。---> System.Data.SqlServerCe.SqlCeInvalidDatabaseFormatException:数据库文件已由 SQL Server Compact 的早​​期版本创建。请使用 SqlCeEngine.Upgrade() 方法进行升级

有谁知道我该怎么做?显然我需要以编程方式进行,但我不确定我应该做什么/我需要添加哪些引用等。

干杯!

0 投票
6 回答
22356 浏览

asp.net-mvc-3 - 在带有 MVC 3 的远程主机上使用 SQL Server CE 4

我刚刚将我的主机升级到 MVC 3,但我正在尝试使用 SQLCE 4.0 做一个“hello world”,但我刚刚得到:

抱歉,处理您的请求时出现了一个错误。

我看到了我的布局和所有内容,但我看到的不是数据。

在本地主机上按预期工作

我有:

作为连接字符串。

我将sdf作为项目的一部分,我将System.Data.SqlServerCE.dll添加到项目中,本地副本为true。

我没有更多的想法了。connString,dll 位于 /bin 并在 localhost 中工作。

有任何想法吗?

谢谢。

编辑

我现在有一些日志:

没有 /bin 上的“System.Data.SqlServerCE.dll”:

找不到请求的 .Net Framework 数据提供程序。它可能没有安装。

System.ArgumentException:找不到请求的 .Net Framework 数据提供程序。它可能没有安装。

够好。他们没有 SqlServerCE4。

使用本地副本上的 Dll,AKA /bin:

无法加载与版本 8482 的 ADO.NET 提供程序对应的 SQL Server Compact 的本机组件。安装正确版本的 SQL Server Compact。有关详细信息,请参阅知识库文章 974247。

异常详细信息:System.Data.SqlServerCe.SqlCeException:无法加载与版本 8482 的 ADO.NET 提供程序对应的 SQL Server Compact 的本机组件。安装正确版本的 SQL Server Compact。有关详细信息,请参阅知识库文章 974247。

KB 说我需要 x86 和 amd64 的 dll。我在某处读到,如果我将两个目录复制到 /bin,例如: /bin/x86 和 /bin/amd64 。我从 SqlServerCE 4 安装文件夹的私有文件夹中复制了这些文件夹。现在我得到了:

在 ADO.NET 提供程序和 SQL Server Compact 的本机二进制文件之间检测到可能的文件版本不匹配,这可能导致功能不正确。这可能是由于存在不同版本的 SQL Server Compact 的多个实例,或者由于与 SQL Server Compact 二进制文件同名的错误二进制文件。请安装匹配版本的 SQL Server Compact 二进制文件。

好的。在 SQLServerCE4 的根文件夹中,我也有一些 dll,因此我删除了这两个文件夹并将该 dll 复制到 /bin:

无法加载文件或程序集 'file:///C:\HostingSpaces\jesusrod\foxandxss.net\wwwroot\mvc3\bin\sqlceca40.dll' 或其依赖项之一。该模块应包含程序集清单。

我想我尝试了所有的事情。Scottgu 说 SqlServerCE 4 应该可以在任何服务器上运行而无需安装。

0 投票
1 回答
625 浏览

.net - 尝试使用 EF CTP5 和 SqlServerCE4.0 == 进行简单事务失败。为什么?

当我对 SqlServer CE 4.0 和 TransactionScope 使用它时,我有一些代码会引发异常。首先是代码,然后是错误。

异常错误是:-

System.Data.EntityException:基础提供程序在打开时失败。---> System.InvalidOperationException:无法将连接对象纳入事务范围。

所以第一次保存/提交工作正常,但是当我尝试再次检索对象(查看数据是否保留在事务中)时,就会发生错误。

现在我确定这是一个单一事务而不是分布式事务......所以我假设这应该可以工作?

建议,好心人?

0 投票
2 回答
2082 浏览

asp.net-membership - 用于 ASP.Net MVC 3 项目的 sql server 紧凑型数据库的 ASP.Net 成员资格

当我们在 WebMatrix 中启动 ASP.Net MVC 3 Starter Site Project 时。

我们在 SDF (SQL Compact) db 中预装了 asp.net 成员表。

现在,如果我们想在新的 SQL CE 4.0 DB 中创建它们,过程是什么?

我不想使用入门网站。

0 投票
2 回答
11634 浏览

asp-classic - Ado 连接到 SQL Server Compact Edition 4.0

我想从旧的 asp-classic 站点连接到 SQL Server Compact Edition 4.0,但我总是收到错误消息:

"Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified. "

我试过了

更新:错误:多步 OLE DB 操作生成错误。检查每个 OLE DB 状态值(如果可用)。没有工作

没有任何成功。

通常是否可以从 ADO 连接到 SQL Server CE 4.0?

更新:示例代码打开连接:

0 投票
1 回答
1619 浏览

entity-framework - 将 EF CTP5 与 Sql Server Compact Edition 4.0 一起使用时的 EntityFunctions.TruncateTime 替代方案

我在 Sql CE 4.0 中使用 EF CTP5 代码优先。我正在尝试在两个 DateTime 属性之间执行时间不敏感的日期比较。

由于 linq to entites 无法解析 DateTime.Date 属性(这会很好),因此解决方案是使用 EntityFunctions.TruncateTime,但这似乎不适用于 Sql CE 4.0。

我可以手动比较两个日期的年、月和日,这可行,但会使代码比应有的冗长得多。理想情况下,我不想更改我的查询以使用长手版本以使它们与完整的 sql server 和 sql ce 4.0 一起使用。

因此,有人对此有任何干净而聪明的解决方案吗?我认为解决方案可能涉及表达式重写,但我不太确定从哪里开始。

任何帮助是极大的赞赏,

保罗