PDA

View Full Version : Eseguire query su un db esterno


MEMon
30-11-2006, 22:45
Come posso fare per eseguire una query ad un database mysql che si trova un un determinato server?

Preciso, io ho bisogno che uno script javascript eseguite in locale, mi riesca a fare una query ad un db che si trova innvece su un server remoto.

Non può essere impossibile dai.

mad_hhatter
30-11-2006, 23:18
in javascript non so: non devi eseguire codice in locale, devi dialogare col server... per ste cose di solito si usano linguaggi di scripting server side, come php... però può essere che mi sbagli

vizzz
30-11-2006, 23:41
con un client mysql?

MEMon
01-12-2006, 10:12
Si ma ovviamente con javascript mi connetto ad uno script php(è ajax).

Cos'è un client mysql?

giannola
01-12-2006, 12:16
Come posso fare per eseguire una query ad un database mysql che si trova un un determinato server?

Preciso, io ho bisogno che uno script javascript eseguite in locale, mi riesca a fare una query ad un db che si trova innvece su un server remoto.

Non può essere impossibile dai.

credo che tu manchi della conoscenza dei meccanismi client-server.

Se devi connetterti ad un database è necessario un linguaggio dinamico, quindi lato server.
Non puoi usare un linguaggio lato client tipo javascript perchè ad esempio manca delle funzioni di connessione.

In ogni caso se il db è in remoto il problema non si pone nemmeno proprio perchè javascript è lato client, ovvero viene eseguito solo dal pc su cui si trova e dunque non può andare a prelevare nulla su un altro computer.

Ma poi dimentichi una cosa fondamentale: javascript si vede!
Metteresti mai indicazioni di user, password ed altri dati sensibili in un linguaggio che tutti gli utenti possono vedere ?

whiles_
01-12-2006, 12:25
al massimo sul tuo server fai una pagina che accede al database e scrive i dati, poi javascript li legge... ma questa pagina e lo script devono essere sullo stesso server.

Ciao!

giannola
01-12-2006, 12:35
al massimo sul tuo server fai una pagina che accede al database e scrive i dati, poi javascript li legge... ma questa pagina e lo script devono essere sullo stesso server.

Ciao!

quoto.

E' un pò quello che ho fatto con dei menu che vanno a ricavare i dati da una tabella db.

prima ci si ricava i dati dal db con un linguaggio server e poi li si passa al javascript. ;)

MEMon
01-12-2006, 12:43
credo che tu manchi della conoscenza dei meccanismi client-server.

Se devi connetterti ad un database è necessario un linguaggio dinamico, quindi lato server.
Non puoi usare un linguaggio lato client tipo javascript perchè ad esempio manca delle funzioni di connessione.

In ogni caso se il db è in remoto il problema non si pone nemmeno proprio perchè javascript è lato client, ovvero viene eseguito solo dal pc su cui si trova e dunque non può andare a prelevare nulla su un altro computer.

Ma poi dimentichi una cosa fondamentale: javascript si vede!
Metteresti mai indicazioni di user, password ed altri dati sensibili in un linguaggio che tutti gli utenti possono vedere ?
Scusa eh, ma con ajax riesco già a controllare un db, ovviamente connettendomi ad uno script php,e siccome ajax non è altro che javascript allora non è vero che javascript manca delle funzioni di connessione...

Ovviamente lo script php che controlla il db è sul server del db, io devo solo potermi connettere a quello script!
L'unico mio problema è che non posso avere javascript sullo stesso dominio del db.

MEMon
01-12-2006, 12:45
al massimo sul tuo server fai una pagina che accede al database e scrive i dati, poi javascript li legge... ma questa pagina e lo script devono essere sullo stesso server.

Ciao!
Eh grazie è questo il mio problema...

Constatato che quello che mi serve non posso farlo, c'è un altro metodo per poter salvare dati in una posizione remota accessibile a tutti, sempre con javascript?

MEMon
01-12-2006, 12:47
credo che tu manchi della conoscenza dei meccanismi client-server.

Non direi...
Comunque si è troppo legati quando si programma qualcosa per il web, insomma se io voglio permettere che chiunque che esegua un MIO script posa comunicare con un MIO db che si trova su un MIO server non vedo perchè non potrei farlo...

