回 帖 发 新 帖 刷新版面

主题:用ADO连接带有密码的access数据库时遇到的问题

我用的是ADOTable控件,在其属性connection string中设置了连接字符串:
(数据源名称为shjuyuan,数据库名称为data,密码为11)

Provider=MSDASQL.1;Password=11;Persist Security Info=True;User ID=11;Data Source=shujuyuan;Initial Catalog=E:\data

之后,把Active属性置为true,datagrid 中就可以显示出数据。(未运行状态下)
但是,当我把 adotable1.open; 这句代码添加到按钮中,然后运行,当按下按钮时,就会有提示错误:

‘invalid variant type conversion’

或者我手工编辑连接字符串,并赋值:

adotable1.ConnectionString:= 'Provider=msdasql;DataSource=shujuyuan;Initial                                Catalog=E:\data;User Id=11;Password=11';
再运行后,仍然是相同的提示错误。

请教热心的朋友,
[em18]

回复列表 (共11个回复)

沙发

应该是这样,这样决对行,不行我就自杀算了。把连接字符串改称这样
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\data;Persist Security Info=False;Jet OLEDB:Database Password=11

板凳

我试过了,连接不上,
提供程序如果为:Microsoft.Jet.OLEDB.4.0,用于连接无密码的access数据库是可以的,如果要连接加密的话,提供程序必须为:MSDASQL,并且需要建数据源。

后来我把adotable换成adodataset,连接字符串内容不变,问题就解决了,挺奇怪的。

仍然感谢你。不过千万不要做傻事,呵呵。

3 楼

我原来也遇到这个问题,有密码要当做无密码来解决,用adoconnection很容易解决的

4 楼

瞎说,你知道Microsoft.Jet.OLEDB.4.0为什么连接不上吗?因为你没有在"所有"最后一页中的 jet oledb:database password编辑值,你把access密码写道那项里面,不可能连接不上,这个我曾经试过很多次,我无论什么数据库我都连接过,有的assess文件连接还要系统文件,我都用过,怎么会出错连接不上,我真不信!

5 楼

[quote]我原来也遇到这个问题,有密码要当做无密码来解决,用adoconnection很容易解决的[/quote]


这于这个方法我没有试过,但是我想那时不肯能能连接上的,否则还需要assess密码干吗?呵呵

6 楼

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\data.mdb;Persist Security Info=False;Jet OLEDB:Database Password=11

这样写肯定是可以的我试过的

如果还不行,你可以建立一个.uld文件
access密码的填写位子与别的数据库是不一样的,
在"所有"选项中的Jet OLEDB:Database Password属性中填写密码.

7 楼

[quote]瞎说,你知道Microsoft.Jet.OLEDB.4.0为什么连接不上吗?因为你没有在"所有"最后一页中的 jet oledb:database password编辑值,你把access密码写道那项里面,不可能连接不上,这个我曾经试过很多次,我无论什么数据库我都连接过,有的assess文件连接还要系统文件,我都用过,怎么会出错连接不上,我真不信![/quote]

我快崩溃了,"所有"项里的jet oledb:database password我编辑了呀,可就是连接不上,提示错误为:
"测试连接失败,因为初始化提供程序时发生错误.无法启动应用程序.工作组信息方件丢失,或是已被其它用户以独占方式打开."

8 楼

绿玉斗
把你的qq号给我啊,远程控制我帮你

9 楼

呵呵,解决了,
原因是我两个地方都写了密码,去掉一个就好了,,
感激楼上所有的朋友,,

10 楼

[quote]绿玉斗
把你的qq号给我啊,远程控制我帮你[/quote]

50384098 交个朋友吧,以后免不了还要请教,,

我来回复

您尚未登录,请登录后再回复。点此登录或注册