J'écris une application Spring Boot pour me connecter à une base de données SQL Server et extraire des données dans un fichier de données. .csv
fichier.
Le DBA a créé un utilisateur db et a donné un accès en lecture aux tables spécifiques dont mon application a besoin. Cet utilisateur de base de données est mappé à un compte d'utilisateur de service LDAP. J'essaie maintenant d'accéder à cette base de données en utilisant le compte de service. J'utilise IntelliJIdea pour créer cette application. Lorsque j'essaie d'exécuter l'application, c'est mon utilisateur Windows qui se connecte à la base de données et non le compte de service.
Comment/où puis-je donner au compte de service le nom d'utilisateur et le mot de passe pour se connecter à la base de données en évitant que mon utilisateur de connexion soit utilisé pour l'authentification ?
Mon Env. de développement
-
Windows 7
-
Java 8
-
IntelliJIdea Ultimate 2019.3
-
DBeaver Universal DB Client 7.0.4
Les étapes que j'ai suivies,
1) Téléchargé mssql-jdbc-8.2.2
2) Ajout de la dll et du jar auth dans le Java/JDK/bin
3) Ajout de la dll auth dans Windows/system32
4) dans le fichier application.properties
spring:
datasourse:
url: jdbc:sqlserver://<host-name>:<port-number>;databaseName=<db-name>;integrationSecurity=true;
NOTE : Je peux me connecter avec succès à la base de données en utilisant le compte de service lorsque j'ai exécuté le DBeaver DB Client par "Shift + clic droit" et sélectionné "Run as different user" et mis les détails du compte de service.