我正在尝试使用两种不同的连接数据库来编辑数据的方法,下面的声明正在运行:
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;
并使它看起来像第一个声明,但都没有效果。
如果有人可以请你协助。 谢谢
答案 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 id
和password
?
答案 3 :(得分:0)
尝试使用User ID
和Password
关键字代替Database Account
和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上找到的一个例子。
答案 4 :(得分:0)
简单方法:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=myPassword