0rph3n
01-12-2006, 13:10
Scusa eh, ma con ajax riesco già a controllare un db, ovviamente connettendomi ad uno script php,e siccome ajax non è altro che javascript allora non è vero che javascript manca delle funzioni di connessione...
ma non lo controlli con ajax, lo controlli con php!
Ovviamente lo script php che controlla il db è sul server del db, io devo solo potermi connettere a quello script!
L'unico mio problema è che non posso avere javascript sullo stesso dominio del db.
se non puoi avere il javascript sullo stesso dominio del db (che comunque nel caso in cui il php fosse in un'altro dominio, non potresti far niente lo stesso), puoi almeno avere il php nello stesso dominio del javascript?
insomma, se la montagna non va da maometto...

MEMon
01-12-2006, 13:12
certo! lo script php lo posso mettere dove mi pare, posso controllare però un db con uno script php che non risiede sullo stesso server?

0rph3n
01-12-2006, 13:23
dipende dalle impostazioni del dbms!

orpheus
01-12-2006, 13:23
Quando fai la mysql_connect in php ti richiede anche l'host del db, che puo' benissimo essere diverso dalla macchina su cui gira lo script.

Non vedo particolari problemi a collegarti su un DB residente su un altro server.
Spero di aver capito correttamente la situazione

MEMon
01-12-2006, 13:27
provo e ti faccio sapere subito, anzi adesso che ci penso provai, da locale a connettermi ad uno db sul server, e non funzionava.
Direi quindi che non è possibile.

MEMon
01-12-2006, 13:29
dipende dalle impostazioni del dbms!
Immagino che sia una cosa sulla quale non ho il controllo giusto?

giannola
01-12-2006, 13:37
Scusa eh, ma con ajax riesco già a controllare un db, ovviamente connettendomi ad uno script php,e siccome ajax non è altro che javascript allora non è vero che javascript manca delle funzioni di connessione...

Ovviamente lo script php che controlla il db è sul server del db, io devo solo potermi connettere a quello script!
L'unico mio problema è che non posso avere javascript sullo stesso dominio del db.


ecco appunto è un linguaggio lato server che si occupa della connessione non javascript.
A questo punto non vedo l'utilità, il vantaggio in termini di elaborazione, di ricorrere ad uno script che richiama una pagina che fa qualcos'altro.
Tanto vale che usi il php.



Comunque si è troppo legati quando si programma qualcosa per il web, insomma se io voglio permettere che chiunque che esegua un MIO script posa comunicare con un MIO db che si trova su un MIO server non vedo perchè non potrei farlo...

non c'entra nulla esser legati, se un linguaggio di programmazione non può fare determinate cose, puoi girare il mondo, ma non potrai cambiare l'evidenza della cosa.
Prova a fare in java le stesse cose che puoi fare col c a livello di controllo della macchina, vedrai che è impossibile.

giannola
01-12-2006, 13:38
provo e ti faccio sapere subito, anzi adesso che ci penso provai, da locale a connettermi ad uno db sul server, e non funzionava.
Direi quindi che non è possibile.

dipende dai parametri di connessione e dall'autenticazione.

MEMon
01-12-2006, 13:41
capisco...il fatto è che sono per forza legato a javascript, non posso usare altro!

Allora vediamo di fare un passettino indietro, come posso fare per salvare dati(stringhe di testo) in modo efficiente su un server remoto dove possono essere facilmente utilizzate da chiunque utilizzi il mio script javascript?
Fermo restando che lo script javascript viene eseguito in locale da ogni utente.

MEMon
01-12-2006, 13:42
dipende dai parametri di connessione e dall'autenticazione.
I quali dipendono dall'host del db?

giannola
01-12-2006, 15:18
I quali dipendono dall'host del db?
dall'host e dal db.
Se tu hai un db tipo mysql o mssql devi conoscere l'indirizzo a cui risponde il db, mentre per uno tipo access devi conoscere il percorso fisico.
Poi devi ovviamente conoscere userid e password. ;)

Principalmente devi conoscere queste cose.

