首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java MSAccess DSN减

Java MSAccess DSN减
EN

Stack Overflow用户
提问于 2011-06-07 06:07:51
回答 1查看 1.8K关注 0票数 0

所以问题是,我想连接到每次打开msaccess数据库时都有密码的

  • 密码,如果我直接打开访问文件,密码就会生效。如果我删除密码,
  • I可以建立连接,这意味着我的代码可以工作,如果没有密码涉及到
  • ,则在数据库工具
  • MS Access 2007(但使用.mdb)中使用set数据库密码设置密码。

这是密码

代码语言:javascript
复制
String dbFile = "db.mdb";
String connectionString = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
String driverID = ";DriverID=22;READONLY=true;pwd=qwer}";
if (CONNECTION == null || CONNECTION.isClosed()) {
   dbURL = connectionString + dbFile.trim() + driverID;
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   CONNECTION = DriverManager.getConnection(dbURL);
}

----------------------------------------------
Error Code : java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Not a valid password.
----------------------------------------------

我已经尝试过向get连接添加参数,但是它没有工作。(请帮助:)

EN

回答 1

Stack Overflow用户

发布于 2011-06-07 06:33:21

MS Access数据库文件有两种类型的密码:

passwords

  • database
  1. 用户密码

使用用户密码,可以在连接字符串中提供用户名和密码。

代码语言:javascript
复制
;User Id=admin;Password=;

对于数据库密码,需要连接字符串中的不同标识符才能将密码区分为数据库密码而不是用户密码。

代码语言:javascript
复制
;Database Password=MyDbPassword;

就我个人而言,我不使用数据库密码。这个特性在安全性方面并没有提供太多,所以它似乎比它的价值更大的麻烦。

编辑:我不知道是否有可能提供数据库密码和ODBC。我找到的所有连接示例在包含数据库密码时都使用OLE。

代码语言:javascript
复制
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\somepath\\mydb.mdb;" & _
                 "Jet OLEDB:Database Password=MyDbPassword;", "admin", ""

也许它可以从当前的Access ODBC驱动程序切换到用于ODBC的Microsoft提供程序。或者使用当前的ODBC驱动程序,如果您切换

代码语言:javascript
复制
Database Password=MyDbPassword;

代码语言:javascript
复制
Jet OLEDB:Database Password=MyDbPassword;

我不知道。但在我看来,数据库密码正在妨碍你的到来。您已经知道,如果从数据库中删除密码,就可以连接。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6261190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档