草庐IT

sqlite-wal

全部标签

iphone - 当手机丢失时,任何人都可以从 iPhone 中的应用程序访问我的 sqlite3 数据库吗

我创建了一个应用程序,我在其中从网站获取个人信息并将其存储在我的sqlite3本地数据库中。经过身份验证的用户只有在成功登录后才能看到他们的信息。然后我根据需要显示它。我不希望这些信息在手机丢失时被任何人窃取。我已经实现了这样一个功能,即当应用程序从后台转到前台时,它会请求在应用程序中硬编码的pin。我的问题:当手机丢失时,任何人都可以访问我的sqlite3本地数据库吗?有没有办法加密数据库并在需要时解密?我将如何确保数据库不易受攻击。谢谢你 最佳答案 试试这个..NSArray*paths=NSSearchPathForDirec

objective-c - SQLite 缓存与应用程序缓存

所以我正在编写一个大量使用SQLite的应用程序。我正在努力将内存缓存系统写入我的应用程序,该系统将允许我对数据进行排序和过滤(我自己的个人核心数据......本质上)。我这样做是因为在我看来,这是一个比不断从SQLite数据库发出读取请求更好/更快的选择。另外,大多数字段/列都是可搜索/可排序的,并且为每个字段/列设置索引似乎不太理想。但我不确定。我知道SQLite数据库在内存中缓存了一些,但我不知道这对我来说有多大程度或多大的优势。实现我自己的缓存系统将很复杂,并且可能会增加我的内存占用,尤其是因为我将每个表完全加载到内存中以执行排序/筛选。如果它有助于我的应用程序的性能,我非常愿

ios - 在 sqlite 数据库中插入 blob (objective-c)

我在将blob插入sqlite数据库时遇到问题。我在ios上工作,所以它是objective-c。计划:我正在按下一个按钮,一个照片选择器打开,我正在选择一张照片,我正在触摸另一个按钮,照片作为一个blob保存在数据库中。一切正常,只是插入不正常。我已经准备好将int和strings插入数据库并且工作正常,但是blob让我抓狂。我使用的代码:我上了一个类,里面有所有的数据库方法。它叫做分贝。我得到了一个使用db-object的类。数据库类:-(void)insertblob:(NSData*)blobstmt:(NSString*)blobStmnt{constchar*sql=[bl

ios - .appname.sqlite.migrationdestination_xxxx 文件是什么?它会导致sql损坏错误吗?

我正在使用CoreData开发iOS应用程序。我从用户那里得到了应用程序数据,其中包括以下隐藏文件。文档/.appname.sqlite.migrationdestination_xxxx(549MB)文档/.appname.sqlite.migrationdestination_xxxx-shm(721KB)Documents/.appname.sqlite.migrationdestination_xxxx-wal(0Byte)并且在同一个Documents文件夹中有appname.sqlite,appname.sqlite-wal和appname.sqlite-shm。appna

PG14归档失败解决办法archiver failed on wal_lsn

案例1:pg_wal下有wal_lsn文件案例1适用于以下场景:pg_wal下有该wal_lsn文件而归档目录下无该wal_lsn文件pg_wal和归档目录下同时都有该wal_lsn文件问题描述昨晚Repmgr+PG14主备主库因wal日志撑爆磁盘,删除主库过期wal文件重做备库后上午进行主备状态巡查,主库向备库发送wal文件正常,但是查主库状态时发现显示有1条归档失败的记录。postgres:archiverfailedon000000010000006F00000086主库:walsenderrepmgr172.28.32.23(36122)streaming72/1BAC3A10"wal

ios - SQLite Drop Table导致Database is Locked错误

我创建了一个小的数据库升级工具来根据PRAGMAuser_version更新我们的sqlite数据库表。它一直运行良好,直到最近我需要完全删除一个表。显然droptable命令是DROPTABLEtbl;sql指令执行使用:NSString*currentUpdateStatement=[upgradeStatementsobjectAtIndex:statementNumber];DLog(@"Updatestatementis:%@",currentUpdateStatement);constchar*sql_stmt=[currentUpdateStatementUTF8Stri

ios - 在 iOS 上加密 SQLite 数据库文件

我的客户问我是否可以加密他的iOSSQLite文件。我检查了这两个资源:Encrypt&DecryptSqlitefile(UsingCoreData)http://support.apple.com/kb/HT4175如果我错了,请纠正我,该文件将被加密,因此没有人能够破解它(尽管我认为坚定的破解者是可能的)。核心数据查询将照常运行,对吗?我的意思是没有性能损失,也没有不同的API。 最佳答案 您提供的链接讨论了整个设备的加密存储;但是,如果目标是用户无法直接打开数据库文件,那么将无济于事,因为唯一可以防止的是在设备被盗时访问您的

javascript - 检查数据库是否存在并在 SQLite IOS 中删除数据库

我目前正在使用phonegap创建ios应用。在熟悉sqljavascript交互的同时,我似乎已经创建了同名数据库文件的10个版本。我目前正在使用以下创建代码(来自phonegapwiki)varmydb=false;//initialisethedatabaseinitDB=function(){try{if(!window.openDatabase){alert('notsupported');}else{varshortName='phonegap';varversion='1.0';vardisplayName='PhoneGapTestDatabase';varmaxSiz

iphone - 将大量 Sqlite 行加载到 UITableView 中

需要在我的UITableView中加载20,000个项目,我想知道执行此操作的最佳方法是什么。我目前在SQLite中使用直接查询。这会消耗太多内存,并且离开应用程序的速度很慢。 最佳答案 有几个选项:透明地分页数据或实现类似邮件的功能,您可以在其中单击以加载25个以上。如果透明地分页数据UITableView具有诸如行的总数据和加载数据之类的回调,因此非常完美,它是虚拟的并且可以重复使用单元格。但是,您不能进行基本选择,您必须一次选择x-例如,一页50。您必须首先为完整查询选择count(*),以便知道然后计数。然后,当回调请求第3

ios - 如何使用 Objective C 在 SQLITE 中启用外键约束

今天我注意到我的SQLite表上的外键约束不起作用。在阅读StackOverflow后,我发现应该启用它。所以,我正在寻找这样做的代码片段。到目前为止,我只能找到这个:[self.dbexecuteUpdate:@"PRAGMAforeign_keys=ON"];但这似乎对我不起作用,因为编译器总是提示。我看到人们将这一行用于FMDatabase类型(我什至不知道它是什么)。那么,如果我像这样打开数据库连接,我该如何启用外键约束:-(void)openDatabase{constchar*databaseFile=[[selfpathToDatabaseFile:@"readlater