Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - VBA\VB6 e comunicazione con db MySql su macchina remota
Forum - Visual Basic 6 - VBA\VB6 e comunicazione con db MySql su macchina remota

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
nicosiajl (Normal User)
Newbie


Messaggi: 7
Iscritto: 27/03/2007

Segnala al moderatore
Postato alle 11:08
Mercoledì, 10/02/2010
Ciao ragazzi saluto tutti, e ringrazio perchè spesso il forum mi è stato di grandissimo aiuto.
Vi porgo il mio quesito: ho un database MySql su un pc remoto(con ip fisso e pubblico)
Con la mia applicazione tramite il vba comunico con questo database con delle chiamate xml, ma questo solamente per acquisire informazioni dal database.
Ecco il problema siccome con questa applicazione non dovrò solo leggere ma anche scrivere, cosa mi consigliate di fare?
Ho provato con la classica stringa di connessione e la gestione del db:
'''''''''''''''''''''''
Set conn = New ADODB.Connection
conn.ConnectionString = ("Driver={MySQL ODBC 3.51 Driver};Server=localhost;" & _
                         "Database=xxx;User=xxxx;Password=xxxxx;Option=4;")
conn.Open
Objrs.Open "SELECT campo1 FROM tabella", conn, adOpenStatic
'''''''''''''''''''''''
ma funziona solo quando il database è in locale o nella rete(server interno), non fà su pc remoti o host.

Anticipati ringraziamenti

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 16:18
Mercoledì, 10/02/2010
Bisogna capire se il DBMS è "esposto" su internet ... sai nulla di come è stato installato?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
nicosiajl (Normal User)
Newbie


Messaggi: 7
Iscritto: 27/03/2007

Segnala al moderatore
Postato alle 17:04
Mercoledì, 10/02/2010
Testo quotato

Postato originariamente da nessuno:

Bisogna capire se il DBMS è "esposto" su internet ... sai nulla di come è stato installato?



MMmmMM cosa intenti?

Il mysql è installato sul nostro server, abbiamo un ip pubblico, e il database viene già interrogato dall'esterno però tramite pagine php.
Un'altra applicazione che attualmente viene usata dentro la lan interroga lo stesso database (in localhost), ma il prossimo step è riuscire a fare utilizzare questa app. anche agli user off-lan.

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 17:22
Mercoledì, 10/02/2010
Testo quotato

Postato originariamente da nicosiajl:

MMmmMM cosa intenti?



Intendo se è raggiungibile da un qualsiasi client internet sulla porta standard di MySql (3306) ...

Testo quotato

Il mysql è installato sul nostro server, abbiamo un ip pubblico, e il database viene già interrogato dall'esterno però tramite pagine php.



Quindi non dall'esterno ... semmai dall'interno del server ...

Testo quotato

Un'altra applicazione che attualmente viene usata dentro la lan interroga lo stesso database (in localhost), ma il prossimo step è riuscire a fare utilizzare questa app. anche agli user off-lan.



Non ho capito ... se il server ha un indirizzo pubblico, come mai sta in LAN ? E poi che cosa vuol dire che "interroga in localhost" ? Non ha senso ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
nicosiajl (Normal User)
Newbie


Messaggi: 7
Iscritto: 27/03/2007

Segnala al moderatore
Postato alle 17:37
Giovedì, 11/02/2010
Non ho capito ... se il server ha un indirizzo pubblico, come mai sta in LAN ? E poi che
cosa vuol dire che "interroga in localhost" ? Non ha senso ...

il database risiede su un pc 'server' nella nostra lan, questo pc ha un indirizzo pubblico è dall'esterno è pingabile.
E' in lan perchè abbia, un applicazione interna che usa quei dati, questa applicazione attualmente interroga il db con una connectionstring impostata con un indirizzo di server internaalla lan "conn.ConnectionString = ("Driver={MySQL ODBC 3.51 Driver};Server=192.168.1.x".
Il punto è proprio questo vorremmo portare questa applicazione fuori lan, e utilizzarla magari da casa.

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 18:05
Giovedì, 11/02/2010
Testo quotato

Postato originariamente da nicosiajl:

il database risiede su un pc 'server' nella nostra lan, questo pc ha un indirizzo pubblico è dall'esterno è pingabile.



Allora, ricominciamo ...

