这两天在项目中用大强度大频率的方法测试时遇到sqlite报database is locked的问题,分析下来原因是sqlite对数据库做修改操作时会做(文件)锁使得其它进程同一时间使用时会报该错误(也就是SQLITE_BUSY),但如果仅是多进程或多线程查询sqlite是支持的.(也有可能是做sql开启事务查询等发生异常,数据库没有关闭,然后再去打开就锁定了)解决方法有:1.使用进程或线程间的同步机制以避免同时操作:如用信号量,互斥锁等(pthread_mutex_lock,pthread_m…
使用dpkg -i/apt命令安装,报错: ------------------------------------------------------------- dpkg: error: dpkg status database is locked by another process 无法获得锁 /var/lib/apt/lists/lock - open -------------------------------------------------------------- 一.可…
昨天下午修改几个冲突的jar包后提交svn后报错,接下来svn操作就失灵了,无论是clean up还是revert还是release lock都无济于事.解决办法: 首先下载sqlite3,我的是64位win7,无需去官网下载安装,直接下载sqlite3.exe即可,下载链接为http://download.csdn.net/detail/whyzzj/6346529.sqlite3.exe需要放到wc.db的同一目录才能用,这一点要注意.比如我的工程app_engine放在E盘的workspa…
SQLite有一个很严重的缺点就是不提供Repair命令. 导致死亡提示database disk image is malformed 它的产生有很多种可能,比如,磁盘空间不足,还有就是写入数据过程中突然掉电等. 官方对产生原因的一些说明: http://www.sqlite.org/lockingv3.html#how_to_corrupt (先要下载个sqlite3.exe:http://www.sqlite.org/download.html) sqlite my.sqlite3 sql…
用firedac连接SQLITE数据库,空间tdbedit绑定字段name,如下语句修改其值时报错. procedure TForm1.Button3Click(Sender: TObject);begin fdquery.Edit; fdquery.FieldByName('name').AsString:='test2'; fdquery.post;   //执行到这里报错 [FireDAC][Phys][SQLite] ERROR: database is locked. 换成refres…
每日更新关注:http://weibo.com/hanjunqiang  新浪微博 今天终于解决了多线程同时访问数据库时,报数据库锁定的问题,错误信息是: Unknown error finalizing or resetting statement (5: database is locked) 最后通过FMDatabaseQueue解决了这个问题,本文总结一下: FMDatabase不能多线程使用同一个实例 多线程访问数据库,不能使用同一个FMDatabase的实例,否则会发生异常.如果线程…
前些时候,同事在站点服务端使用SQlite存储一些临时数据,但是在多人并发的时候Sqlite会抛出异常:The database file is locked , database is locked,而且这个是在客户生产环境下提示出来的,开发环境很难重现,同事实在没辙,竟然想发动所有研发同事通过操作软件重现问题,我只能呵呵了.既然是Sqlite的原因,直接写个小程序测试下sqlite不就行了,而且就算重现了,难不成要改Sqlite源码... Sqlite的特点: 简单(simple):SQLi…
在sqlite批量添加数据时,报错:database is locked. 解决办法:将db路径由相对路径设置为绝对路径.…
上一篇博客<sqlite:多线程操作数据库“database is locked”解决方法>通过注册延时函数的方法来处理数据库被锁的问题.此方法固然能解决问题,但是在多个线程向数据库写入大量数据的情况下,延时会拖慢进度. 想出方法二: 1. 创建一个链表,链接如下格式的结构体,线程1,线程2,线程3......不直接改写数据库,而是把sql语句插入链表中: typedef struct { uint8_t *buf; uint32_t len; } sqlItem_t; 2. 创建一个独立的线…
今天遇到了一个很奇怪的问题,登录完成后,程序会莫名crash, 报了下面的错误: sqlite: Error Code : (SQLITE_BUSY) (database is locked (code ): , while compiling: PRAGMA journal_mode) 经过分析发现是数据库被locked,从而导致在调用 mDatabase = mDBHelper.getWritableDatabase(); 时发生了crash, 而android上面同一时间向sqlite里写…
前些时候,同事在站点服务端使用SQlite存储一些临时数据,但是在多人并发的时候Sqlite会抛出异常:The database file is locked , database is locked,而且这个是在客户生产环境下提示出来的,开发环境很难重现,同事实在没辙,竟然想发动所有研发同事通过操作软件重现问题,我只能呵呵了.既然是Sqlite的原因,直接写个小程序测试下sqlite不就行了,而且就算重现了,难不成要改Sqlite源码... Sqlite的特点: 简单(simple):SQLi…
程序比较简单: 父进程查询数据库A表,没有更新操作 子进程同时查询数据库A表,查询出来的内容更新B表. 两个进程都放到while(1)循环中,速度慢的话就是2S执行一次就没有错,执行的速度快的话就会报错. 跑了一段时间就会报错 提示database is locked. 网上查了查说是多个进程可以同时查询,一个时间内只能有一个更新.我这显然只有一个更新.不解  待续```` 查了很久无果之后·写了个简单的while(1)循环 while ( 1 )     {       if ( SQLITE…
今天最终攻克了多线程同一时候訪问数据库时,报数据库锁定的问题.错误信息是: Unknown error finalizing or resetting statement (5: database is locked) 最后通过FMDatabaseQueue攻克了这个问题.本文总结一下: FMDatabase不能多线程使用同一个实例 多线程訪问数据库,不能使用同一个FMDatabase的实例,否则会发生异常.假设线程使用单独的FMDatabase实例是同意的,可是相同有可能发生database…
svn执行update,却被告知database is locked! 执行 svn update,却抛出个错误警报: svn: E200033: database is locked, executing statement 'RELEASE s0' 之后无论是cleanup,还是release locker都没反应! 别急,试试以下方案: $ cd /your project path/.svn $ mv wc.db wc.db.old #做事都要有备份的习惯 $ sqlite3 wc.db…
Cursor c = db.query("user",null,null,null,null,null,null);//查询并获得游标 if(c.moveToFirst()){//判断游标是否为空     for(int i=0;i<c.getCount();i++){         c.move(i);//移动到指定记录         String username = c.getString(c.getColumnIndex("username");…
其实我一直没发现,又一次我以为需要写些前端吧NetBeans关了,使用HBuilder写vue,因为内存只有8G,乱七八糟的一些东西一开,只剩20%左右,我就把 NetBeans关了,发现更新svn的时候,不会出现一大堆文件的,老是出现database is locked的情况了,等我写完vue页面,在去写php接口的时候,因为需要编译vue,我吧一些无用的更新删除,更新到最新的时候, 又出现老是database is locked 解决办法就比较简单了,你需要需要先更新svn,在开NetBea…
hue使用mysql作为元数据库 hue默认使用sqlite作为元数据库,不推荐在生产环境中使用.会经常出现database is lock的问题. 解决方法: 其实官网也有解决方法,不过过程似乎有点问题.而且并不适合3.7之后的版本.我现在使用的是3.11,以下是总结的最快的切换方法. 1.先在mysql里面创建数据库hue create database hue default character set utf8 default collate utf8_general_ci; grant…
svn 提示数据库损坏 SVN 报错 sqlite[S11]: database disk image is malformed 解决办法:网上说的打开wc.db删除lock表 不管用.我发现这样可以解决,就是重现建立个新文件夹 迁出文件,然后把这个文件夹的.svn 覆盖到出问题的文件夹即可.…
完美解决Informix的中文乱码问题  Informix是IBM旗下的一款数据库,要不是这个项目需要,估计这辈子我都不知道居然还有这么一款数据库.想来公司的项目遍布全国各地,各种部署环境各种应用场景应有尽有,七七八八的问了一大堆的各项目组兄弟,居然都没人知道这玩意,可见这货有多小众化... 刚开始接触这玩意时完全摸不着头脑,它的设计理念和使用方法太尼玛诡异了,无论是DB2.Oracle,还是Mysql,居然没一个对应的开发经验可以直接套用到Informix上,就是找对应的文档资料都比其他数据库…
[完美解决]Spark-SQL.Hive多 Metastore.多后端.多库 [完美解决]Spark-SQL.Hive多 Metastore.多后端.多库 SparkSQL 支持同时连接多种 Metastore,包括Atlas2(PB),Hive 0.12+几种格式.用户可以在一条SQL语句中操作来自多个 Metastore 的表. 配置 Metastore 按照正常的使用方式配置 conf/hive-site.xml 比如配置访问 mysql: <?xml version="1.0&qu…
在 web 开发过程中我们经常遇到,不想让用户下拉看到我的地址,也有时候在 div 中没有惯性滚动,就此也出了 iScroll 这种关于滚动条的框架,但是就为了一个体验去使用一个框架好像又不值得,今天我就来说说我的思路 div 中惯性滚动问题 我们在开发 web 如果在,非 body 元素中使用 scroll 就会碰到一个问题,没有惯性滚动,所以以前我们要么使用 iScroll 这类框架,要么就是自己使用触摸事件配合定时器来写一个惯性,自己写的当然体验不好,使用框架又感觉太不值得,因为一个小功能…
完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法   HTML5的语义化标签以及属性,可以让开发者非常方便地实现清晰的web页面布局,加上CSS3的效果渲染,快速建立丰富灵活的web页面显得非常简单. HTML5的新标签元素有: <header>定义页面或区段的头部: <footer>定义页面或区段的尾部: <nav>定义页面或区段的导航区域: <section>页面的逻辑区域或内容组合: <article>定义正文或一篇完整的内…
首先,我参考了好几篇文章,都是蛮不错的,先列出来: sublime-text-imfix:首先推荐这个方法,最简单,但是在我的系统上有些问题.可用这个的强烈推荐用这个 完美解决 Linux 下 Sublime Text 中文输入:讲的比较明白,也可用参考. Ubuntu下Sublime Text 3解决无法输入中文的方法: 讲解的最清楚了,建议看看. 测试系统:Ubuntu 14.04 (理论上所有 Linux 发行版都通用) 输入法:Fcitx 4.2.6.1 Sublime Text 版本:…
大家在linux下源码安装时,有木有经常碰到缺少这个包那个包的,然后不知所措?看到最近有几个筒子安装thrift,安装python因缺少依赖包而进行不下去了.我用的是红帽,装系统的时候习惯把所有的有的没的都选择上,基本没有出现过缺少包的情况,大家可以试试.如果装系统的时候忘了选择所有的包,来,这里有你想要的.如果电脑可以联网,可以试试以下的yum命令,把命令copy过去贴到命令行执行下就OK了: yum -y install gcc gcc-c++ autoconf libjpeg libjpe…
打开终端,输入: sudo su - > /sys/module/hid_apple/parameters/iso_layout sudo su -需要root权限,所以使用前请注意已下载root,没有root的请输入以下代码: #没有root的请输入以下代码下载root sudo apt-get install root 这时你会发现"~"能打出来了,但是重启系统又会恢复原样,所以我们要在下面 rc.local 文件中添加一行代码: 路径:/etc/rc.local sudo…
之前写的一个VC应用程序,是程序启动时就直接出现在任务栏, 窗体不出现,等用户点击任务栏图标再出现窗口.和一些防火墙什么的软件类似. 这种效果实现并不是很困难的,硬是找不到最好的.为什么呢? 首先,在网络上找到的大部分说法都是: BOOL CBBBApp::InitInstance() { ... m_pMainWnd->ShowWindow(SW_HIDE); // 原来是m_pMainWnd->ShowWindow(SW_SHOW); .... } 这样虽然可以实现效果,但是会在启动瞬间快…
C# DataGridView控件绑定数据后清空数据在清除DataGridview的数据时: 1.DataSource为NULL(DataGridView.DataSource= null;)这样会将DataGridView的列也删掉. 2.用DataGridview.Rows.Clear();  提示“不能清除此列表”!!!!! 以上都不是想要的结果.想要满足保持原有的列,就是重新绑定之前的DataTable,然后清除DataTable中的数据,如下: DataTable  dt  =  (D…
适用情况:电脑里本身有NET4.0或4.5版本,并且正确安装.或本身你就装有AutoCAD2013或AutoCAD2012要装AutoCAD2012或AutoCAD2013却装不上的情况 如图1所示. 方法:   方法/步骤     完美解决AutoCAD2012,AutoCAD2013本身电脑里有NET4.0或以上版本却装不上的问题 适用情况:电脑里本身有NET4.0或4.5版本,并且正确安装.或本身你就装有AutoCAD2013或AutoCAD2012要装AutoCAD2012或AutoCA…
背景: 最近在修改项目的时候,发现修改了项目依赖以后会出现如下图:Maven Java EE Configuration Problem 的问题,对于有强迫症的我来说,看到项目上面有个很小的红色小叉号感觉很是不爽,于是寻找解决办法. 解决步骤如下: 1.更新maven项目依赖 2.勾选出现错误的项目,并点击OK按钮 到此为止,错误已经被完美解决...…
完美解决IE8有两个进程的问题,照以下方法设置后就只有一个进程了,没有什么负影响哦! 方法: 1.win+R,在运行框里输入:gpedit.msc,回车进入组策略设置. 2.依次展开:计算机配置——管理模板——windows组件——Internet Explorer. 3.在Internet Explorer选项下面,找到“设置选项卡进程增长”,配置值为0. 提示:1是IE8的默认值,使用这种默认设置后会使你产生相当混乱的感觉,虽然说采用了颜色来标识页面的相关性,但至少我是很不喜欢,当上面的进程…