Bonjour,
Je rencontre un problème avec le partage des scripts JMP que je crée au sein de mon organisation. Le problème vient du fait que les informations d'identification que j'utilise pour me connecter à notre base de données SQL sont différentes de celles que d'autres utilisent pour se connecter à la même base de données. Par exemple, une requête que je peux exécuter sur ma machine pour me connecter à la base de données « Base de données » sur le serveur « SQLServer » ressemblera à ceci :
Open Database(
"DSN=SQLServer;Trusted_Connection=Yes;APP=JMP;WSID=MYWSID;DATABASE=Database;",
"SELECT * FROM [].Table"
)
Cependant, la requête qui fonctionnerait sur la machine de mon collègue pour interroger la même table ressemble à ceci :
Open Database(
"DSN=Database;Trusted_Connection=Yes;APP=JMP;WSID=MYWSID;DATABASE=Database;",
"SELECT * FROM [].Table"
)
Je comprends que cela a quelque chose à voir avec la façon dont les connexions à la base de données ont été initialement configurées sur la machine de chaque utilisateur. Il existe donc un certain nombre de configurations différentes pour se connecter à la même base de données dans JMP au sein de mon organisation. Cela rend assez difficile la prise en compte des informations d'identification de base de données différentes de plusieurs personnes chaque fois que je dois créer un script JMP qui sera utilisé par un grand groupe.
J'ai conçu un moyen de vérifier les informations d'identification de l'utilisateur lors de l'exécution initiale d'un script. Cependant, cette méthode ne fonctionne que lorsque je connais les informations d'identification exactes de moi-même et de la personne à qui j'envoie le script pour qu'elle l'utilise sur sa machine. Pour cela, je démarre le script en exécutant deux requêtes simples et rapides à l'aide des deux ensembles d'informations d'identification différents décrits ci-dessus. Selon la requête qui renvoie une table, je peux alors choisir entre deux expressions différentes contenant le script réel que je souhaite exécuter, où chaque expression contient le même script, mais avec les différents ensembles d'informations d'identification au niveau des connexions à la base de données. Le problème est que s'il y a plus de deux ensembles d'informations d'identification, cette méthode ne fonctionnera toujours pas pour tout le monde, et il devient également difficile de corriger les bogues du script si je dois corriger une erreur à deux ou plusieurs endroits au lieu d'un seul.
Pour faire court, je souhaite créer un script unique qui peut être utilisé par plusieurs personnes qui ont toutes des informations d'identification de base de données différentes. Existe-t-il un moyen dans JMP 16 de vérifier les informations d'identification de base de données de l'utilisateur pour modifier dynamiquement les chaînes de requête SQL en fonction de ces informations d'identification pour chaque utilisateur différent qui exécute le script ?
Merci
Ce que vous recherchez est une connexion sans DSN
ça ressemble à :
"DATABASE=[LE NOM DE LA BASE DE DONNÉES];DRIVER={SQL Server Native Client 11.0};SERVER=[LE NOM DU SERVEUR]"
Dans votre cas, cela pourrait ressembler à :
"DRIVER={SQL Server Native Client 11.0};SERVER=[LE NOM DU SERVEUR];Trusted_Connection=Oui;APP=JMP;WSID=MYWSID;DATABASE=Base de données;"
La différence est que vous ajoutez les informations de connexion à la chaîne de connexion plutôt que d'utiliser un DSN.
Plus précisément, les informations DRIVER= et SERVER=