注册 登录
编程论坛 Delphi论坛

哪位有Dephi7连接Access2013数据库的经验吗?

飙马 发布于 2017-08-24 10:24, 4520 次点击
多年开发的软件了一直在使用。当年采用的是Dephi7连接2003Access数据库.mdb,但随着数据的增长,发现.mdb数据库最大支持2GB,再大就无法使用了,所以现在想换成Access2013的.accdb,但尝试了多个语句多种方式,使用Dephi7的ADO就是无法连接上,难道Dephi7就没有办法了吗?

这是以前的连接语句:
AdoConnection1.ConnectionString :=
    'Provider=Microsoft.ACE.OLEDB.12.0;' +
    'Data Source=' + sDatabase + ';' +
    //'Persist Security Info = False;' +
    'User ID=Admin;' +
    'Database Password='  +  '''' +  '''' + ACCESS_PASSWORD + '''' + '''';


这是新的连接语句:
AdoConnection1.ConnectionString :=
    'Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source='+
    sDatabase +
    ';Mode=Share Deny Read|Share Deny Write;Extended Properties="";' +
    //'Jet OLEDB:System database=C:\Documents and Settings\chenge\Application Data\Microsoft\Access\System.mdw;' +
    'Jet OLEDB:Registry Path=Software\Microsoft\Office\12.0\Access\Access Connectivity Engine;' +
    'Jet OLEDB:Database Password='  +  '''' +  '''' + ACCESS_PASSWORD + '''' + '''' +';' +
    'Jet OLEDB:Engine Type=6;Jet OLEDB:Database Locking Mode=0;' +
    'Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;' +
    'Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;'+
    'Jet OLEDB:Encrypt Database=False;'+
    //Jet OLEDB:Don't Copy Locale on Compact=False;'+
    'Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;'+
    'Jet OLEDB:Support Complex Data=True';
6 回复
#2
飙马2017-09-01 09:45
看来这个问题真的是太老旧了
#3
xdcg201077102019-03-14 14:00
可以把acesss转为sql  server
#4
jzzm20072019-05-31 23:05
用SQL SERVER,ADO的语法基本不用改就可以用
#5
keyii2019-06-08 23:13
换个数据库吧,firebird、sybase做本地库都挺好的,真心建议换一个。
#6
关于萨2020-07-01 23:35
连接是需要驱动的,你没安装access odbc 新版驱动
#7
Tnipp2021-10-29 10:00
注意32位和64位access的问题,这里面也有坑
1