Stellen Sie programmgesteuert eine Verbindung zur SQL-Datenbank her<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Ich versuche, in einem Skript eine Verbindung zu einer SQL-Datenbank herzustellen
Befehl „Datenbank öffnen“.
Wenn ich jetzt interaktiv arbeite, erstelle ich eine „Maschinendatenquelle“.
Das Datenbankverbindungs-Widget. Wenn ich eine Verbindung herstelle, öffnet sich ein Fenster mit der Frage
für Benutzername und Passwort. Wenn ich sie einfüge, kann ich erfolgreich eine Verbindung herstellen
in die Datenbank hinzufügen und Tabellen in JMP importieren.
Deshalb würde ich das Gleiche gerne anhand eines Skripts versuchen. Leider sehe ich es nicht
wo ich den Benutzernamen und das Passwort eingeben würde. Wenn ich versuche, eine Verbindung herzustellen
Ich erhalte die folgende Fehlermeldung im Protokollfenster.
[Microsoft][ODBC SQL Server-Treiber][SQL Server]Anmeldung für Benutzer '' fehlgeschlagen.
Ich denke, das ist nicht überraschend, da ich nicht angegeben habe, wie die Authentifizierung erfolgen soll ...
Der Code ist
Datenbank = Datenbank öffnen(
„DSN=myDatabase“, // Datenquelle
"myTablename", //table
„JMPtable“ // neuer Tabellenname
);
Wie kann ich also meine Authentifizierungsdaten angeben?
Ciao,
Paolo
Betreff: Programmgesteuerte Verbindung zur SQL-Datenbank herstellen@jmpbeginner ,
Ihre Antwort ist tatsächlich sehr wertvoll.
Vielen Dank!
Ron
Betreff: Programmgesteuerte Verbindung zur SQL-Datenbank herstellenVielen Dank für Ihr Teilen, es ist sehr hilfreich!
Betreff: Programmgesteuerte Verbindung zur SQL-Datenbank herstellenHier ist ein einfaches Beispiel mit Big Class, das Ihnen den Einstieg erleichtern soll.Es fügt alle Zeilen in eine Datenbanktabelle namens big_class ein.Beachten Sie die Verwendung von evalinsert - sorgt für sauberer aussehende Saiten.
dt = open("$sample_data\big class.jmp");
dbc = create database connection("<PROPER connection="" parameters="">");
for (i = 1, i <= nrows(dt), i++,
one_name = dt:name[i];
one_age = dt:age[i];
one_sex = dt:sex[i];
one_ht = dt:height[i];
one_wt = dt:weight[i];
sql = evalinsert(
"INSERT INTO big_class(name, age, sex, height, weight)
VALUES('^one_name^', ^one_age^, '^one_sex^', ^one_ht^, ^one_wt^)");
print(sql);
execute sql(dbc, sql); // Does an implicit commit
);
close database connection(dbc);
</PROPER>
Wenn Sie viele Zeilen einfügen müssen, sollten Sie mehrere Einfügungen gleichzeitig durchführen.In Oracle können Sie verwenden ALLES EINFÜGEN um mehrere Zeilen gleichzeitig einzufügen.
Betreff: Programmgesteuerte Verbindung zur SQL-Datenbank herstellenHallo, Herr. Mroz,
Vielen Dank für Ihr Teilen.
Ich lerne die JMP-Verbindung zur Datenbank. Basierend auf Ihrem Skript kann ich die Datenbank öffnen.
Meine nächste Frage ist, wie man eine Zeile (Zeilen) in die vorhandenen Tabellen in der Datenbank einfügt.
Ich könnte Folgendes bekommen:
(1). bestehende_col_names=Aktuelle Datentabelle() << Spaltenname abrufen( string);
(2). neue Werte (in der Matrix) erhalten durch new_values= dt << Get As Matrix();
Wie füge ich die neuen_Werte in die vorhandene Tabelle in der Datenbank ein?
Beste grüße,
WGan
Betreff: Programmgesteuerte Verbindung zur SQL-Datenbank herstellen" Der erstellte JMP-Datensatz verfügt über zwei Tabellenvariablen: JSL Und SQL"
Ich habe mein eigenes Problem gelöst, dachte aber, ich würde es auch hier teilen:
Wenn Sie die beiden Tabellenvariablen „JSL“ und „SQL“ oder „Quelle“ nicht sehen, werden sie aufgrund von Einstellungen ausgeblendet.
Führen Sie dieses JSL-Skript aus, um das Problem zu lösen:
pref(ODBC Verbindungszeichenfolge ausblenden(0));
Stellen Sie programmgesteuert eine Verbindung zur SQL-Datenbank herIch habe keine Passwörter für Access-Datenbanken verwendet.Wenn Sie in diesem Forum nichts von jemandem hören, würde ich vorschlagen, sich an den technischen Support von JMP zu wenden.
Stellen Sie programmgesteuert eine Verbindung zur SQL-Datenbank herHerr Mroz,
Ich habe einige Nachforschungen zum Benutzer-/Passwortsatz von MS Access angestellt. Basierend auf den aktuellen Informationen hatten wir eine Möglichkeit, ein Passwort für eine MS Access-Datei festzulegen. Sie können den folgenden Link besuchen, um einige Möglichkeiten zu erfahren. Es scheint, dass ich keine Möglichkeit finde, den Benutzernamen für die Zugriffsdatei festzulegen.
http://office.microsoft.com/en-us/access-help/CH001010607.aspx?CTT=97
Ich habe getestet, 123 als Passwort für Northwind.mdb hinzuzufügen. Und versuchen Sie es mit mdb zu verbinden. Wenn ich mit dem Menü arbeite, werde ich in einem Eingabeaufforderungsfenster nach ID/PW gefragt. nachdem ich „123“ eingefügt habe. Ich kann die Datenbankdatei abrufen und die Tabelle öffnen. Dann trenne ich die Verbindung und erhalte die folgende JSL. Sie finden dort PWD- und UID-Informationen.
Datenbank öffnen(
"DSN=MS Access Database;DBQ=D:\My Business\Supplier\IT\Access\Northwind.mdb;DefaultDir=D:\My Business\Supplier\IT\Access;DriverId=25;FIL=MS Access;MaxBufferSize= 2048;PageTimeout=5;PWD=123;UID=admin;",
„* AUS KUNDEN AUSWÄHLEN“
)
Nachdem ich alle Tabellen geschlossen und ausgeführt habe, kann ich die passwortgeschützte Zugriffstabelle öffnen. Aber wenn ich dieses Fenster nicht erhalten kann, um den Authentifizierungsprozess anzugeben.
Ich habe versucht, PWD=123 in *** zu ändern. Es funktioniert nicht.
Können Sie mir etwas Input geben?
Stellen Sie programmgesteuert eine Verbindung zur SQL-Datenbank herHallo Kun,
Sie würden alles verwenden, was für die aufgeführt ist JSL Variable in Ihrem Datensatz, die beim Lesen einer Access-Tabelle entstanden ist.Sie legen nicht wirklich „Parameter“ für Benutzer-ID und Passwort fest – Sie erstellen einfach eine Verbindungszeichenfolge und verwenden sie.Ich weiß nicht, ob Access Benutzernamen und Passwörter verwenden kann.Hier ist eine Verbindungszeichenfolge, die ich für eine Access-Datenbank verwendet habe.Beachten Sie, dass es keinen Benutzernamen/Passwort gibt.
// Datenquelle
dsn_string = „DSN=MS Access-Datenbank;“ ||
„DBQ=C:\Discovery2011\JMP Surveillance1.accdb;“ ||
„DefaultDir=C:\Discovery2011;DriverId=25;“ ||
„FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;“ ;
Stellen Sie programmgesteuert eine Verbindung zur SQL-Datenbank herSehr geehrter Herr Mroz,
Das ist Kun. Ich bin dieser Gruppe beigetreten.
Vielen Dank für Ihre Antwort auf diese Frage zur Datenbankverbindung. Hier habe ich auch JMP verwendet, um einige MS Access-Datenbankdateien zu verbinden
Datei > Datenbank > Tabelle öffnen .
. Ich frage mich, ob das Passwort und die ID, über die Sie sprechen, für eine Zugriffsdatei oder für einen Server gelten, auf dem die Datenbankdateien gespeichert wurden. Wenn das PW und die ID für eine Access-Datei gelten, wo kann ich diese Parameter festlegen?
Kun
Stellen Sie programmgesteuert eine Verbindung zur SQL-Datenbank herDanke,
das hat perfekt funktioniert.
Ciao,
Paolo
Stellen Sie programmgesteuert eine Verbindung zur SQL-Datenbank herPaolo,
Sie benötigen die richtige DSN-Verbindungszeichenfolge.Um dies zu erhalten, führen Sie den Befehl aus Datei > Datenbank > Tabelle öffnen .Klicken Verbinden und wählen Sie Ihre ODBC-Quelle aus.Sie werden aufgefordert, einen Benutzernamen und ein Passwort einzugeben.Nach Eingabe dieser Informationen wird eine Liste mit Schemata und Tabellen angezeigt.Wählen Sie eine beliebige (kleine) Tabelle aus und klicken Sie Offener Tisch .Danach wird der Klick eingelesen Trennen .Der erstellte JMP-Datensatz verfügt über zwei Tabellenvariablen: JSL Und SQL .Wenn Sie darauf klicken, sehen Sie den Verbindungsstring und die verwendete SQL-Anweisung.Sie können auf die JSL-Variable doppelklicken, um ihren Wert anzuzeigen. Er sieht dann etwa so aus:
Datenbank öffnen ( "DSN=ODBC Databasexxx;UID=xxxx;PWD=xxxxxxx;DBQ=mydatabasexxxx;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T; RST=T;BTD=F;BNF=F;BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=F;CSR=F;FWC=F;FBS=64000;TLO=O;" ,
„SELECT * FROM myschema.mytable“ ) ;
Mein Beispiel zeigt eine typische Oracle-Datenbank-DSN-Zeichenfolge.Bei SQL Server sieht Ihr Beispiel etwas anders aus.Speichern Sie diese Zeichenfolge. Um sie programmgesteuert zu verwenden, würden Sie etwa Folgendes tun:
dsn_string = „DSN=ODBC Databasexxx;UID=xxxx;PWD=xxxxxxx;DBQ=mydatabasexxxx;DBA=W;“ ||
„APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BNF=F;“ ||
„BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=F;CSR=F;FWC=F;FBS=64000;TLO=O;“ ;
sql_string = „wähle * aus myschema.othertable“
offene Datenbank ( dsn_string , sql_string , „Anderer Tisch“ ) ;
Grüße,
Peter