2010-04-02 7 views
2

Je dois me connecter à une base de données MS Access 2003 DB protégée par mot de passe en utilisant le pont JDBC-ODBC. Je ne peux pas savoir comment spécifier le mot de passe dans la chaîne de connexion, ou même si c'est la bonne méthode de connexion.Comment vous connecter à une base de données MS Access protégée par mot de passe à partir d'un JdbcTemplate Spring?

Il serait probablement pertinent de mentionner qu'il s'agit d'une application Spring qui accède à la base de données via un JdbcTemplate configuré en tant que bean de source de données dans notre fichier de contexte d'application.

Quelques extraits pertinents:

de l'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> 

de nos propriétés de construction

jdbc.legacy.driverClassName=sun.jdbc.odbc.JdbcOdbcDriver 
jdbc.legacy.url=jdbc:odbc:Driver\={Microsoft Access Driver (*.mdb)};Dbq\[email protected]@;DriverID\=22;READONLY\=true 

Toute pensée?

Répondre

0

essayer avec votre url annexant

UID\=user;PWD\=pwd 
+1

Cette réponse s'applique à une base de données qui est sécurisé avec Jet sécurité au niveau des utilisateurs, mais pas à un mot de passe de la base de données. Si je ne me trompe pas, le pilote Jet/ACE ODBC ne prévoit pas d'utiliser une base de données avec un mot de passe de base de données - qui est disponible uniquement avec OLEDB. –

Questions connexes