PDA

View Full Version : [VB2008] Collegarsi a un database online


andrew92fu
19-06-2009, 22:12
E da tanto che ci provo come faccio a collegarmi a un database che si trova sul mio sito internet????? :mc:

MarcoGG
20-06-2009, 12:08
Forse perchè non azzecchi la ConnectionString giusta...

http://www.connectionstrings.com/

andrew92fu
20-06-2009, 18:27
MarcoGG non potresti essere più preciso? :) :) :)

MarcoGG
20-06-2009, 19:28
MarcoGG non potresti essere più preciso? :) :) :)

Beh, difficile essere più preciso dal momento che non hai nemmeno specificato a quale DB remoto vuoi collegarti...
Ad es. su Sql Server 2005 potrebbe essere sul tipo della seguente :

[ Connect via an IP address ]
Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;

Ma non è detto che tu ce la faccia. Sql Server potrebbe non essere configurato per accettare connessioni remote dirette... Ossia, da utente del sito web puoi effettuare operazioni su DB ( tipicamente tramite Stored Procedures ), ma non direttamente tramite un client che bypassa il sito e si connette direttamente al DB... Non sarebbe molto "saggio" ,tra l'altro, un DB fatto così...

lucausa75
02-12-2009, 10:16
Beh, difficile essere più preciso dal momento che non hai nemmeno specificato a quale DB remoto vuoi collegarti...
Ad es. su Sql Server 2005 potrebbe essere sul tipo della seguente :

[ Connect via an IP address ]
Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;

Ma non è detto che tu ce la faccia. Sql Server potrebbe non essere configurato per accettare connessioni remote dirette... Ossia, da utente del sito web puoi effettuare operazioni su DB ( tipicamente tramite Stored Procedures ), ma non direttamente tramite un client che bypassa il sito e si connette direttamente al DB... Non sarebbe molto "saggio" ,tra l'altro, un DB fatto così...

...e se il database è ACCESS creato da me e messo all'interno del mio FTP di altervista?
Posso collegarmi e modificarlo utilizzando una connection strind di VB2008 Express?
Ho visto che con VB6 è impossibil...

Grazie

MarcoGG
02-12-2009, 10:36
...e se il database è ACCESS creato da me e messo all'interno del mio FTP di altervista?
Posso collegarmi e modificarlo utilizzando una connection strind di VB2008 Express?
Ho visto che con VB6 è impossibil...

Grazie

Non credo sia questione del linguaggio usato. VB6, VB.NET, C# o Java : la storia è sempre la stessa. Se il DB è remoto la scelta tipica è appunto un server di database, come Sql Server e compagnia. Personalmente non mi sono mai posto il problema di accedere ad un file Access su FTP, perciò non sono sicuro al 100%, ma credo proprio non si possa fare.
Del resto FTP sta per File Transfer Protocol, e la gestione di transazioni remote, con conseguenti modifiche parziali ai file gestiti, non fa parte dei comandi del protocollo.
In una Lan non ci sono problemi ( purchè certe condizioni siano rispettate ), e penso che anche via HTTP ci sia la possibilità, ma Access su FTP la vedo dura...

tomminno
02-12-2009, 12:15
Non mi risulta che si possa accedere tramite connessioni di rete (socket) ad Access.
Quello che puoi fare è scrivere un webservice che interagisca con il db e che esponga i metodi che ti servono, chiaramente dovranno essere tipizzati, non è realizzabile un webservice che esegua select * per tabelle arbitrarie.

MarcoGG
02-12-2009, 12:47
Non mi risulta che si possa accedere tramite connessioni di rete (socket) ad Access.


Ma io non ho parlato affatto di Socket.
In una LAN, ad esempio con ADO.NET, è abbastanza semplice, basta avere una cartella condivisa e configurare correttamente la connection string :

Dim strCN As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
"\\" & nomeMacchina & "\" & nomeDirCondivisa & "\" & nomeDB & _
";Persist Security Info=False"

Inoltre ricordo di aver letto qualcosa tempo fa sulla possibilità di farlo anche via HTTP, senza scomodare i web service, ma al momento non saprei citare la fonte.
Il tutto, ovviamente, con i soliti pesanti limiti alla concorrenza che Access impone.

tomminno
02-12-2009, 13:54
Ma io non ho parlato affatto di Socket.
In una LAN, ad esempio con ADO.NET, è abbastanza semplice, basta avere una cartella condivisa e configurare correttamente la connection string :

Dim strCN As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
"\\" & nomeMacchina & "\" & nomeDirCondivisa & "\" & nomeDB & _
";Persist Security Info=False"


Si parla sempre di accesso diretto al file.
Generalmente non è possibile avere l'accesso diretto al file pubblicato su un servizio web.


