connettersi al database SQL in modo programmatico<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 banca dati.
Ora, quando lavoro in modo interattivo, creo una "Machine Data Source" da
il widget di connessione al database. Quando mi collego, 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 il nome utente e la password. Quando provo a connettermi
Ottengo il seguente messaggio di errore nella finestra del registro.
[Microsoft][Driver ODBC SQL Server][SQL Server]Accesso non riuscito per l'utente ''.
Immagino che questo non sia sorprendente poiché non ho specificato come autenticare ...
Il codice è
Database = Apri database(
"DSN=myDatabase", // origine dati
"myTablename", //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 programmazione@jmpbeginner ,
la tua risposta è in realtà molto preziosa.
Grazie mille!
Ron
Ri: connettersi al database SQL a livello di programmazioneGrazie per la tua condivisione, è molto utile!
Ri: connettersi al database SQL a livello di programmazioneEcco un semplice esempio che utilizza Big Class che dovrebbe iniziare.Inserisce tutte le righe in una tabella di database chiamata big_class.Si noti 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 INSERIRE TUTTO per inserire più righe alla volta.
Ri: connettersi al database SQL a livello di programmazioneSalve, signor Miroz,
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 linea (linee) nelle tabelle esistenti nel database.
Potrei ottenere quanto segue:
(1). existing_col_names=Tabella dei dati correnti() << ottieni il nome della colonna( stringa);
(2). ottenere nuovi valori (in matrix ) da new_values= dt << Get As Matrix();
Come aggiungere i nuovi_valori nella tabella esistente nel database?
Distinti saluti,
WGan
Ri: connettersi al database SQL a livello di programmazione" Il dataset JMP che viene creato avrà due variabili di tabella: JSL e SQL"
Risolto il mio problema, ma ho pensato di condividere anche qui:
Se non vedi le due variabili di tabella "JSL" e "SQL" o "Source", sono nascoste a causa delle preferenze.
eseguire questo script JSL per risolvere il problema:
pref(ODBC Nascondi stringa di connessione(0));
connettersi al database SQL in modo programmaticoNon ho utilizzato le password con i database di Access.Se non senti qualcuno su questo forum, ti suggerisco di contattare il supporto tecnico di JMP.
connettersi al database SQL in modo programmaticoSignor Mroz,
ho fatto delle ricerche sull'impostazione utente/password dal lato di MS Access. Basandoci sulle informazioni attuali, avevamo un modo per impostare la password per un file MS Access. Puoi visitare il seguente link per ottenere alcuni modi. Sembra che non riesca a trovare il modo di 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 connetterlo con mdb. Se opero con il menu, una finestra di prompt mi chiederà ID/PW. dopo inserisco "123". posso ottenere il file del database e aprire la tabella. Quindi mi disconnetto e ottengo il seguente JSL. È possibile trovare informazioni su PWD e UID.
Apri banca dati(
"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=amministratore;",
"SELEZIONA * DAI clienti"
)
Dopo aver chiuso tutta la tabella, la eseguo, trovo 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 in modo programmaticociao kun,
Useresti tutto ciò che è elencato per il file JSL variabile nel set di dati risultante dalla lettura di una tabella di Access.In realtà non si "impostano i parametri" per userid e password: si crea semplicemente una stringa di connessione e la si utilizza.Non so se Access ha la capacità di utilizzare nomi utente e password.Ecco una stringa di connessione che ho usato per un database di Access.Si noti che non esiste un nome utente/password.
// Fonte di dati
stringa_dsn = "DSN=Database MS Access;" ||
"DBQ=C:\Discovery2011\JMP Surveillance1.accdb;" ||
"DefaultDir=C:\Discovery2011;DriverId=25;" ||
"FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=amministratore;" ;
connettersi al database SQL in modo programmaticoCaro signor Mroz,
Questo è Kun. Mi sono unito a questo gruppo.
Grazie per la risposta a questa domanda sulla connessione al database. Qui ho anche usato JMP per connettere alcuni file di database MS Access tramite
File > Database > Apri tabella .
. Mi chiedo che la password e l'ID di cui stai discutendo siano per un file di accesso o per un server in cui sono stati salvati i file del database? Se PW e ID sono per un file di accesso, dove posso impostare questi parametri?
Kun
connettersi al database SQL in modo programmaticoGrazie,
che ha funzionato perfettamente.
Ciao,
Paolo
connettersi al database SQL in modo programmaticoPaolo,
È necessaria la stringa di connessione DSN corretta.Per ottenerlo, eseguire il comando File > Database > Apri tabella .Clic Collegare e seleziona la tua fonte ODBC.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 .Dopo che viene letto in 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 avrà un aspetto leggermente diverso per SQL Server.Salva questa stringa: per usarla a livello di codice dovresti fare qualcosa del genere:
stringa_dsn = "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;" ;
stringa_sql = "seleziona * da myschema.othertable"
banca dati aperta ( stringa_dsn , stringa_sql , "altro tavolo" ) ;
Saluti,
Peter