connettersi al database SQL a livello di codice<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />CIAO,
Sto cercando di connettermi a un database SQL in uno script utilizzando il file
Comando Apri database.
Ora, quando lavoro in modo interattivo, creo una "origine dati macchina" da
il widget di connessione al database. Quando mi connetto si apre una finestra che chiede
per nome utente e password. Quando li inserisco, posso connettermi con successo
al database e importare le tabelle in JMP.
Quindi mi piacerebbe provare lo stesso da una sceneggiatura. Purtroppo non vedo
dove inserirei nome utente e password. Quando provo a connettermi
Ottengo il seguente messaggio di errore nella finestra di registro.
[Microsoft] [Driver ODBC SQL Server] [SQL Server] Accesso non riuscito per l'utente ''.
Immagino che questo non sia sorprendente dal momento che non ho specificato come autenticarsi...
Il codice è
Database = Apri database(
"DSN=myDatabase", // origine dati
"nometabella", //tabella
"JMPtable" // nuovo nome della tabella
);
Quindi, come posso specificare i miei dettagli di autenticazione?
Ciao,
Paolo
Ri: connettersi al database SQL a livello di codice@jmpbeginner ,
la tua risposta è davvero molto preziosa.
Grazie mille!
Ron
Ri: connettersi al database SQL a livello di codiceGrazie per la tua condivisione, è molto utile!
Ri: connettersi al database SQL a livello di codiceEcco un semplice esempio utilizzando Big Class che dovrebbe aiutarti a iniziare.Inserisce tutte le righe in una tabella del database chiamata big_class.Notare l'uso di evalinsert - rende le corde dall'aspetto più pulito.
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>
Se hai molte righe da inserire, considera di eseguire più inserimenti alla volta.In Oracle puoi usare INSERISCI TUTTO per inserire più righe alla volta.
Ri: connettersi al database SQL a livello di codiceCiao, signor. Mroz,
Apprezzo la tua condivisione.
Sto imparando la connessione JMP al database; in base al tuo script, sono in grado di aprire il database.
La mia prossima domanda è come inserire una riga (righe) nelle tabelle esistenti nel database.
Potrei ottenere quanto segue:
(1). esistente_col_names=Tabella dati corrente() << ottieni il nome della colonna( stringa);
(2). ottieni nuovi valori (in matrice) con new_values= dt << Ottieni come matrice();
Come aggiungere new_values nella tabella esistente nel database?
Distinti saluti,
WGan
Ri: connettersi al database SQL a livello di codice" Il set di dati JMP che verrà creato avrà due variabili di tabella: JSL E SQL"
Ho risolto il mio problema, ma ho pensato di condividerlo anche qui:
Se non vedi le due variabili della tabella "JSL" e "SQL" o "Sorgente", queste vengono nascoste a causa delle preferenze.
esegui questo script JSL per risolvere il problema:
pref(ODBC Nascondi stringa di connessione(0));
connettersi al database SQL a livello di codiceNon ho utilizzato password con i database di Access.Se non ricevi notizie da qualcuno su questo forum, suggerirei di contattare il supporto tecnico JMP.
connettersi al database SQL a livello di codiceSignor Mroz,
Ho effettuato alcune ricerche sull'impostazione utente/password dal lato di MS Access. Basandomi sulle informazioni attuali, avevamo un modo per impostare la password per un file MS Access. Puoi visitare il seguente collegamento per ottenere alcuni modi. Sembra che non riesca a trovare il modo per impostare il nome utente per il file di accesso.
http://office.microsoft.com/en-us/access-help/CH001010607.aspx?CTT=97
Ho provato ad aggiungere 123 come password per Northwind.mdb. E prova a collegarlo con mdb. Se opero con il menu, una finestra di prompt mi chiederà ID/PW. dopo aver inserito "123". posso ottenere il file del database e aprire la tabella. Quindi mi disconnetto e ottengo il seguente JSL. Puoi scoprire che ci sono informazioni PWD e UID.
Apri banca dati(
"DSN=Database MS Access;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;",
"SELEZIONA * DA Clienti"
)
Dopo aver chiuso tutta la tabella, l'ho eseguita, ho scoperto che posso aprire la tabella di accesso protetta da password. Ma se non riesco a ottenere quella finestra per specificare il processo di autenticazione.
Ho provato a cambiare PWD=123 in ***. Non funziona.
Puoi darmi qualche input?
connettersi al database SQL a livello di codiceCiao Kun,
Utilizzeresti tutto ciò che è elencato per il file JSL variabile nel set di dati risultante dalla lettura di una tabella di Access.In realtà non "imposta i parametri" per ID utente e password: crea semplicemente una stringa di connessione e la usi.Non so se Access ha la capacità di utilizzare nomi utente e password.Ecco una stringa di connessione che ho usato per un database Access.Tieni presente che non esiste nome utente/password.
// Fonte di dati
dsn_string = "DSN=Database di MS Access;" ||
"DBQ=C:\Discovery2011\JMP Surveillance1.accdb;" ||
"DefaultDir=C:\Discovery2011;DriverId=25;" ||
"FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;" ;
connettersi al database SQL a livello di codiceCaro signor Mroz,
Questo è Kun. Mi sono iscritto a questo gruppo.
Grazie per la tua risposta a questa domanda sulla connessione al database. Qui ho anche usato JMP per connettere alcuni file di database di MS Access
File > Database > Apri tabella .
. Mi chiedo che la password e l'ID di cui stai discutendo riguardino un file di accesso o siano per un server in cui sono stati salvati i file del database? Se la PW e l'ID sono per un file Access, dove posso impostare questi parametri?
Ok
connettersi al database SQL a livello di codiceGrazie,
ha funzionato perfettamente.
Ciao,
Paolo
connettersi al database SQL a livello di codicePaolo,
È necessaria la stringa di connessione DSN corretta.Per ottenere questo, esegui il comando File > Database > Apri tabella .Clic Collegare e seleziona la tua sorgente ODBC.Ti verrà richiesto un nome utente e una password.Dopo aver inserito tali informazioni, verrà visualizzato un elenco di schemi e tabelle.Seleziona una tabella (piccola) e fai clic Tavolo aperto .Successivamente viene letto in un clic Disconnetti .Il set di dati JMP creato da ges avrà due variabili di tabella: JSL E SQL .Se fai clic su di essi vedrai la stringa di connessione e l'istruzione SQL che è stata utilizzata.Puoi fare doppio clic sulla variabile JSL per vedere il suo valore: sarà simile a questo:
Apri banca dati ( "DSN=Database ODBCxxx;UID=xxxx;PWD=xxxxxxx;DBQ=miodatabasexxxx;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;" ,
"SELEZIONA * DA mioschema.miatabella" ) ;
Il mio esempio mostra una tipica stringa DSN del database Oracle.Il tuo apparirà leggermente diverso per SQL Server.Salva questa stringa: per usarla a livello di codice dovresti fare qualcosa del genere:
dsn_string = "DSN=Database ODBCxxx;UID=xxxx;PWD=xxxxxxx;DBQ=miodatabasexxxx;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 = "seleziona * da myschema.othertable"
banca dati aperta ( dsn_string , sql_string , "altro tavolo" ) ;
Saluti,
Peter