Poi vi possono essere altre complicazioni, qualunque errore incontri lo script php devi necessariamente fartelo passare su javascript così potrai visualizzarlo e capire come muoverti.

giannola
01-12-2006, 15:20
capisco...il fatto è che sono per forza legato a javascript, non posso usare altro!

Allora vediamo di fare un passettino indietro, come posso fare per salvare dati(stringhe di testo) in modo efficiente su un server remoto dove possono essere facilmente utilizzate da chiunque utilizzi il mio script javascript?
Fermo restando che lo script javascript viene eseguito in locale da ogni utente.

prima devi visualizzare una connessione al db.

non credo che tu voglia immagazzinarle dentro file di testo.

MEMon
01-12-2006, 15:20
Si ma ste cose già le sapevo sono ovvie, credevo che ti riverivi a come permettere di collegarsi ad un db avendo lo script php non su suo dominio.
Ovvio che conosco password, host userid ecc ecc ...è mio il db...

MEMon
01-12-2006, 15:21
prima devi visualizzare una connessione al db.

non credo che tu voglia immagazzinarle dentro file di testo.
Mi sembra di aver capito che un db non fa al caso mio...non si è ancora arrivati ad una soluzione.

0rph3n
01-12-2006, 16:15
Si ma ste cose già le sapevo sono ovvie, credevo che ti riverivi a come permettere di collegarsi ad un db avendo lo script php non su suo dominio.
Ovvio che conosco password, host userid ecc ecc ...è mio il db...
dipende dalla configurazione dell'utente con cui accedi al db.
infatti si possono specificare degli indirizzi da cui un utente può accedere oppure no.

MEMon
01-12-2006, 16:21
e da dove li posso configurare sti indirizzi? cmq non va bene lostesso perchè TUTTI gli utenti devono poter essere abilitati ad accedere al db.

0rph3n
01-12-2006, 17:05
e da dove li posso configurare sti indirizzi?
devi essere amministratore del server di db :D
cmq non va bene lostesso perchè TUTTI gli utenti devono poter essere abilitati ad accedere al db.
guarda che io stavo parlando dell'utente con cui accedi al db!
non degli utenti che vuoi autenticare sul tuo sito grazie al db!

finito di lavorare!
vado a casa :D
'iao

MEMon
01-12-2006, 17:18
E' chi è che vuole autenticare utenti grazie al db? ma soprattutto chi ha parlato di sito?
Io devo far utilizzare il mio db a TUTTI

giannola
01-12-2006, 19:14
E' chi è che vuole autenticare utenti grazie al db? ma soprattutto chi ha parlato di sito?
Io devo far utilizzare il mio db a TUTTI
:mbe:

allora forse ti sei spiegato male, perchè javascript è un linguaggio usato per le pagine web.
Quindi sia che tu stia facendo un sito internet, una intranet o una extranet la differenza sta solo nell'uso, ma sempre di sito si tratta.

Altrimenti sarebbe il caso che tu spiegassi chiaramente cosa devi fare e come devi farlo.

MEMon
01-12-2006, 20:11
Sto realizzando un'estensione per firefox, che è scritta in javascript e xul(per la grafica), quindi non si tratta di un sito, e il codice javascript non gira su nessun server, ma in locale, sul pc dell'utente che installa l'estensione.

MEMon
05-12-2006, 16:01
stavo pensando...nemmeno con del codice scritto in java si riesce ad accedere ad un db che si trova in remoto?

mad_hhatter
05-12-2006, 18:15
certo, mi pare ci sia il pacchetto jdbc per esempio, però so giusto questo :)

whiles_
05-12-2006, 19:04
Sto realizzando un'estensione per firefox, che è scritta in javascript e xul(per la grafica), quindi non si tratta di un sito, e il codice javascript non gira su nessun server, ma in locale, sul pc dell'utente che installa l'estensione.
Scusa ma lo dicevi prima :asd:
Qui le cose diventano completamente diverse.
Non credo sia così semplice dialogare direttamente col db, l'alternativa più elementare è sempre la stessa: crei una pagina php in remoto che fa da tramite tra l'estrazione dei dati, quindi l'assemblamento in un formato ben definito (xml, ad esempio) e la lettura e l'elaborazione da parte dello script.