问题标签 [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.
asp.net-mvc - 为什么即使模型没有更改,EF4 仍试图重新创建我的数据库?
我有一个使用 SQL Server CE 4.0 的 ASP.NET MVC 3 Beta 网站。使用ScottGu 的 NerdDinner 示例和我自己的代码,我有时会在尝试访问数据库时立即收到以下异常:
我无法弄清楚为什么这有时适用于现有的 .dbf 文件,而有时它会抱怨。我什至尝试过明确设置默认行为
有没有其他人经历过这个?
- 重新启动卡西尼似乎没有什么不同。
- 收到此错误后在 IE 中点击刷新将使完全相同的页面正确加载。
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 的东西,这就是我想要构建真正的应用程序的方式:
然后在控制器中(db
在Repository
控制器构造函数中构造):
但是当我使用此代码查看页面时,出现上述错误:
如何强制我的应用使用正确的版本?任何人都可以帮忙吗?
sql-server-ce - 在 SQL Server CE 4 中使用 GetUTCDate
考虑一个带有不可为空列的 SQL Server CE 4 表:FooDate
. 目标是将当前的 UTC 日期时间作为默认值。
SQL Server Compact 无法识别该函数。函数 GetUTCDate 的名称。
该函数GetDate()
按预期工作,作为datetime
SQL Server Compact 4 中的列的默认值。
GetUTCDate()
SQL Server CE 4 完全支持吗?
.net - SqlCE 4.0 在 Visual Studio 2010 中有它自己的连接提供程序吗?
我正在尝试创建一个新的SqlCE 4.0 sdf 数据库,但我不确定我需要使用哪个连接提供程序?
我单独从微软下载了CE4.0。...那么我们应该使用新的提供程序吗?还是我们使用 3.5 提供程序?
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() 方法进行升级。
有谁知道我该怎么做?显然我需要以编程方式进行,但我不确定我应该做什么/我需要添加哪些引用等。
干杯!
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 应该可以在任何服务器上运行而无需安装。
.net - 尝试使用 EF CTP5 和 SqlServerCE4.0 == 进行简单事务失败。为什么?
当我对 SqlServer CE 4.0 和 TransactionScope 使用它时,我有一些代码会引发异常。首先是代码,然后是错误。
异常错误是:-
System.Data.EntityException:基础提供程序在打开时失败。---> System.InvalidOperationException:无法将连接对象纳入事务范围。
所以第一次保存/提交工作正常,但是当我尝试再次检索对象(查看数据是否保留在事务中)时,就会发生错误。
现在我确定这是一个单一事务而不是分布式事务......所以我假设这应该可以工作?
建议,好心人?
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 中创建它们,过程是什么?
我不想使用入门网站。
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?
更新:示例代码打开连接:
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 一起使用。
因此,有人对此有任何干净而聪明的解决方案吗?我认为解决方案可能涉及表达式重写,但我不太确定从哪里开始。
任何帮助是极大的赞赏,
保罗