扩展这个问题What is the ConnectionString to create a OdbcConnection for an access mdb file,我想知道如何编写连接字符串来从64位应用程序连接到.mdb文件-除了这一次我尝试从c++ 64位应用程序而不是C#来做这件事。不确定这是否有区别,所以我把它放在这里:)
当我为32位编译时,我可以用以下命令连接到我的mdb文件
"driver={Microsoft Access Driver (*.mdb)};Dbq=mlog.mdb;UID=;PWD="我不确定这是不是最好的方式,但它是有效的。
现在我需要用64位编译我的应用程序。上面的连接字符串不再起作用了,所以我检查了http://www.connectionstrings.com/access/并尝试
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=mlog.mdb;Persist Security Info=False;"但没有成功。
我使用
ret = SQLDriverConnect(dbc, 0, connectionstring, SQL_NTS, outstr, 1024, &outstrlen, SQL_DRIVER_NOPROMPT);
if (SQL_SUCCEEDED(ret)) ...来尝试连接。但它总是失败。当我调用SQLGetDiagRec()时,它返回空字符串。
我还安装了Access 2010 64位驱动程序。检查c:\windows\system32\odbcad32.exe是否已在ACEODBC.DLL中安装了版本为14.00.7010.1000的"Microsoft Access Driver (*.mdb,*.accdb)“。
这是怎么回事?
发布于 2021-06-25 20:54:03
如果其他人正在寻找解决方案,OdbcConnection 64位可以使用以下连接字符串连接到Access数据库:
Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=X:\fullpath\database.mdb;或者,如果您需要登录:
Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=X:\fullpath\database.accdb;Uid=MyLogin;Pwd=MyPassword;当然,您需要安装64位access数据库驱动程序。
你可以在这里找到它:https://www.microsoft.com/en-us/download/details.aspx?id=54920
https://stackoverflow.com/questions/19458800
复制相似问题