草庐IT

sqlite-wal

全部标签

objective-c - 分离 SQLite 数据库时出错 - 数据库已锁定

我有一个基于SQLite数据库的系统。每个客户端都有一个本地数据库,偶尔更新从主服务器到达,只是一个小的增量.db文件。任务是使用增量文件合并到本地数据库,两者的架构相同。对于我的数据库管理,我使用可以找到的fmdb包装器here.在主线程中,我保持与本地数据库的连接打开。增量文件在后台到达,我想在后台进行合并以避免这可能导致的任何用户界面卡住。至于合并本身,我发现的唯一选择是将增量数据库附加到本地数据库,然后插入/更新行,最后分离增量。这并不像我预期的那样顺利。代码说明:onDeltaGenerated方法在增量数据库准备好处理时在后台线程中调用(从服务器到达并保存在可读位置)。de

android - Android 设备上的 SQLite 数据库与 SQL Server 数据库之间的同步

我们正在尝试在不同Android设备上托管的SQLLite数据库与中央服务器上托管的SQLServer数据库之间进行同步。由于客户端先决条件,我们取消了Web服务的使用。还有别的办法吗?PS:我们可以在一天结束时将设备连接到可以托管Windows服务应用程序或Windows窗体应用程序以进行同步过程的服务器。谢谢 最佳答案 您如何“在一天结束时”将它们连接到服务器?通常,在这种情况下,您要做的是在设备上编写自定义应用程序,尽可能同步数据。您可以通过多种方式做到这一点。第一个是编写一个服务,它会坐下来检查它是否能够连接到Web服务器(

android - Android 设备上的 SQLite 数据库与 SQL Server 数据库之间的同步

我们正在尝试在不同Android设备上托管的SQLLite数据库与中央服务器上托管的SQLServer数据库之间进行同步。由于客户端先决条件,我们取消了Web服务的使用。还有别的办法吗?PS:我们可以在一天结束时将设备连接到可以托管Windows服务应用程序或Windows窗体应用程序以进行同步过程的服务器。谢谢 最佳答案 您如何“在一天结束时”将它们连接到服务器?通常,在这种情况下,您要做的是在设备上编写自定义应用程序,尽可能同步数据。您可以通过多种方式做到这一点。第一个是编写一个服务,它会坐下来检查它是否能够连接到Web服务器(

shell - sqlite3 shell 命令 '.backup' 和事务

我的本​​地主机(WinNT)上有sqlite数据库,想备份它。我想使用shell命令'.backup'来完成这个任务。但似乎我可以在备份过程中向数据库中插入新行。'.backup'shell命令是否在我的数据库上启动新的独占事务?我以为当我执行“.backup”shell命令时它会锁定我的数据库。 最佳答案 sqlite3备份方式不锁数据库。如果您想锁定数据库,我建议使用以下解决方法:开始交易(共享锁)通过使用任何INSERT语句,数据库获得一个保留锁。但是,此INSERT语句可以为空。备份数据库。使用ROLLBACK或COMMI

shell - sqlite3 shell 命令 '.backup' 和事务

我的本​​地主机(WinNT)上有sqlite数据库,想备份它。我想使用shell命令'.backup'来完成这个任务。但似乎我可以在备份过程中向数据库中插入新行。'.backup'shell命令是否在我的数据库上启动新的独占事务?我以为当我执行“.backup”shell命令时它会锁定我的数据库。 最佳答案 sqlite3备份方式不锁数据库。如果您想锁定数据库,我建议使用以下解决方法:开始交易(共享锁)通过使用任何INSERT语句,数据库获得一个保留锁。但是,此INSERT语句可以为空。备份数据库。使用ROLLBACK或COMMI

android - SQLite 错误代码 17

我的SQLite数据库中的一个表返回以下错误代码:sqlitereturned:errorcode=17,msg=preparedstatementabortsat32[sqlstatement]据我所知,数据已成功插入。这是我应该关心的事情吗?或者它只是一个错误的错误?基于this发布,它说:Thedatabaseschemachanged具体是什么意思?有什么建议吗? 最佳答案 尝试插入更多元素,这似乎是错误的错误,一旦您插入值,您的数据库模式就会识别并停止给出此错误错误.. 关于a

android - SQLite 错误代码 17

我的SQLite数据库中的一个表返回以下错误代码:sqlitereturned:errorcode=17,msg=preparedstatementabortsat32[sqlstatement]据我所知,数据已成功插入。这是我应该关心的事情吗?或者它只是一个错误的错误?基于this发布,它说:Thedatabaseschemachanged具体是什么意思?有什么建议吗? 最佳答案 尝试插入更多元素,这似乎是错误的错误,一旦您插入值,您的数据库模式就会识别并停止给出此错误错误.. 关于a

sqlite - 在 phonegap 应用程序中导出 sqlite 数据库

我们有一个应用程序使用cordova(phonegap)和他自己的sqlite数据库(我的意思是我们没有安装外部sqlite)。我们需要将数据库备份到SD内存中,但是我们无法将sqlite文件从phonegap导出到SD。有人可以帮助我们吗? 最佳答案 晚了几年,我知道,但这对我来说在Cordova5.4.1上工作并在Android上运行(我认为iOS也使用cordova.file.application,但我还没有测试过):this.getdbfilename=function(){return"dbfile.db";};this

sqlite - 在 phonegap 应用程序中导出 sqlite 数据库

我们有一个应用程序使用cordova(phonegap)和他自己的sqlite数据库(我的意思是我们没有安装外部sqlite)。我们需要将数据库备份到SD内存中,但是我们无法将sqlite文件从phonegap导出到SD。有人可以帮助我们吗? 最佳答案 晚了几年,我知道,但这对我来说在Cordova5.4.1上工作并在Android上运行(我认为iOS也使用cordova.file.application,但我还没有测试过):this.getdbfilename=function(){return"dbfile.db";};this

Android SQLite 插入或替换

我正在尝试在SQLite中使用INSERTORREPLACE语法,但没有成功,因为没有插入任何行。我的建表查询是createtableproviders(provider_idtextnotnull,provider_nametextnotnull,provider_channel_idtextnotnull,channel_nametextnotnull);CREATEUNIQUEINDEXchannel_idONproviders(provider_channel_id);我的INSERTORReplace查询是INSERTORREPLACEINTOproviders(provid