ado为何连接不上有密码的access?急死人了 我用*.udl文件连接了一个有密码的access文件,可是不知道为什么测试连接就提示如下信息:测试连接失败,因为初始化提供程序时发生错误。无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开。其他程序一直也没有用该access文件 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 从你的错误信息看,不知到这个错误是什么时候出现的,是程序运行时?还是建立连接时?还是在F9的调试时?如果运行时确保你不要运行两个实列;如果是建立连接时确保你的ODBC设置正确;如果是F9调试时,请关掉在程序设计时激活的数据库,改为运行时打开数据库。 直接用ADOConnection向导连不行吗?在其最后一个标签[所有]中的Jet OLEDB:Database Password中输入密码就可以了 应该就是 xthmpro_cn() 所说的情况。或者把adoconnection的login prompt改为false CONNSTRING := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='; CONNSTRING := connstring + ExtractFilePath(paramstr(0)) + 'DB.mdb;Persist Security Info=False;Jet OLEDB:DataBase password=service'; 解决ADO连接带密码的ACCESS数据库问题 高红岩(ghyghost) 笔者近日在写ADO连接带密码的ACCESS数据库时,当connected:=true;时,总是出现密码不对的对话框,最终在研究了TADOConnection.ConnectionString的内容创建过程时得到灵感,现与大家分享。 1,新建Project。 2,在FORM中放入ADOConnection,ADOQuery,DataSource,Datagrid控件。 3,双击ADOConnection控件,然后点击Build...按钮,在“提供者”页中选择“Microsoft Jet 4.0 OLE DB Provider”,然后点击“下一步”按钮,在“连接”页中选择要连接的Access数据库的路径和数据库的文件名,这时如果点“测试连接”按钮时,出现“初始化提供者时发生错误,测试连接失败,密码无效”的错误提示。 4,这时点“所有”页,然后双击“Jet OLEDB:Database Password”,出现对话框,添入密码后,选择“连接”页中的“测试连接”按钮,出现“测试连接成功”的对话框。把ADOConnection控件的LoginPromtp设为false. 5,设置连接完成。 一段“袄袄”复杂的连接代码,不过特好用var sconstr:string;//连接语句 sdbpath:string;//数据库路径 smm:string; //密码begin smm:='AAA'; try sdbpath:=ExtractFilePath(Application.ExeName)+'AA67.MDB'; sconstr:='Provider=Microsoft.Jet.OLEDB.4.0;'+ 'User ID=Admin;Data Source='+sdbpath+';'+ 'Mode=Share Deny None;Extended Properties="";'+ 'Locale Identifier=2052;Persist Security Info=False;'+ 'Jet OLEDB:System database="";Jet OLEDB:Registry Path="";'+ 'Jet OLEDB:Database Password='+smm+';'+ 'Jet OLEDB:Engine Type=5;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'; if DM1.ADOCn1.Connected = True then DM1.ADOCn1.Connected:=False; DM1.ADOCn1.ConnectionString:=sconstr; DM1.ADOCn1.Connected:=True;//DM1.ADOCN1:TADOCONNECTION except Application.MessageBox('无法连接数据库!','错误',MB_OK+MB_ICONSTOP); Halt; end;end; 百度空间自动发帖的问题 用TADOStoredProc能否调用返回3个数据集的存储过程? 如何读取注册表的默认项的数据???我的代码如下: 高手来,在Delphi中怎样才能够实现:windows的双击操作 Invalid Enum Value错误 如何在.db数据库中使用adoTable组件? 请问哪里有关于OpenGL的DELPHI的例子? 我大win2000的密码忘了,请大家想想办法,怎样能进入系统?急 有关time的问题???? TextFile保存什么ASCII字符才是安全的? Delphi中COM服务... DBGridEh显示数据时有的字段变成空值!急
如果运行时确保你不要运行两个实列;
如果是建立连接时确保你的ODBC设置正确;
如果是F9调试时,请关掉在程序设计时激活的数据库,改为运行时打开数据库。
或者把adoconnection的login prompt改为false
CONNSTRING := connstring + ExtractFilePath(paramstr(0)) + 'DB.mdb;Persist Security Info=False;Jet OLEDB:DataBase password=service';
高红岩(ghyghost) 笔者近日在写ADO连接带密码的ACCESS数据库时,当connected:=true;时,总是出现密码不对的对话框,最终
在研究了TADOConnection.ConnectionString的内容创建过程时得到灵感,现与大家分享。
1,新建Project。
2,在FORM中放入ADOConnection,ADOQuery,DataSource,Datagrid控件。
3,双击ADOConnection控件,然后点击Build...按钮,在“提供者”页中选择“Microsoft Jet 4.0 OLE DB
Provider”,然后点击“下一步”按钮,在“连接”页中选择要连接的Access数据库的路径和数据库的文件
名,这时如果点“测试连接”按钮时,出现“初始化提供者时发生错误,测试连接失败,密码无效”的错误提示。
4,这时点“所有”页,然后双击“Jet OLEDB:Database Password”,出现对话框,添入密码后,选择“连
接”页中的“测试连接”按钮,出现“测试连接成功”的对话框。把ADOConnection控件的LoginPromtp设为false.
5,设置连接完成。
var
sconstr:string;//连接语句
sdbpath:string;//数据库路径
smm:string; //密码
begin
smm:='AAA';
try
sdbpath:=ExtractFilePath(Application.ExeName)+'AA67.MDB';
sconstr:='Provider=Microsoft.Jet.OLEDB.4.0;'+
'User ID=Admin;Data Source='+sdbpath+';'+
'Mode=Share Deny None;Extended Properties="";'+
'Locale Identifier=2052;Persist Security Info=False;'+
'Jet OLEDB:System database="";Jet OLEDB:Registry Path="";'+
'Jet OLEDB:Database Password='+smm+';'+
'Jet OLEDB:Engine Type=5;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';
if DM1.ADOCn1.Connected = True then DM1.ADOCn1.Connected:=False;
DM1.ADOCn1.ConnectionString:=sconstr;
DM1.ADOCn1.Connected:=True;//DM1.ADOCN1:TADOCONNECTION
except
Application.MessageBox('无法连接数据库!','错误',MB_OK+MB_ICONSTOP);
Halt;
end;
end;