通过帐户名和密码连接到访问数据库

时间:2009-05-09 11:01:19

标签: vb.net ms-access connection-string database-connection

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

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;并使它看起来像第一个声明,但都没有效果。

如果有人可以请你协助。 谢谢

5 个答案:

答案 0 :(得分:1)

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

  

提供商= Microsoft.Jet.OLEDB.4.0;数据   源= C:\了MyDatabase.mdb;喷射   OLEDB:系统数据库= system.mdw;用户   ID =名为myUsername;密码= MYPASSWORD;

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

您是否尝试过使用user idpassword

答案 3 :(得分:0)

尝试使用User IDPassword关键字代替Database AccountDatabase 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上找到的一个例子。

答案 4 :(得分:0)

简单方法:

 Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=myPassword