今天我的一个程序,由32位转为64位(大内存需求),所有的依赖项都做了调整,耗了我大半天时间,其中的一个问题比较耗时,就是转完之后,发现access数据库访问不了,多方查资料才找到问题:
1.我的access文件格式是“.mdb”,此文件格式为较老的数据格式,不支持64位程序访问。如程序改为64位,需将数据库文件格式改为.accdb格式。
2 .mdb格式的连接字符串:Provider = Microsoft.Jet.OLEDB.4.0 (不支持x64)
public string ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " + DbPath_UserManager + "; User ID= admin; Jet OLEDB:Database Password =xxx"
mdb格式的连接字符串:Provider=Microsoft.ACE.OLEDB.12.0
public string ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source = " + DbPath_UserManager + "; User ID= admin; Jet OLEDB:Database Password =xxx"
使用不同的文件格式需要使用对应的Provider,请注意。