问题标签 [compact-database]

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 投票
1 回答
269 浏览

ms-access - vb.net中的紧凑ms访问数据库,没有数据库副本

我在网上搜索了这个主题,发现如果要压缩一个ms access数据库,那么我应该给数据库本身和一个新的路径。

为什么这是必要的?如果我签入 ms 访问,它应该在关闭后压缩数据库,它不会创建压缩数据库并删除旧数据库,但它只压缩一个数据库。还是太快了,我看不到?

0 投票
2 回答
942 浏览

c# - 为什么 AbortTransaction 不起作用?

我正在使用 npoco,试图处理事务,我无法获得AbortTransaction回滚数据库中任何内容的方法。

从测试类调用:

------------- 建议答案后编辑:

现在我必须使用 db.Transaction.Commit() 在数据库中插入一些东西。然后,当尝试运行 db.AbortTransaction() 时,我收到错误消息:

“此 SqlCeTransaction 已完成;它不再可用。”

0 投票
1 回答
1568 浏览

mongodb - Mongodb的compact实际上是做什么的?

好吧,也许这应该从文档中清楚地看到,可悲的是,事实并非如此。我的猜测是,该紧凑型对集合进行了某种碎片整理 - 这样集合的填充因子将低于给定值。然而,这似乎不是真的:

如果这不是改变集合填充因子的方法,还有其他方法吗?

0 投票
1 回答
771 浏览

mysql - 此操作系统不支持指定的语言环境。[LCID = -1]

这是我在这里的第一篇文章,很抱歉我犯的任何错误。

当我尝试使用名为Edusal的程序打开一个紧凑型数据库时出现此错误,我也尝试使用SDF 查看器打开它,但他们给了我同样的错误,有人可以帮助我吗?

此操作系统不支持指定的语言环境。[LCID = -1]

0 投票
0 回答
100 浏览

sql-server - 生成 SQL Server Compact 3.5 到 SQL 脚本?

我需要将 SQL Server Compact 数据库文件转换为 SQL Server,所以我认为生成脚本是最好的方法,但我在 SQL Server CE Toolbox 3.5 中找不到任何东西

有解决方法吗?

0 投票
1 回答
608 浏览

c# - 使用同步框架将数据从多个 sql compact 数据库合并到中央 sql server 数据库的解决方案

我目前正在开发一个使用 SQL Server Compact 3.5 数据库的平板电脑应用程序。需要在平板电脑之间同步数据。经过一些研究(即thisthis),我和我的团队决定拥有一个由 SQL Server 2008 R2 托管的中央数据库。

在实现了这个例子之后,这种方法有几个缺点:

  • 我想同步整个数据库,而不仅仅是表的一个子集。这将需要向缺少主键的表添加主键,更不用说将每个表添加到同步范围。

  • 根据同步方向,服务器数据库(由 SQL Server 2008 R2 托管)或客户端数据库(SQL Server Compact 3.5)具有优先权,这意味着一个数据库的数据可能会覆盖另一个数据库的数据。

我相信更改跟踪可能很有用,并且希望在适用的情况下利用这种方法为以下场景找到解决方案:

服务器和三张表目前在db中同一个数据库同步。

这三个平板电脑离线以执行他们的操作。

平板电脑 1 增加了以下内容:

平板电脑 2 添加了以下内容(假设在平板电脑 1 之后):

平板电脑 3 增加了以下内容(假设平板电脑 2 之后):

然后,平板电脑以任何顺序重新在线连接以进行同步。说完同步,服务端db和客户端dbs应该有以下数据:

从 DBA 的角度来看,存在合并复制,但我在 db 服务器上没有任何系统管理员权限(或在 pc 本身上的管理权限,以便给自己在 sql server 中的系统管理员权限)。因此,如果可能,我想避免这条路线,并坚持使用同步框架(或更好)编写解决方案。

在实施上述示例后,我是否走上了正确的轨道,最终找到了适合我的场景的解决方案,还是我需要做其他事情?

0 投票
1 回答
42 浏览

c# - 数据输入前关闭数据库连接

我正在使用带有 Microsoft Server Compact 3.5 的 Visual Studio 2008,并且该脚本是为 Windows Mobile 6.5.3 Professional 编写的。

我有一个连接数据库文件的小表单脚本,在将数据输入到表单后,当您选择按钮时,数据应该更新或将输入数据写入数据库。

