求助! XE4连接Access数据库,64位

青蛙工作室 2019-02-13 09:29:29
用的CB XE4,使用ADO连接数据库,目标平台选择32位时结果正常,选择64位平台,则在连接时提示出错。代码大概是这样:

#include <ADODB.hpp>


TADOConnection * dbDb;
TADODataSet * dbTb;

CoInitialize(NULL);
String connStr= L"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=users.mdb;Jet OLEDB:Database Password=123456";
dbDb = new TADOConnection(NULL );
dbDb->ConnectionString = connStr;
dbDb->Open();
dbTb= new TADODataSet(NULL);
dbTb->Connection= dbDb;
dbTb->CommandText = L"Select * from table1";
dbTb->Open();


请问如何解决?
...全文
204 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ooolinux 2019-02-14
  • 打赏
  • 举报
回复
引用 6 楼 ooolinux的回复:
[quote=引用 5 楼 早打大打打核战争 的回复:]
楼主是小青蛙的马甲?


我不会那么无聊,我以前还质疑楼主*借用*我的头像。[/quote] 我虽然有个马甲,一般不用,有时回帖3次以后无法再回帖才马一下。
青蛙工作室 2019-02-14
  • 打赏
  • 举报
回复
引用 6 楼 ooolinux 的回复:
[quote=引用 5 楼 早打大打打核战争 的回复:] 楼主是小青蛙的马甲?
我不会那么无聊,我以前还质疑楼主*借用*我的头像。[/quote] 我曾表示过,我的头像是正版。
青蛙工作室 2019-02-14
  • 打赏
  • 举报
回复
连接问题找到原因了,是头文件<adodb.hpp>的问题,在64位平台要改为<Data.Win.ADODB.hpp>。 顺便吐下XE4,不到200行的代码,生成的DLL竟然有9M。
ooolinux 2019-02-14
  • 打赏
  • 举报
回复
引用 5 楼 早打大打打核战争 的回复:
楼主是小青蛙的马甲?


我不会那么无聊,我以前还质疑楼主*借用*我的头像。
  • 打赏
  • 举报
回复
楼主是小青蛙的马甲?
ooolinux 2019-02-14
  • 打赏
  • 举报
回复
完全编译、链接。
  • 打赏
  • 举报
回复
这样啊,应该是库格式的问题,你重新build一下就好了
青蛙工作室 2019-02-13
  • 打赏
  • 举报
回复
引用 1 楼 早打大打打核战争 的回复:
Microsoft.Jet.OLEDB.4.0没有64位驱动,你可以下载一个高版本access数据库引擎:https://www.microsoft.com/en-us/download/details.aspx?id=13255 或者连接串改成:Provider=MSDASQL;... 试试
你可能误会我的意思了,我的代码出现错误是编译期的连接器,不是运行期连不上数据库,按理说,与连接串如何写是没有关系的,与数据库驱动也应该没有关系。 连接错误的提示是(类似这样的,很多行): [ilink64 Error] Error: Unresolved external 'Data::Db::TDataSet::Append()' referenced from R:\FILE1.O [ilink64 Error] Error: Unresolved external 'System::Sysconst::_SRangeError' referenced from D:\CBUILDER\EMBARCADERO\RAD STUDIO\11.0\LIB\WIN64\RELEASE\RTLE.A|ustring.o [ilink64 Error] Error: Unresolved external 'System::LoadResString(System::TResStringRec*)' referenced from D:\CBUILDER\EMBARCADERO\RAD STUDIO\11.0\LIB\WIN64\RELEASE\RTLE.A|syssupp.o
  • 打赏
  • 举报
回复
Microsoft.Jet.OLEDB.4.0没有64位驱动,你可以下载一个高版本access数据库引擎:https://www.microsoft.com/en-us/download/details.aspx?id=13255
或者连接串改成:Provider=MSDASQL;... 试试


1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