Erstellen einer Datenbankverbindung mit JSL (und Schließen)Ich versuche, eine Datenbankverbindung zu erstellen und diese dann zu schließen, wenn mein Skript abgeschlossen ist.Ich habe die Verbindungszeichenfolge aus dem Befehl „Connection()“ in meine Funktion „Neue SQL-Abfrage()“ kopiert und in die Funktion „Datenbankverbindung erstellen()“ eingefügt.Aber wenn ich das Skript ausführe, erhalte ich im Protokoll im Zusammenhang mit der Definition von dbc1 eine Fehlermeldung mit der Meldung „[Microsoft][ODBC Driver Manager] Datenquellenname nicht gefunden und kein Standardtreiber angegeben“.
Unten ist mein JSL-Skript, das ich ausführen möchte, und die alte Methode, die problemlos ausgeführt wird.
Anmerkungen:
- Das CustomSQL in der Abfrage ist an anderer Stelle definiert und wird nicht angezeigt, um dieses Beispiel kürzer zu machen.
- Ich habe versucht, der in diesem Beitrag gezeigten Lösung zu folgen: https://community.jmp.com/t5/Discussions/How-to-Disconnect-from-a-database-via-script/mp/597749#M80126
- UPDATE: Ich verwende JMP 16.1 und erhalte die oben gezeigte Fehlermeldung.Wenn ich dies in JMP 17.0 ausführe, funktioniert es einwandfrei.
names default to here(1);
// trying to create the db connection and then insert into the Query
dbc1 = Create database Connection("ODBC:DSN=SQLplus 64-bit ODBC Connection;");
New SQL Query(
Connection( dbc1 ),
CustomSQL( combined )
) << Run Foreground();
// vs. my typical method
New SQL Query(
Connection( "ODBC:DSN=SQLplus 64-bit ODBC Connection;" ),
CustomSQL( combined )
) << Run Foreground();
DatenzugriffWindowsBetreff: Erstellen einer Datenbankverbindung mit JSL (und Schließen)Vielen Dank @Dahlia_Watkins
Betreff: Erstellen einer Datenbankverbindung mit JSL (und Schließen)Der JMP-Support hat das Problem gefunden.Ich habe die Verbindungszeichenfolge aus dem Skript „New SQL Query()“ von Query Builder kopiert.Die Funktion „Datenbankverbindung erstellen()“ lässt den „ODBC:“-Teil der DSN-Definition nicht zu.Das JSL-Skript muss also wie folgt aussehen:
names default to here(1);
// trying to create the db connection and then insert into the Query
dbc1 = Create database Connection("DSN=SQLplus 64-bit ODBC Connection;");
New SQL Query(
Connection( dbc1 ),
CustomSQL( combined )
) << Run Foreground();