Inoltre ricordo di aver letto qualcosa tempo fa sulla possibilità di farlo anche via HTTP, senza scomodare i web service, ma al momento non saprei citare la fonte.
Il tutto, ovviamente, con i soliti pesanti limiti alla concorrenza che Access impone.

Potrebbe essere interessante sapere se risulta effettivamente possibile

MarcoGG
02-12-2009, 14:58
Si parla sempre di accesso diretto al file.
Generalmente non è possibile avere l'accesso diretto al file pubblicato su un servizio web.


Beh, ma questo era chiaro, anche se sottinteso, trattandosi di un DB file-based serverless. lucausa75 chiedeva semplicemente come modificare la connection string per raggiungere un file Access, da qui la mia risposta. Se si fosse trattato di una LAN, è possibile in ADO.NET, modificando solo la CN. Su FTP ( che io sappia ) NO.
Poi è chiaro che se lucausa75 vuole crearsi servizi web e quant'altro le cose cambiano, ma non credo fosse il senso della sua richiesta...

cionci
02-12-2009, 19:51
...e se il database è ACCESS creato da me e messo all'interno del mio FTP di altervista?
Posso collegarmi e modificarlo utilizzando una connection strind di VB2008 Express?
Ho visto che con VB6 è impossibil...

Grazie
Se il problema sono i permessi non ci puoi fare niente. Non c'entra niente nemmeno VB6.
http://www.hwupgrade.it/forum/showpost.php?p=29891743&postcount=4

tomminno
03-12-2009, 07:51
Beh, ma questo era chiaro, anche se sottinteso, trattandosi di un DB file-based serverless. lucausa75 chiedeva semplicemente come modificare la connection string per raggiungere un file Access, da qui la mia risposta. Se si fosse trattato di una LAN, è possibile in ADO.NET, modificando solo la CN. Su FTP ( che io sappia ) NO.
Poi è chiaro che se lucausa75 vuole crearsi servizi web e quant'altro le cose cambiano, ma non credo fosse il senso della sua richiesta...

Nella richiesta era esplicitato chiaramente che voleva collegarsi "a un database che si trova sul mio sito internet".
Se vuole interagire con il suo database Access che io sappia una delle strade è scrivere un webservice che interagisca con il db ed esponga le funzionalità che gli servono.
Difficilmente un sito internet personale è raggiungibile in LAN, e sarebbe difficile farlo anche se il sito fosse aziendale dato che spesso c'è la DMZ a mettere i bastoni tra le ruote.

cionci
03-12-2009, 07:59
Notate che la richiesta iniziale è di giugno ;)
lucausa75 ha uppato la discussione per un problema simile: http://www.hwupgrade.it/forum/showthread.php?p=29891743#post29891743
Quindi direi di continuare di là

MarcoGG
03-12-2009, 08:21
Nella richiesta era esplicitato chiaramente che voleva collegarsi "a un database che si trova sul mio sito internet".
Se vuole interagire con il suo database Access che io sappia una delle strade è scrivere un webservice che interagisca con il db ed esponga le funzionalità che gli servono.
Difficilmente un sito internet personale è raggiungibile in LAN, e sarebbe difficile farlo anche se il sito fosse aziendale dato che spesso c'è la DMZ a mettere i bastoni tra le ruote.

Allora non mi sono spiegato io. :rolleyes:

La richiesta di lucausa75, se non lo sai, è correlata a questi altri 2 thread :
- http://www.hwupgrade.it/forum/showthread.php?p=29876028#post29876028
- http://www.hwupgrade.it/forum/showthread.php?t=2098115

Chiede come connettersi ad un DB Access non locale ( nella fattispecie su FTP ) modificando essenzialmente la stringa di connessione. Cioè lui ha il ragionevole dubbio che, solo modificando la CN possa riuscirci. Da qui il senso della mia risposta : LO PUOI FARE SOLO IN LAN ! E poi ho postato quella CN di esempio, che infatti funziona perfettamente in una LAN.
Punto.

Allo stesso modo, rimanendo aderente a quanto chiesto da lui, NON credo si possa fare al 99% con FTP. Lo so anch'io che ci sono i web services e compagnia cantanti, ma non li ho proprio tirati in ballo per il semplice motivo che sono convinto non fosse il senso della richiesta di lucausa75 !

Se deve star lì a farsi i suoi web services, a sto punto fa prima a cambiare il database. Sul suo hosting c'è sicuramente il supporto ad un DB MySql, Sql Server, o che so io. Anch'io ricordo di aver creato tempo fa un DB MySql su altervista in pochi minuti, e allora non sapevo niente di MySql.

Non so, credo di essermi spiegato, adesso.
Mamma mia, quando si dice "la fatica del concetto" :doh: :rolleyes: .