今天将一个自己接的C#项目打包时遇到了数据库本地化的问题,原来编写代码时用的是SQL Server,现在要发布给用户,考虑到用户计算机中没有安装SQL Server,并且如果要安装的话也不太方便,同时这个项目的数据量不是很大,于是便考虑将项目的数据库改为Access数据库,现提供两种连接字符串:
//连接绝对路径的Access数据库
<connectionStrings>
<add name="connString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\NetBarMIS\DataBase\NetBarMIS.mdx;Jet OLEDB:Database Password=111" providerName="System.Data.OleDb"/>
</connectionStrings>
//获取相对路径的数据库连接字符串
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\db.mdx;Jet OLEDB:Database Password=111";
//DataDirectory是获取当前exe的启动路径,也就是项目debug下的路径
我这边数据库后缀为mdx本来Access数据库的应该为mdb,这里为了数据的安全,我将后缀名改了,一般的电脑用户是不会知道这就是数据库文件的,并且我在保存Access数据库时使用了密码,Jet OLEDB:Database Password=111就是原来Access的密码,即使用户修改了文件后缀也需要密码才能打开Access数据库文件。
当然,这些措施只能简单的保护数据库文件,如果遇到高手这些就没什么用了。如果哪位大鸟有什么更加好的保护数据库的办法,还望赐教啊,在此谢过。