Il server sta nella vostra LAN ed espone il DBMS su internet ? Intendi questo quando dici "ha un indirizzo pubblico e dall'esterno è pingabile"? Cosa intendi per "esterno"? Da Internet? E il vostro server non sta in DMZ ?

Testo quotato


E' in lan perchè abbia, un applicazione interna che usa quei dati, questa applicazione attualmente interroga il db con una connectionstring impostata con un indirizzo di server internaalla lan "conn.ConnectionString = ("Driver={MySQL ODBC 3.51 Driver};Server=192.168.1.x".



Ma allora sta in una LAN non in DMZ su Internet !

Non ci sto capendo nulla ... perchè non ti spieghi chiaramente ...?

Testo quotato

Il punto è proprio questo vorremmo portare questa applicazione fuori lan, e utilizzarla magari da casa.



In questo caso devi creare una VPN e usare il server da un client a casa tua tramite VPN.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
nicosiajl (Normal User)
Newbie


Messaggi: 7
Iscritto: 27/03/2007

Segnala al moderatore
Postato alle 10:41
Venerdì, 12/02/2010
Perdonami ricominciamo ...
Il server(chiamiamolo 192.168.5.1) che è una macchiana della nostra lan è un webserver è possiede sui suoi dischi un applicazione fatta in php che viene utilizzato da utenti in Francia e Canada per unificare i dati di lavoro in un unica banca dati. (Quindi sede italia, sede Francia e sede Canada) per usare questa applicazione vanno sull indirizzo pubblico http://82.xxx.xxx.xxx/applicazione/index.html
Questo applicativo gestisce i dati su un database Mysql che è installato sullo stesso pc(192.168.5.1).
Poi Abbiamo un'altra applicazione (VBA), usata solo internamente nella lan (pc con ip 192.168.5.xxx) del SERVER (192.168.5.1), che interroga il database MYSQL ("conn.ConnectionString = ("Driver={MySQL ODBC 3.51 Driver};Server=192.168.5.1") è fin qui tutto funziona.....uno dei sviluppi futuri è portare fuori Lan quest'ultimo applicazione, è magari modificando la connectionstring collegarci al database mediante indirizzo pubblico.
La vpn non farebbe altro che farmi entrare in rete da un qualsisasi posto è quindi nell'applicazione (non cambia nulla visto che avrei un indirizzo della stessa sotto rete e praticamente sono nella stessa lan), ma questo significa impostare la vpn a ogni utente che vuole usare l'applicazione fuori rete, Inoltre la conessione vpn è molto soggetta alla linea internet del user quindi spesso molto lenta, problema che non esiste se l'applicazione si connette in internet solo per fare una richiesta sql....


Spero di esser stato un pò + chiaro :hail:



PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 11:07
Venerdì, 12/02/2010
Testo quotato

Postato originariamente da nicosiajl:

sull indirizzo pubblico http://82.xxx.xxx.xxx/applicazione/index.html



Allora c'e' un router che fa natting dall'indirizzo 82.... porta 80 verso l'indirizzo privato del server ... ? Giusto?

Per poter lavorare con l'applicazione VBA, allora, dovreste fare un0operazione simile sul vostro router per nattare l'ip pubblico sull'indirizzo interno del server ma sulla porta di comunicazione usata da mysql (in genere 3306).

E' quindi un problema di configurazione dei vostri apparati di rete ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
nicosiajl (Normal User)
Newbie


Messaggi: 7
Iscritto: 27/03/2007

Segnala al moderatore
Postato alle 11:46
Venerdì, 12/02/2010
Testo quotato

Postato originariamente da nessuno:

Testo quotato

Postato originariamente da nicosiajl:

sull indirizzo pubblico http://82.xxx.xxx.xxx/applicazione/index.html



Allora c'e' un router che fa natting dall'indirizzo 82.... porta 80 verso l'indirizzo privato del server ... ? Giusto?

Per poter lavorare con l'applicazione VBA, allora, dovreste fare un0operazione simile sul vostro router per nattare l'ip pubblico sull'indirizzo interno del server ma sulla porta di comunicazione usata da mysql (in genere 3306).

E' quindi un problema di configurazione dei vostri apparati di rete ...



A ok proverò, vi aggiorno sui riscontri per ora Grazie

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo