Microsoft Access Database Engine 2010使用技巧
由于公司有一个使用64位元环境的需求,因此需要弄一套可以在64位元环境上读取excle档案的环境
幸好MS在前阵子放了Microsoft Access Database Engine 2010可转散发套件
因此决定使用这套件测试看看有没有问题
以MS的传统,我已经预期好会有许多奇妙的问题,也买好了泡麵stand by...
不过今天解决的过程异常顺利,该说MS真的越来越强了吗?
闲话不多说
其实这次只改了一个connection string就可以用了,只是内容和文件上记载的不同
Microsoft Access Database Engine 2010在网页上的说明是:
如果您是应用程式的使用者,请参阅应用程式文件,以取得如何使用适当驱动程式的详细资讯。如果您是使用 OLEDB 的应用程式开发人员,请将 ConnectionString 属性的 Provider 引数设定为 “Microsoft.ACE.OLEDB.14.0”◦如果您连线至 Microsoft Office Excel 资料,请将 "Excel 14.0" 新增至 OLEDB 连接字串的扩充属性。如果您是使用 ODBC 连线至 Microsoft Office Access 资料的应用程式开发人员,请将连接字串设定为 “Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=path to mdb/accdb file”如果您是使用 ODBC 连线至 Microsoft Office Excel 资料的应用程式开发人员,请将连接字串设定为“Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=path to xls/xlsx/xlsm/xlsb file”
移除此下载:
不过,上面说的14.0是错误的!!
正确的是12.0
我原本的conntion string:
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + p_sExcelPath + ";Extended Properties=\"Excel 8.0;IMEX=1\"";
修改成如下就可以用了,目前使用上没有其他问题
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + p_sExcelPath + ";Extended Properties=\"Excel 12.0;IMEX=1\"";