最近在处理一些本地数据库的时候发现,原来使用的Microsoft.Jet.OLEDB.4.0,的方法并不能连接最新的Access 存储文件,而且Microsoft.Jet.OLEDB.4.0不能使用x64的方式生成,而且使用这个数据库引擎效率也是比较低的。这让我比较苦恼。现在发现了另一个新的引擎并且支持x64。Microsoft.ACE.OLEDB.15.0 ,现在给大家展示如何使用。
并且贴出下载文件的位置
Microsoft Access 2010 数据库引擎可再发行程序包
http://www.microsoft.com/zh-cn/download/details.aspx?id=13255
首先下载这个包。
根据你开发的程序适应x86还是x64选择你要下载的数据库引擎包,我用个64位的做下示范。
安装这个包不用说了吧
好了安装完成开工。
首先,我建立了一个简单的表。
然后使用C# 连接并且操作。
下面是我的插入的C#代码
OleDbConnectionStringBuilder oleString = new OleDbConnectionStringBuilder();
//为了使大家更清楚使用这个类,制造一个连接字符串
oleString.Provider = "Microsoft.ACE.OleDB.15.0";
//使用刚刚安装的数据库引擎,大家不要写错了
oleString.DataSource = @"F:\数据库1.accdb";
//这里写你数据库连接的位置
OleDbConnection conn = new OleDbConnection();
//创建OleDb连接对象
conn.ConnectionString = oleString.ToString();
//将生成的字符串传入
conn.Open();
//打开数据库
OleDbCommand mycmd = new OleDbCommand();
//创建sql命令对象
mycmd.Connection = conn;
//设置连接
mycmd.CommandText = "Insert into Users(用户名,密码,家庭地址) values(@name,@pwd,@address)";
//并且用sql参数形式插入数据
mycmd.Parameters.AddWithValue("@name","apple");
mycmd.Parameters.AddWithValue("@pwd","password");
mycmd.Parameters.AddWithValue("@address","address1");
//加入参数值
mycmd.ExecuteNonQuery();
//执行插入语句
conn.Close();
//最后不要忘了关数据库
mycmd.Dispose();