Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Db Access -> MySql Aruba

520 views
Skip to first unread message

bertis...@gmail.com

unread,
Dec 30, 2017, 10:37:08 AM12/30/17
to
Salve,

tramite VBA di Access, vorrei inserire dei dati in una tabella del server di Aruba che utilizza MySql.

Adopero Microsoft Access 2013 64 bit.

Ho provato a creare un pulsante inserendo, all'evento clic, il seguente codice:


Dim oConn As ADODB.Connection

Dim rs As ADODB.Recordset

Set oConn = New ADODB.Connection

oConn.Open "DRIVER={MySQL ODBC 5.2 ANSI Driver};SERVER=indirizzoipserveraruba;DATABASE=nomesqlserveraruba;USER=miouser;PASSWORD=miapassword;Option=3"

Set rs = New ADODB.Recordset

strSQL = "INSERT INTO Categoria (ID, Categoria, Genere) VALUES ('1000', 'prova', '1')"

rs.Open strSQL, oConn, adOpenDynamic, adLockOptimistic

rs.Close

Ovviamente al mposto delle diciture inserite nella stringa di oConn.Open ho inserito le credenziali corrette.

Trascurate la marte del recordset, che andrà modificata. Il problema nasce già sulla stringa di oConn.Open

l'errore visualizzato è il seguente:

Errore di run-time 2147467259(800040005):

[Microsoft][Driver Manager ODBC] Nome origine dati non trovato e driver predefinito non specificato


Premetto che oltre ad Access, non ho installato sul pc dove ho il database MDB, alcun software o componente di MySql, mentre da strumenti - riferimenti di VBA ho abilitato i seguenti riferimenti:

visual basic for applications
Microsoft Access 15.0 Object Library
Ole Automation, Microsoft Office 15.0 Access database enghine Object Library
Microsoft ActiveX Data Object 2.0 Library
Microsoft Outlook 15.00 Object Library
Microsoft Excel 15.00 Object Library
Microsoft Office 15.00 Object Library
Microsoft Word 15.00 Object Library

Ho provato inoltre a modificare la stringa del codice VBA, perchè ho letto su qualche forum che se adopero il 64bit, il riferimento ai driver poteva essere differente, ma il messaggio di errore non è mai cambiato. Ho modificato inserendo i seguenti parametri:


{MySQL ODBC 5.1 Driver}
{MySQL ODBC 5.2w Driver}

Al posto del:

{MySQL ODBC 5.2 Driver}

Avete idea di come guidarmi alla risoluzione del problema?

Grazie mille a tutti e buon anno.

SimoneB

@Alex

unread,
Dec 30, 2017, 2:53:16 PM12/30/17
to
Server di Aruba...?
Nel web...?
Hai un IP fisso....?

Nel web si lavora con applicazioni web non desk... sfugge qualche cosa...?

@Alex

bertis...@gmail.com

unread,
Dec 31, 2017, 5:09:59 AM12/31/17
to
Ciao Alex e grazie, mi spiego meglio.

Ho un DB locale, sul mio PC dell'ufficio, in cui ho dei dati da pubblicare su di un sito WEB, presente su di un server MySql Aruba. Dovrei creare un'interazione fra il mio DB di Access ed Aruba.

Mi sono documentato meglio rispetto al post e pare sia un problema di Aruba che non concede i diritti di accesso ai propri server in esterno.

Debbo quindi creare sul server WEB di Aruba una pagina di FORM ed una pagina PHP d'inserimento dati. Mentre su VBA di Access debbo trovare il modo di compilare la pagina FORM, inserita su WEB. Consigli?

Simone

bertis...@gmail.com

unread,
Dec 31, 2017, 7:04:10 AM12/31/17
to
OK! Ci sono riuscito.

In pratica occorre, inserire sullo spazio WEB di aruba, un file HTML adoperato come form di compilazione ed un file PHP adoperato per l'inserimento nel DB di Aruba dei dati. Da VBA di Access occorre impostare il seguente codice:



Dim MyBrowser As SHDocVw.InternetExplorer
Set MyBrowser = New SHDocVw.InternetExplorer

MyBrowser.Visible = False
MyBrowser.Navigate ("http://www.miosito.com/form.html")
MyBrowser.Document.All("name").Value = "1000"
MyBrowser.Document.All("address").Value = "Prova"
MyBrowser.Document.All("submit").Click


Ovviamente così non si vede l'inserimento ed il tutto avviene in modo silente, mettendo TRUE su MyBrowser.Visible invece viene palesata la procedura.

Mi sembra ovvio che "1000" e "Prova" possano essere sostituiti prelevando i dati da tabella o query.

Saluti

@Alex

unread,
Dec 31, 2017, 10:29:41 AM12/31/17
to
Se a te va bene questa soluzione... va bene a tutti.... ti rendi conto tuttavia che stai usando un'interfaccia WEB compilata in modalità HIDDEN, il che non ha nulla a che vedere con un normale interfacciamento di dati... che ovviamente come ti dicevo non si può fare...!

Secondo me tuttavia se tu fossi in grado di sviluppare un WEBSERVICE preposto a queste cose e poi usando SOAP, faresti una cosa decisamente più tecnica... molto più tecnica.

Questa soluzione proprio tecnica non lo è..., ma come dicevo se ti soddisfa siamo contenti tutti.

@Alex

BFS

unread,
Jan 2, 2018, 1:59:05 AM1/2/18
to
Il 30/12/2017 16:37, bertis...@gmail.com ha scritto:
> Salve,
>
> tramite VBA di Access, vorrei inserire dei dati in una tabella del server di Aruba che utilizza MySql.
>
> Adopero Microsoft Access 2013 64 bit.
>

cut

>
> SimoneB
>


non mi risulta che aruba lasci accedre ai db mssql neppure richiedendolo
esplicitamente


quindi tramite applicazioni desktop non è fattibile
ciao

RobertoA

unread,
Jan 2, 2018, 3:16:56 AM1/2/18
to
Interessante soluzione
E credo utile pure a molti che usano Aruba per tenere il sito web
Html e php si possono vedere?
0 new messages