在我的脚本中的某个地方,我在将数据放入数据库之前关闭了连接。

连接数据库说连接成功!当我运行脚本生成器时,我没有收到任何错误。windows mobile 模拟器上的消息是:“ExecuteNonQuery 需要一个打开且可用的连接。连接的当前状态是关闭。”

如您所见,我是 Visual Studio 的新手。

这是表单脚本:

}

0 投票
1 回答
523 浏览

c# - 如何创建 MySQL 紧凑型数据库?

我想像SQL Compact Edition一样使用 MySQL !换句话说,我想通过MySQL csharp 驱动程序从Connector/Netcompact database file创建一个本地数据库 ( ) 。

在我的项目中,我们首先需要在 GAC中安装MySql.Data.dllData Source ,我的文件路径如下:D:\MyDatabase\database.myd

现在我的代码必须是这样的:

我可以做吗 ?

0 投票
2 回答
513 浏览

c# - 使用 sdf 数据库(SQL Server Compact 3.5 数据库文件),无需安装 Microsoft sql server C#

我想在我的 C# 程序中使用数据库,但我不希望其他想要使用我的程序的用户必须安装超过 2 GB 的大容量软件,例如 Microsoft SQL Server。那么,我可以.sdf在没有 Microsoft SQL Server 的情况下使用数据库(SQL Server Compact 3.5)吗?

当我将我发布的软件提供给任何使用普通 Windows 7 操作系统(很可能没有安装 Microsoft sql server)的人时,他应该能够在没有任何要求的情况下使用我的软件。我的程序非常简单,但涉及将数据保存在数据库中。

我不希望用户被迫安装 Microsoft SQL 服务器!

0 投票
2 回答
726 浏览

pouchdb - PouchDB 压缩对磁盘上的数据库大小没有影响

我使用 couchdb/pouchdb 将数据从服务器复制到移动设备(数据仅在下游复制到移动设备)。

由于我的数据集很大(大约 100,000 个文档),我尝试使用 pouchdb 中的紧凑功能来确保磁盘上的数据库大小保持较小并且不会增长到无法管理的大小。

然而,我的测试表明手动压缩数据库对使用的磁盘空间没有影响。在我的测试中,我使用 Chrome 将 100,000 个文档从我的 couchdb 复制到 pouchdb。

查看“ C:\Users[USERNAME]\AppData\Local\Google\Chrome\User Data\Default\databases[SERVER_URL] ”目录,我相信 Chrome 也会保存数据库,即复制数据库后生成的文件大约是 71MB。

然后,我通过简单地增加每个文档的值来更新 couchdb 中的 20,000 个文档。我随后将这些更改复制到我在 Chrome 中的 pouchdb。这导致数据库增长到 81MB。在此之后手动压缩数据库不会影响磁盘上 pouchdb 的大小。我已经执行了几次这样的操作序列,并且从未见过 Chrome 创建的 pouchdb 文件的大小减小。

测试总结

  1. 用 100,000 个文档填充 couchdb
  2. 使用 Chome 将 couchdb 复制到 pouchdb。结果在 71MB 的数据库中。
  3. 更新 couchdb 中的 20,000 个文档。复制到 pouchdb。结果在 81MB 的数据库中。
  4. 手动压缩 pouchdb。文件大小没有变化。
  5. 更新 couchdb 中的 20,000 个文档。复制到 pouchdb。结果在 83MB 的数据库中。
  6. 手动压缩 pouchdb。文件大小没有变化。
  7. 更新 couchdb 中的 20,000 个文档。复制到 pouchdb。结果在 84MB 的数据库中。
  8. 手动压缩 pouchdb。文件大小没有变化。

我创建了一个小示例应用程序来说明我的示例。您可以在此处找到文件(请阅读 readme.txt!)您可以使用它来重现我的测试。

我是否误解了紧凑在 pouchdb 中的作用?我假设通过删除文档的旧版本(并且只保留叶节点),我的 pouchdb 的磁盘大小将在上面的示例中保持相对相同的大小。

还是我犯了一个愚蠢的编码错误?(对我来说并不罕见!)。

提前感谢您的帮助,

安德鲁。

更新- 执行上述测试后,我决定使用袋子来检索我的一份文件。我发现 _revisions 是一个包含 4 个元素的数组。我的数据库大小不断增长的原因是因为 pouchdb 会跟踪文档的所有修订 ID 吗?如果我压缩我的数据库应该是这种情况吗?