如何从 Spring JdbcTemplate 连接到受密码保护的 MS Access 数据库?
Posted
技术标签:
【中文标题】如何从 Spring JdbcTemplate 连接到受密码保护的 MS Access 数据库?【英文标题】:How can you connect to a password protected MS Access Database from a Spring JdbcTemplate? 【发布时间】:2011-02-03 20:48:14 【问题描述】:我需要使用 JDBC-ODBC 桥连接到受密码保护的 MS Access 2003 DB。我不知道如何在连接字符串中指定密码,或者即使那是正确的连接方法。
可能需要提及的是,这是一个 Spring 应用程序,它通过在我们的应用程序上下文文件中配置为数据源 bean 的 JdbcTemplate 访问数据库。
一些相关的sn-ps:
来自 application-context.xml
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="legacyDataSource" />
</bean>
<bean id="jobsheetLocation" class="java.lang.String">
<constructor-arg value="$jobsheet.location"/>
</bean>
<bean id="legacyDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="$jdbc.legacy.driverClassName" />
<property name="url" value="$jdbc.legacy.url"/>
<property name="password" value="-------------" />
</bean>
来自我们的构建属性
jdbc.legacy.driverClassName=sun.jdbc.odbc.JdbcOdbcDriver
jdbc.legacy.url=jdbc:odbc:Driver\=Microsoft Access Driver (*.mdb);Dbq\=@LegacyDbPath@;DriverID\=22;READONLY\=true
有什么想法吗?
【问题讨论】:
【参考方案1】:尝试使用
附加您的网址 UID\=user;PWD\=pwd
【讨论】:
该答案适用于受 Jet 用户级安全性保护的数据库,但不适用于数据库密码。如果我没记错的话,Jet/ACE ODBC 驱动程序没有规定使用带有数据库密码的数据库——这仅适用于 OLEDB。以上是关于如何从 Spring JdbcTemplate 连接到受密码保护的 MS Access 数据库?的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot 使用 JdbcTemplate 和多个数据源自动重新连接到 PostgreSQL
如何从 SQL 脚本、JDBC 或 Spring JdbcTemplate 在 MySQL 中创建函数?
如何使用 Spring JDBCTemplate 从唯一的约束冲突中恢复?