问题标签 [sql-server-ce]

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 投票
2 回答
3622 浏览

sql-server-ce - 如果 Sql Compact 允许多个连接,为什么我会收到文件共享错误?

在这里,据说 Sql Server Compact 最多允许 256 个连接。

但是当我尝试打开 2 个连接时,我收到一个文件共享错误。我该如何解决这个问题?

存在文件共享冲突。不同的进程可能正在使用该文件。[testDB.sdf]

0 投票
3 回答
16104 浏览

c# - 确定表是否存在于 SQL Server CE 中?

我知道这与这个问题类似,但我在 C# 中使用 SQL Server CE 3.5 和 WinForms 项目。如何确定表是否存在?我知道IF不支持关键字,但支持EXISTS。CE 中是否存在 information_schema 可以查询它?谢谢。

0 投票
2 回答
4174 浏览

sql-server-ce - Sql Compact 随机产生 AccessViolationException

我在多线程应用程序中运行 Sql Server Compact Edition 3.5.1.0 SP1。应用程序在事务中随机运行插入查询。通过短交易,它可以正常工作。但是当事务变得更长并且执行之间的延迟变得更短或者当我在调试模式下运行应用程序时,SqlCE 开始随机抛出以下异常:

AccessViolationException 试图读取或写入受保护的内存。这通常表明其他内存已损坏。

在 System.Data.SqlServerCe.SqlCeCommand.CompileQueryPlan() 在 System.Data.SqlServerCe.SqlCeCommand.ExecuteCommand(CommandBehavior 行为,字符串方法,ResultSetOptions 选项) 在 System.Data.SqlServerCe.SqlCeCommand.ExecuteNonQuery() 在 SqlCompactTest.TransactedCommandGroupExecutionTest.Test () 在 D:\Projects\PlayGround\SqlCompactTest\SqlCompactTest\TransactedCommandGroupExecutionTest.cs: SqlCompactTest.ExecutionTest.RunTest 的第 53 行 D:\Projects\PlayGround\SqlCompactTest\SqlCompactTest\ExecutionTest.cs: SqlCompactTest.ExecutionTest 的第 60 行D:\Projects\PlayGround\SqlCompactTest\SqlCompactTest\ExecutionTest.cs 中的 .TimerElapsed(Object sender, ElapsedEventArgs e):System.Timers.Timer.MyTimerCallback(Object state) 的第 68 行

我正在运行的代码是:

此代码在两个线程中同时运行。连接字符串是:

我在 Internet 上发现了一些荒谬的解决方案,例如恢复到 Framework 1.1、更改方法参数的顺序、启用/禁用优化等,但它们都不适合我。我还在微软网站上迭代了可能的解决方案,但我找不到适合我的解决方案。我的数据库文件版本是 3.5.0.0。

我该如何解决这个问题?

0 投票
2 回答
3030 浏览

c# - C#:异常“输入字符串的格式不正确。” 在 DataSet 中的 Row.Delete 之后

在标记要删除的行后尝试更新 DataTable 时,我遇到了一个奇怪的异常。看起来它正在验证我要删除的行中的数据。我能够成功保存同一行,为什么不让我删除它?

在 VS 2008 和 SQL Server CE 中使用 C#。

我的代码的基本部分(我希望):

例外情况是: System.FormatException 未处理 Message="@p2 : foo - 输入字符串的格式不正确。" 源="系统.数据"

我已将其简化为一个非常简单的表: Id (PK, int, not null) Name (nvarchar(100), not null) Notes (nvarchar(4000), null)

我要删除的行(第一行)中的数据是 Name = "foo",所以它是正确的行,但为什么它在删除行之前关心数据是什么?

0 投票
1 回答
6704 浏览

c# - 如何在 VS2008 和 SQL Server CE 上基于现有的 .sdf 文件创建空本地数据库

我想使用 Visual Studio 2008 IDE 为 SQL Server Compact 3.5 数据库编辑我的本地数据库架构。但是,文档和 UI 中的所有内容似乎都假设应用程序/程序集只想使用单个数据库,并且从不希望基于现有模式创建新数据库。

我希望能够使用可视化工具编辑数据库架构,然后拥有一种基于编辑后的架构创建新数据库文件的机制。这样,我的应用程序创建的每个文档都将存储在它们自己单独的数据库文件 (.sdf) 中。此外,出于单元测试的目的,我希望能够创建空的临时 .sdf 文件,以便在空数据库上运行我的单元测试。

我知道如何使用现有模式创建新的空数据库的唯一方法就是将我的主 .sdf 文件复制到一个新文件中。

使用 C# 代码创建新的 .sdf 文件的推荐方法是什么?即,如何实现 MyModel.Create("foo.sdf") 以便它使用我在 Visual Studio 中创建的架构创建 .sdf 文件。

编辑:经过长时间的调查,我最终完全放弃了 VS2008 本地数据库 .sdf 编辑器,并开始使用 LINQ-to-SQL 创建新的 .sdf 文件。我现在只指定一堆 C# 类,注释它们以使用 LINQ-to-SQL 并通过调用我的 DataContext 的 CreateDatabase 方法创建新的数据库文件。MSDN 上有一个很好的文档:How to: Dynamicly Create a Database (LINQ to SQL)

0 投票
3 回答
1738 浏览

.net - 有什么理由使用带有 SQL Server CE 的本地数据库的数据集?

即使在使用本地进程内数据库进行应用程序数据持久性的应用程序中使用 .NET 数据集是否有意义?

