Accesso a Db Mysql con Applicazione Access 2007

di
Anonimizzato14354
il
16 risposte

Accesso a Db Mysql con Applicazione Access 2007

Ciao, sono nuovo del forum ma ho un problema che mi sta dando parecchi grattacapi. Ho sviluppato un applicazione access FRONT END che si collega ad un db Mysql sia in locale che da remoto. Il file BE delle tabelle originariamente fatto in access l'ho trasformato tramite utility Bullzip in un db Mysql. Il db è stato correttamente convertito senza grandi problemi. Attivando la funzione Dati esterni mi collego al dbmysql(residente su Nas) tramite Odbc creando un dns che mi propone la schermata tipica della connessione Mysql, immetto indirizzo del nas(sia in locale che in remoto tramite ip statico ) user name password e nome db , mi appare l'elenco delle tabelle e attivo il collegamento che va a buon fine e carica tutte le tabelle del db alle quali ho accesso senza problemi. Fin qui tutto bene ma ho la necessità di attivare il collegamento tramite codice Vba, ho copiato direttamente la stringa di connessione dalla tabella di sistema MSysObjects, ma quando arrivo all'istruzione Append per caricare le tabelle mi da errore: Impossibile trovare ISAM installabile(errore 3170) . Per la verità ho già visto un trhead simile su questo forum ma la persona che lo ha postato se non ricordo male non riusciva nemmeno a connettersi manualmente attivando il Dns menttre io mi collego senza problemi. Qualcuno mi può aiutare? e' un problema serio per me perchè mi sta bloccando un lavoro che devo concludere a breve . Grazie in anticipo

