0

我正在尝试使用两种不同的方法连接到数据库来编辑数据,下面的声明有效:

Dim rsConn As ADODB.Connection

rsConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
& Application.StartupPath & "\VFMS_DB.mdb;" _
& "Jet OLEDB:System Database=Security.mdw", "Ads", "1234")

但现在我想对下面的声明做同样的事情,但我不断收到消息“不是有效的帐户名或密码。

Dim conn As OleDbConnection

conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
& Application.StartupPath & "\VFMS_DB.mdb;" _
& "Jet OLEDB:System Database=Security.mdw;Database Account=Ads;Database Password=1234;")

我很确定这是因为这;Database Account=Ads;Database Password=1234;不正确。我试着;User ID=Ads;Database Password=1234;让它看起来像第一个陈述,但都没有奏效。

如果有人可以请提供帮助。谢谢你

4

5 回答 5

1

根据connectionstrings.com,这是带有用户名和密码的 Jet OLE DB 4.0 连接的正确连接字符串:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:System Database=system.mdw;User ID=myUsername;Password=myPassword;

于 2009-05-09T11:12:01.950 回答
1

我不知道您的问题的实际答案,但会指出这里可能会造成混淆。Jet 有两种不同类型的“密码”,即数据库密码和 Jet 用户级安全密码。前者不涉及用户名(数据库对每个人都有一个密码),而后者有用户名/密码配对。

Jet ULS 始终有效。Jet 的默认设置是用户名“admin”,没有定义密码。如果有人为管理员帐户定义了密码,您需要提供该密码,或使用您知道密码的帐户。

最后,Jet ULS 信息保存在工作组文件中,通常命名为 system.mdw,如果您尝试访问的 MDB 的安全设置存储在工作组中,您可能需要在连接字符串中指定它定义为系统默认工作组文件的文件以外的文件。我不确定 ADO/OLEDB 如何与注册表中的默认工作组位置设置进行交互,因此我建议找出它的参数名称并在所有情况下明确指定它。

于 2009-05-10T00:43:15.617 回答
0

你试过user id和只是password吗?

于 2009-05-09T11:12:38.470 回答
0

尝试使用User IDandPassword关键字而不是Database Accountand Database Password

conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
         & Application.StartupPath & "\VFMS_DB.mdb;" & _
         "Jet OLEDB:System Database=Security.mdw;User ID=Ads;Password=1234;")

这是根据我在connectionstrings.com上找到的示例。

于 2009-05-09T11:16:16.417 回答
0

简单的方法:

 Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=myPassword
于 2013-02-17T09:23:14.217 回答