Bonjour à tous,
J'ai une base de données dans laquelle j'ai écrit une procédure stockée, qui génère une table pour l'analyse DOE. Fondamentalement, la sélection dynamique des paramètres et de leurs valeurs, c'est pourquoi une simple requête de table ne fonctionne pas.
Dans JMP 13, il existe une fenêtre de table d'ouverture de base de données avancée qui répertorie toutes les procédures stockées dans le SQL. Je voudrais exécuter "Call StoredProc(x)" en utilisant execute sql mais rien ne se passe. Dans matlab, il renvoie la table appropriée.
Comment puis-je exécuter une procédure stockée dans JMP et importer les résultats dans une table ?
Merci,
Akos
J'ai réalisé une telle interface qui s'appuie sur une procédure stockée pour renvoyer les données une fois les choix de l'utilisateur connus. La chaîne de connexion a été obtenue en se connectant à une table sur le même serveur que la procédure stockée, puis en la copiant à partir du script source de la table.
J'ai ensuite utilisé la possibilité d'exécuter du code SQL à partir de JMP. L'exemple ci-dessous concerne un serveur exécutant Microsoft T-SQL. Toutes mes entrées dans la procédure stockée sont du texte, d'où l'utilisation de '' autour de chaque chaîne. C'est un peu brutal car vous utilisez JSL pour écrire des chaînes SQL, mais cela fonctionne bien.
// Récupère les entrées utilisateur sous forme de chaînes
...code d'interface ici...
// créer une connexion
dbc = Créer une connexion à la base de données(
"ODBC:Description=##### toolset ;DRIVER=SQL Server ;SERVER=#####;UID=######;Trusted_Connection=Yes ;APP=JMP;WSID=####;DATABASE =##### ;"
);
// obtenir le résultat
Éval(
Analyser(
Éval Insérer(
"\[
SQLString = "DÉCLARER @rc entier
EXÉCUTER @rc = [dbo].[GetResultsStandardised]
@DataSource = '^dataSource^'
,@Site = '^Site^'
,@FromDate = '^fromDateString^'
,@ToDate = '^toDateString^'
,@Niveau1 = '^chaîne1niveau1^'
,@Niveau2 = '^chaîne2niveau2^'
,@Level3 = '^level3string^'
" ;
]\"
)
)
);
dtresult = Exécuter SQL( dbc, SQLString, "Result Table" );
//ranger
Fermer la connexion à la base de données (dbc);