你的位置:首页 > 数据库

[数据库]数据库如何从SQL server转换到SQLite


我之前用的是SQL server数据库,但是客户那里觉得安装这个大的数据库比较卡,说是导致蓝屏了,硬往SQL server上赖,没有办法客户是上帝么,给他换个小点的数据库吧!考虑acess,不行这个还是得安装客户端,必须找一个免安装的。最后终于找到了SQLite,不用安装客户端,只需要一个文件就行,在本地新建一个文本文件,改后缀名为.db,用SQLite studio软件打开这个.db文件。但是我之前数据是用SQL server做的,这就需要把数据从SQL server转换成SQLite,

这是时候需要用到的一个SQL server To SQLite DB Convert这个工具,可以去百度搜下找到它,是一个开源的老外写的软件,很不错,转换很快就完成。转换的时候需要注意下: 如果SQL server表中数据后面经常会有空格,这个时候要在SQLite studio中把后面的空格去掉,要不查询不出来数据。

转换完成后生成一个.db文件,然后用SQLite Studio打开,就可以了,非常简单。然后在代码中把sqldataadapter这种sql的前缀统统换成SQLite就可以了,SQL server数据库操作的那几个对象,在SQLite中都有,只是名字前缀不一样,从Sql换成了SQlite,所以很简单的办法修改之前的ADO.NET对象的办法是全工程替换,将Sql替换为SQLite。

string connectionString = "Data Source =" + Environment.CurrentDirectory + @"\Test.db";
conn = new SQLiteConnection(connectionString);

我自己测试了一下,查询7个表,联合查询一共有700多万条数据,SQLite studio中只需要用0.002秒,但是SqlServer却需要用2分半的时间,所以嘛SQLite还是很不错的一个数据库。
还有一个事情就是数据安全没有做,放到本地的.DB,别人可以直接访问的,貌似是,所以感觉很不安全,接下来去研究研究数据文件加密的方法。