SQLite数据库修复

最近遇到打开sqlite数据库报"database disk image is malformed"错误,网上Google找的前几个方法都没解决,后找到一个能解决的方法在此记录一下。

//生成sql

sqlite3 data.db .dump > data.sql

//手动检查sql文件,这也是Google前几个方法没提到的,造成后面生成新的数据库为0KB

用编辑器打开刚刚生成的 data.sql 看看文件的最后一行是不是

ROLLBACK; -- due to errors

是则把它删掉,并加上
COMMIT;
如果最后一行是 COMMIT; 则忽略此步骤。

//新建一个数据库,导入sql

sqlite3 new.db < data.sql

//检查

sqlite3 new.db "pragma integrity_check"


参考 https://my.oschina.net/ZntxCYL/blog/535306

go get 命令设置代理

众所周知的原因,使用 go get 下载不了某些开源工程或者非常慢。

网上找了一些办法发现好用,在此做下笔记。

前提是自己有 SS windows客户端。

在控制台分别输入

set http_proxy=http://127.0.0.1:1080
set https_proxy=http://127.0.0.1:1080

端口号看自己的设置,然后用 go get 命令。

xbox one 连接不上xbox live 的解决办法

购买的xbox one连接不上xbox live,搞了一下午都没连上,各种方法各种姿势,要么提示服务不可用要么错误码0x80a40008,换过阿里的、谷歌的、114的等dns都不行。后来就想微软自己有没有dns,查了下真有,换上去后一切OK了。我只能说fuck dns污染!在这贴一下微软的dns 4.2.2.1  4.2.2.2。

LoadLibrary在Win10上的一个坑

LoadLibrary函数在MSDN中有这么一段话

If the string specifies a module name without a path and the file name extension is omitted, the function appends the default library extension .dll to the module name. To prevent the function from appending .dll to the module name, include a trailing point character (.) in the module name string.

也就是LoadLibrary可以加载没有.dll后缀的dll文件,只要在文件后面加个点。

但最近遇到在Windows10系统下面就是败了,GetLastError返回126,至于为什么未知,解决方法就是文件名乖乖加上.dll后缀。