如果 DataSet 主要用于数据库结果的内存缓存,那么在使用与应用程序在同一进程中运行的 SQL Server Compact 本地数据库之类的东西时,它们听起来并不是那么有用。

使用类型化数据集还有其他原因吗?比如说,他们是否简化了 WPF 数据绑定?

0 投票
5 回答
6427 浏览

sql-server - 您如何使用 SQL Server CE 和 SQL Server 2008 Express?

我已经安装了:

  • Visual C# 2008 速成版
  • 视觉 Web 开发者 2008 速成版
  • 视觉工作室 2008
  • SQL Server 2008 速成版
  • SQL Server 管理工作室

在 Visual C# 2008 Express 中,我可以“添加项目”并创建“本地数据库”(.sdf 文件)或“基于服务的数据库”(.mdf 文件)。

Visual Studio 2008 与用于应用程序的 Visual C# 2008 相同,但在网站中,我可以创建 .sdf 或 .mdf 文件的唯一方法是通过数据库资源管理器。

然而,在 Visual Web Developer 2008 Express 中,我可以“添加项目”并且只创建一个“SQL Server 数据库”(.mdf 文件)。甚至 Database Explorer 也不提供创建 SQL CE 数据库的功能。

问题:

  • 为什么应用程序之间存在差异,这是正常现象还是我的安装出了问题?
  • 我从来没有“安装过 SQL CE”,它是从哪里来的,我是如何创建 .sdf 文件的?
  • 您如何在日常项目中使用这些,您是使用 Visual Studio 编辑数据库还是使用 SQL Server Management Studio?
0 投票
4 回答
7622 浏览

sql - 如何在 SQL Server Compact Edition 中进行此查询?

此子查询适用于 SQL Server:

如何在 SQL Compact 中制作它?

谢谢!

0 投票
3 回答
14819 浏览

c# - 将 Access 数据导入 SQL Server CE(.mdb 到 .sdf)

我发现了一些关于如何将数据从 Access 导入 SQL Server 或 SQL Server Express,而不是 SQL Server CE 的文章和讨论。我可以通过单独的连接访问 VS 数据库资源管理器中的 Access 数据和 CE 数据,但不知道如何将数据从一个移动到另一个。(我正在使用 c#。)有什么建议吗?谢谢。

0 投票
1 回答
2303 浏览

sql-server - Microsoft 同步服务 - 适合我的解决方案吗?

我们将商店的销售交易上传到总部服务器。目前,我们使用 DTS(SQL Server 数据转换服务),但我们计划将其替换为适用于 ADO.NET 的 Microsoft Sync 服务,因为这似乎是 Microsoft 对此类设置的首选解决方案,我们希望遵循标准(有望长期存在)。以下是我们设置的详细信息以及我们的计划。我正在寻找一些建议,尤其是关于 Sync Services 是否适合我们的解决方案。

情况

每家商店都有一个第 3 方 EPOS 系统,它将销售额存储在我们可以访问的 Microsoft Access 2000 数据库中。我们的总部数据库是SQL Server 2005,但将升级到2008。总部不在与所有商店的VPN上,但我们可以打开我们的防火墙到商店的IP地址,这样他们就可以直接向SQL发送数据服务器。这些商店总是通过 ADSL 连接到互联网,尽管它们确实失去了连接,我们不想丢失销售数据。我们只是从商店上传交易——不需要下载定义。

当前解决方案

我们编写了一个在商店 PC 上运行的 Windows 服务。该服务从服务器下载一个 DTS 包(其中包含上传的所有详细信息)并在商店中运行它——这会将销售上传到我们的服务器。我们选择了 DTS,因为安装 MSDE 时它是免费的。我们不能使用 SSIS,因为这需要每个商店都有 SQL Server 许可证。我们选择 DTS 的另一个原因是上传的详细信息(即要包含哪些表和字段)存储在我们的总部服务器上,因此如果我们需要更改内容,我们可以集中完成,而无需安装任何新内容商店。这不是一个炫耀,但在我们的新解决方案中拥有这种能力会很好。

潜在的解决方案 - 适用于 ADO.NET 的 Microsoft Sync 服务

我们目前正在使用 Microsoft Sync 服务为 ADO.NET 构建概念验证。这个想法是将 SQL CE (SQL Server Compact 3.5) 放在每个商店(客户端)中,并将其同步到总部 SQL Server 2005 数据库(服务器)。我们将通过 (1) 将数据与 Access 2000 数据库同步或 (2) 让 EPOS 系统开发人员将销售额直接写入 SQL CE 数据库——可能是 (2) 将数据输入 SQL CE 数据库。但我们主要关心的是从商店获取数据到总部服务器。这种方法似乎是微软对偶尔连接系统的首选解决方案,这也是我们认真看待同步服务的原因。我希望使用它意味着上传销售所需的大部分工作将内置到同步服务中,我们不必重新发明轮子。

潜在的解决方案 - 上传到自定义 Web 服务

也可以将销售交易上传到我们总部服务器上的自定义 Web 服务,然后上传到我们的 SQL Server 数据库。这意味着我们必须建立自己的机制来确定哪些行是新的,以及在系统断开连接时进行缓存。此外,我们可能会错过同步服务中内置的其他功能。

如果您有任何有用的建议,请告诉我,尤其是:“同步服务是正确的解决方案吗!”。我们试图解决的问题似乎非常普遍(从商店上传销售)——我想用一个通用的解决方案来解决它。