programmgesteuert eine Verbindung zur SQL-Datenbank herstellen<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hi,
Ich versuche, mit einem Skript eine Verbindung zu einer SQL-Datenbank herzustellen
Befehl Datenbank öffnen.
Wenn ich jetzt interaktiv arbeite, erstelle ich eine „Machine Data Source“ aus
das Datenbankverbindungs-Widget. Wenn ich mich verbinde, ö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 und importieren Sie Tabellen in JMP.
Also ich würde es gerne mit einem Skript versuchen. Leider sehe ich nicht
wo ich den Benutzernamen und das Passwort einfügen würde. Wenn ich versuche, eine Verbindung herzustellen
Im Logfenster bekomme ich folgende Fehlermeldung.
[Microsoft][ODBC SQL Server-Treiber][SQL Server]Anmeldung für Benutzer '' fehlgeschlagen.
Ich denke, das ist nicht überraschend, da ich nicht angegeben habe, wie man sich authentifiziert ...
Der Code ist
Datenbank = Datenbank öffnen (
"DSN=myDatabase", // Datenquelle
"meinTabellenname", //Tabelle
"JMPtable" // neuer Tabellenname
);
Wie kann ich also meine Authentifizierungsdetails angeben?
Ciao,
Paolo
Betreff: Verbindung zur SQL-Datenbank programmgesteuert herstellen@jmpbeginner ,
Ihre Antwort ist wirklich sehr wertvoll.
Vielen Dank!
Ron
Betreff: Verbindung zur SQL-Datenbank programmgesteuert herstellenDanke für dein Teilen, es ist sehr hilfreich!
Betreff: Verbindung zur SQL-Datenbank programmgesteuert herstellenHier ist ein einfaches Beispiel mit Big Class, das Ihnen den Einstieg erleichtern sollte.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 ALLE EINFÜGEN um mehrere Zeilen gleichzeitig einzufügen.
Betreff: Verbindung zur SQL-Datenbank programmgesteuert herstellenHallo, Mr. Mroz,
Schätzen Sie 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). existing_col_names=Aktuelle Datentabelle() << Spaltennamen abrufen( string);
(2). Neue Werte (in Matrix) erhalten durch new_values= dt << Get As Matrix();
Wie fügt man die new_values an die vorhandene Tabelle in der Datenbank an?
Mit freundlichen Grüßen,
WGan
Betreff: Verbindung zur SQL-Datenbank programmgesteuert herstellen" Das erstellte JMP-Dataset hat 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 „Source“ 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));
programmgesteuert eine Verbindung zur SQL-Datenbank herstellenIch habe keine Passwörter mit Access-Datenbanken verwendet.Wenn Sie in diesem Forum nichts von jemandem hören, empfehle ich Ihnen, sich an den technischen Support von JMP zu wenden.
programmgesteuert eine Verbindung zur SQL-Datenbank herstellenHerr 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 finden. Anscheinend kann ich keinen Weg finden, 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 die Northwind.mdb hinzuzufügen. Und versuchen Sie es mit mdb zu verbinden. Wenn ich mit dem Menü arbeite, fragt mich ein Eingabeaufforderungsfenster nach ID/PW. 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. Dort finden Sie 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;",
"AUSWAHL * VON Kunden"
)
Nachdem ich alle Tabellen geschlossen habe, führe ich sie aus, kann ich die passwortgeschützte Zugriffstabelle öffnen. Aber wenn ich dieses Fenster nicht erhalten kann, um den Authentifizierungsprozess anzugeben.
Ich habe getestet, um PWD = 123 in *** zu ändern. Es funktioniert nicht.
Kannst du mir etwas Input geben?
programmgesteuert eine Verbindung zur SQL-Datenbank herstellenHallo Kun,
Sie würden alles verwenden, was für die aufgeführt ist JSL Variable in Ihrem Dataset, die sich aus dem Lesen einer Access-Tabelle ergibt.Sie "setzen Parameter" nicht wirklich für Benutzer-ID und Passwort - Sie erstellen einfach eine Verbindungszeichenfolge und verwenden sie.Ich weiß nicht, ob Access die Möglichkeit hat, Benutzernamen und Passwörter zu verwenden.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;" ;
programmgesteuert eine Verbindung zur SQL-Datenbank herstellenSehr 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 gelten oder für einen Server, auf dem die Datenbankdateien gespeichert wurden. Wenn PW und ID für eine Access-Datei sind, wo kann ich diese Parameter einstellen?
Kun
programmgesteuert eine Verbindung zur SQL-Datenbank herstellenVielen Dank,
das hat perfekt funktioniert.
Ciao,
Paolo
programmgesteuert eine Verbindung zur SQL-Datenbank herstellenPaolo,
Sie benötigen die richtige DSN-Verbindungszeichenfolge.Führen Sie dazu den Befehl aus Datei > Datenbank > Tabelle öffnen .Klicken Verbinden und wählen Sie Ihre ODBC-Quelle aus.Sie werden nach einem Benutzernamen und einem Passwort gefragt.Nachdem Sie diese Informationen eingegeben haben, wird eine Liste mit Schemas und Tabellen angezeigt.Wählen Sie eine beliebige (kleine) Tabelle aus und klicken Sie Offener Tisch .Danach wird in Klick eingelesen Trennen .Das von ges erstellte JMP-Dataset 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 zu sehen – es sieht ungefähr so aus:
Datenbank öffnen ( "DSN=ODBC-Datenbankxxx;UID=xxxx;PWD=xxxxxxx;DBQ=meineDatenbankxxxx;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.Ihre wird für SQL Server etwas anders aussehen.Speichern Sie diese Zeichenfolge - um sie programmgesteuert zu verwenden, würden Sie Folgendes tun:
dsn_string = "DSN=ODBC-Datenbankxxx;UID=xxxx;PWD=xxxxxxx;DBQ=meineDatenbankxxxx;DBA=W;" ||
"APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BNF=F;" ||
"BAM=WennAlleErfolgreich;NUM=NLS;DPM=F;MTS=T;MDI=F;CSR=F;FWC=F;FBS=64000;TLO=O;" ;
sql_string = "wähle * aus myschema.othertable"
Datenbank öffnen ( dsn_string , sql_string , "anderer tisch" ) ;
Grüße,
Peter