16 Risposte

  • Re: Accesso a Db Mysql con Applicazione Access 2007

    Ciao.. se non ho capito male...
    DoCmd.TransferDatabase _
      acLink, _
      "ODBC Database", _
      "ODBC;Driver={SQL Server};Server=NOMEMACCHINA\NOMEISTANZA;Database=NOMEDATABASE;Trusted_Connection=Yes", _
      acTable, _
      "NOME TABELLA ORIGINE", _
      "NOME TABELLA COLLEGATA"
    ciaooo
  • Re: Accesso a Db Mysql con Applicazione Access 2007

    Finalmente un'anima buona che risponde. Ok provo con l'oggetto Docmd e poi ti so dire anche se questo vale per una sola tabella , qualora funzionasse lo devo ciclare per tutte le tabelle del db. Grazie millle della risposta...
  • Re: Accesso a Db Mysql con Applicazione Access 2007

    Segnalo:
    "http://forum.masterdrive.it/access-79/access-2007-mysql-81382/"
  • Re: Accesso a Db Mysql con Applicazione Access 2007

    3 Considerazioni:
    1) E' la prima volta che mi iscrivo a forum dedicati alla programmazione, non l'ho mai fatto prima e non sapevo della questione legata al cross posting ne tantomeno al fatto che, per questioni di netiquette, non si potesse iscriversi a più forum sottoponendo lo stesso problema.
    2) Non ho bisogno di codice pronto(come dire pappa pronta..) , sono circa 15 anni che smanetto su access e Vba a partire dalla versione 2.0 , ho proposto e sottoposto questo problema perche da poco tempo ho avuto necessità di interfacciarmi con Mysql , mondo a me quasi del tutto sconosciuto. Se hai fatto caso ho postato lo stesso trhead anche nella sezione di questo forum dedicata appunto a Mysql perchè non ero certo che la pertinenza di ciò che ho postato riguardasse più Access o MySql.
    3) Senza peccare di immodestia, sul codice vba e su access, ho accumulato una certa esperienza al punto che leggendo anche altri trhead nel forum dedicato qualche piccolo consiglio sarei anche in grado di poterlo dare e l'avrei certamente fatto molto volentieri.

    Ultima considerazione fuori elenco, troppe rigidità alla fine anzichè regolare in maniera intelligente rischiano di essere paraventi autoreferenziali.
    Ringrazio comunque l'utente Angelo_tbp che gentilmente mi ha risposto
  • Re: Accesso a Db Mysql con Applicazione Access 2007

    Ti ho contattato anche in privato.

    saluti.
  • Re: Accesso a Db Mysql con Applicazione Access 2007

    Joker1962 ha scritto:


    3 Considerazioni:
    1) E' la prima volta che mi iscrivo a forum dedicati alla programmazione, non l'ho mai fatto prima e non sapevo della questione legata al cross posting ne tantomeno al fatto che, per questioni di netiquette, non si potesse iscriversi a più forum sottoponendo lo stesso problema.
    Non è vietato iscriversi a più Forum, io sono iscritto a diversi forum, mentre i regolamenti dei singoli Forum individuano cosa è ammesso e cosa no...
    Il CrossPost è distinto in 2 modi, e i vari Forum lo regolamentano per evitare dispersione di informazioni non che sia VIETATO a prescindere...
    Per evitare di aprire discorsi in N forum, il buonsenso chiede che nei vari forum in cui si propone venga inserito un LINK ai vari Forum nei quali si è proposto l'argomento.
    Questo comportamento consente ad eventuali futuri interessati di poter seguire la trattazione del problema ed eventualmente le varie soluzioni anche girando tra i vari forum.

    Mi pare questa si possa definire una cosa intelligente...!

    Joker1962 ha scritto:


    2) Non ho bisogno di codice pronto(come dire pappa pronta..) , sono circa 15 anni che smanetto su access e Vba a partire dalla versione 2.0 , ho proposto e sottoposto questo problema perche da poco tempo ho avuto necessità di interfacciarmi con Mysql , mondo a me quasi del tutto sconosciuto. Se hai fatto caso ho postato lo stesso trhead anche nella sezione di questo forum dedicata appunto a Mysql perchè non ero certo che la pertinenza di ciò che ho postato riguardasse più Access o MySql.
    Nessuno ti ha accusato di questo..., in realtà nessuno ti ha accusato di nulla...

    Joker1962 ha scritto:


    3) Senza peccare di immodestia, sul codice vba e su access, ho accumulato una certa esperienza al punto che leggendo anche altri trhead nel forum dedicato qualche piccolo consiglio sarei anche in grado di poterlo dare e l'avrei certamente fatto molto volentieri.
    Ripeto che nessuno mette in discussione la tua professionalità, che è sempre la benvenuta, ci mancherebbe...

    Joker1962 ha scritto:


    Ultima considerazione fuori elenco, troppe rigidità alla fine anzichè regolare in maniera intelligente rischiano di essere paraventi autoreferenziali.
    Ringrazio comunque l'utente Angelo_tbp che gentilmente mi ha risposto
    Punto di riflessione certamente per i vari ADMIN dei Forum, di fatto allo stato attuale è da riconoscere che il regolamento va letto e rispettato fino a che riflessioni come le tue trovino conferma nella modifica.
  • Re: Accesso a Db Mysql con Applicazione Access 2007

    Ok per quanto mi riguarda mi premeva chiarirmi dopo di che Alex , il modo garbato con il quale mi hai risposto mi ha fatto piacere e mi dispiace aver involontariamente contravvenuto ad una regola del forum. Per quanto riguarda l'altro forum , dato che mi è stata chiusa la discussione senza tanti complimenti provvederò immediatamente a cancellarmi senza nemmeno rispondere , dati i modi con i quali agiscono non vale nemmeno la pena perdere tempo a scrivere.
  • Re: Accesso a Db Mysql con Applicazione Access 2007

    Joker1962 ha scritto:


    Finalmente un'anima buona che risponde. Ok provo con l'oggetto Docmd e poi ti so dire anche se questo vale per una sola tabella , qualora funzionasse lo devo ciclare per tutte le tabelle del db. Grazie millle della risposta...
    questa è la soluzione più rapida... ma ti rimane l'inconveniente di dover:
    • 1) Accettare manualmente il controllo di sicurezza se il db non si trova in una posizione sicura...
      2) Definire manualmente la chiave primaria della tabella SQL server linkata...
    Se non ti basta dovremmo cambiare approccio...

    a presto.
  • Re: Accesso a Db Mysql con Applicazione Access 2007

    Non avevo notato che era un db mySQL e non un db sql server ... mi spiace... c'è da cambiare la stringa di connessione ma il concetto non cambia...

    a presto
  • Re: Accesso a Db Mysql con Applicazione Access 2007

    Ringrazio nuovamente Angelo per la sua disponibilità ma fortunatamente ho risolto da solo. Ho scritto la riga di codice richiamando un'origine dati computer DSN (non su file ) con odbc creata precedentemente utilizzando Odbc Mysql Driver Connector ver. 5.1. avendo l'accortezza di settare a true le 2 opzioni riguardanti l'autoreconnect e la compressione del db da agganciare. Funziona tutto a meraviglia, crea il link alle tabelle che restano connesse anche alla chiusura e riapertura del db. Se a qualcuno interessa posto il codice.
  • Re: Accesso a Db Mysql con Applicazione Access 2007

    Beh io non disdegno mai il codice
    se ti va di postarlo sicuramente in futuro avrò modo di riutilizzarlo... faccio uso anche io di mysql in alcune app.
  • Re: Accesso a Db Mysql con Applicazione Access 2007

    Joker1962 ha scritto:


    Ringrazio nuovamente Angelo per la sua disponibilità ma fortunatamente ho risolto da solo. Ho scritto la riga di codice richiamando un'origine dati computer DSN (non su file ) con odbc creata precedentemente utilizzando Odbc Mysql Driver Connector ver. 5.1. avendo l'accortezza di settare a true le 2 opzioni riguardanti l'autoreconnect e la compressione del db da agganciare. Funziona tutto a meraviglia, crea il link alle tabelle che restano connesse anche alla chiusura e riapertura del db. Se a qualcuno interessa posto il codice.
    Valuta l'idea di usare una connessione DNS LESS perfettamente supportata dal driver ODBC di MYSQL.
    il vantaggio è relativo ma io se posso evito il DNS.
  • Re: Accesso a Db Mysql con Applicazione Access 2007

    Ok , anche io sono partito con l'idea della connessione DNS LESS , ma a questo punto ritorniamo al problema iniziale ovvero impossibile trovare ISAM installabile e cioè il motivo per cui stavo impazzendo e mi sono rivolto al Vs forum.
  • Re: Accesso a Db Mysql con Applicazione Access 2007

    Mi sembra di capire che non hai ancora provato a crearti un Universal Data Link (UDL).
    Sbaglio?
Devi accedere o registrarti per scrivere nel forum
16 risposte