MySql connessione ODBC non riuscita

di il
13 risposte

MySql connessione ODBC non riuscita

Salve a tutti, sono alla prima esperienza con MySql per cui non me ne vogliate.
Ho provato ad installare tramite Xampp e tutto è andato per il verso giusto.
Ho un database accdb (access 2007 quindi 32 bit) cui ho importato le tabelle nel MySql e tutto è andato perfettamente. Ora ho collegato le tabelle dal server al accdb ed interrogandole funge.

Ora vi sono in rete 7 postazioni collegate in LAN tra cui anche il server, se provo ad aprire il database da una postazione dove non vi è installato il server mi segnala connessione ODBC non riuscita.
Su una di queste postazioni ho seguito questo link ed i vari passaggi https://dev.mysql.com/doc/connector-odbc/en/connector-odbc-installation-binary-windows.html per rimediare
Ho installato C++ Redistributable per Visual Studio
ho installato Connettore/ODBC 8.0.14 o versioni successive: VC++ Runtime 2015 o VC++ Runtime 2017 sia per la versione 64 che 32 bit così in futuro non dovrebbero esserci problemi cn altri archivi

Ho aperto origine dati ODBC ma cliccando su aggiungi mi da la possibilità di selezionare solo SQL Server... come posso fare in modo tale da creare una nuova origine al MySql? E' la strada giusta per poter fare in modo tale da interrogare l'archivio dalle varie postazioni o devo fare altro?

13 Risposte

  • Re: MySql connessione ODBC non riuscita

    Ciao,
    hai installato sia la versione 64 che 32 bit dell'odbc?

    Se no installa tutte e due le versioni.

    Da quale software hai aperto origine dei dati?

    Hai aggiunto dal pannello di controllo ODBC?

    Ciao
  • Re: MySql connessione ODBC non riuscita

    Ciao, grazie mille per la risposta. Rispondo puntualmente così da intenderci poichè non sono molto pratico
    Ciao,
    hai installato sia la versione 64 che 32 bit dell'odbc?

    Se no installa tutte e due le versioni.
    Sisi, installate entrambe così eventualmente in futuro già stavo apposto sotto questo profilo
    Da quale software hai aperto origine dei dati?
    Spero di non aver frainteso, ho utilizzato access creando la connessione ODBC che, per ricordarmene, ho impostato come nome origina "Access ->MySql" e quando apro il FE dagli altri dispositivi in LAN mi dice che non trova tale origine dati e diversamente non mi permette di crearne altre se non sql server
  • Re: MySql connessione ODBC non riuscita

    zio Ken ha scritto:


    quando apro il FE dagli altri dispositivi in LAN mi dice che non trova tale origine dati e diversamente non mi permette di crearne altre se non sql server
    Che cos'è il FE? Intendi frontend? Quale frontend?
  • Re: MySql connessione ODBC non riuscita

    Alka ha scritto:


    zio Ken ha scritto:


    quando apro il FE dagli altri dispositivi in LAN mi dice che non trova tale origine dati e diversamente non mi permette di crearne altre se non sql server
    Che cos'è il FE? Intendi frontend? Quale frontend?
    Ciao Alka, grazie per l'intervento...per FE si intendo il frontend ma non ha nulla di particolare, solo una maschera per visualizzazione dati (giusto per fare delle prove) ma lo stesso errore appare sull'access utilizzato come BE (backend).
    E' una questione di configurazione del mysql? Perchè in rete ho letto che bisognerebbe modificare dal file ini (mysql) tale info
    # bind-address="127.0.0.1" in
    # bind-address="0.0.0.0"
    ma il problema persiste anche perchè in quella parte di codice, lo stesso risulta commentato..diversamente tramite phpmyadmin non sono riuscito a trovare dove modificare il bind-address ma non vorrei fare danni
  • Re: MySql connessione ODBC non riuscita

    zio Ken ha scritto:


    # bind-address="127.0.0.1" in
    # bind-address="0.0.0.0"
    Come default dovresti avere : bind-address="127.0.0.1" che limita l'accesso solo a localhost.
    Per poter accedere da altri indirizzi IP devi commentare il parametro (aggiungi il #) ... e riavvia il servizio di MySQL
  • Re: MySql connessione ODBC non riuscita

    zio Ken ha scritto:


    per FE si intendo il frontend ma non ha nulla di particolare, solo una maschera per visualizzazione dati (giusto per fare delle prove)
    Sì, ma se è da quel frontend che non ci si riesce a collegare, il difetto probabilmente risiede in quello.

    zio Ken ha scritto:


    ma lo stesso errore appare sull'access utilizzato come BE (backend).
    Access usato come backend? Access è un database, il backend è un'altra cosa, il frontend un'altra cosa ancora.
    Stai usando i termini a caso? La domanda sorge spontanea perché i termini non sono secondari quando si tenta di descrivere qualcosa, chiaramente se l'obiettivo è far capire la situazione reale.

    zio Ken ha scritto:


    E' una questione di configurazione del mysql? Perchè in rete ho letto che bisognerebbe modificare dal file ini (mysql) tale info ma il problema persiste anche perchè in quella parte di codice, lo stesso risulta commentato..diversamente tramite phpmyadmin non sono riuscito a trovare dove modificare il bind-address ma non vorrei fare danni
    Io non ci ho capito nulla... si parla di MySQL e di phpMyAdmin e di fantomatici frontend che non funzionano ma che andrebbero tralasciati perché invece tutto funziona dai backend, che poi si scopre essere Access... boh...
  • Re: MySql connessione ODBC non riuscita

    Alka ha scritto:


    Access usato come backend? Access è un database, il backend è un'altra cosa, il frontend un'altra cosa ancora.
    Ciao Marco,
    Zioken sta tentando di migrare le tabelle Access (il backend) in un RDBMS. A quanto pare ha abbandonato l'idea di usare SQL Server e ora sta tentando la via di MySQL ... almeno questo è quello che ho compreso da alcuni sui posti.
    Cosa l'abbia portato a passare da SQL Server a MySQL non è noto (in verità neanche il motivo di abbandonare le tabelle Access).
    Per quanto riguarda il frontend pare che rimarrà su Access ...
  • Re: MySql connessione ODBC non riuscita

    max.riservo ha scritto:


    Alka ha scritto:


    Access usato come backend? Access è un database, il backend è un'altra cosa, il frontend un'altra cosa ancora.
    Ciao Marco,
    Zioken sta tentando di migrare le tabelle Access (il backend) in un RDBMS. A quanto pare ha abbandonato l'idea di usare SQL Server e ora sta tentando la via di MySQL ... almeno questo è quello che ho compreso da alcuni sui posti.
    Cosa l'abbia portato a passare da SQL Server a MySQL non è noto (in verità neanche il motivo di abbandonare le tabelle Access).
    Per quanto riguarda il frontend pare che rimarrà su Access ...
    Esattamente, è prp ciò che sto provando.
    Però se dal pannello di xampp in relazione al modulo si MySql apro config mi apre il my.ini ed il parametro del binda address risulta già commentato mentre se provo a togliere il commento, impostando a 0.0.0.0. dal frontend Access mi segnala ancora ODBC: connessione a 'Access -> MySql' non riuscita.

    Per chiarire la situazione, sn passato da sqlserver a mysql soprattutto per la questione TDE segnalatami da Toki mentre ho abbandonato access proprio perché vorrei utilizzare un backend molto più performante considerando che le tabelle che ho migrato in MySql essendo particolarmente popolate, inchiodano quasi l'access mentre ora c'è stato un notevole incremento in termini di velocità
  • Re: MySql connessione ODBC non riuscita

    Al di là di tutto, c'è una cosa che mi sembra sia sfuggita (magari non è così, ma meglio dirla una volta in più per nulla, che non dirla affatto): non basta far sì che MySQL Server accetti connessioni su tutte le schede di rete (ciò che hai fatto impostando come ip "0.0.0.0", anzi è una cosa piuttosto inusuale), è anche necessario che vi sia un utente abilitato a connettersi (da fuori, ovvero da una macchina diversa da quella che ospita il server). Perchè, ricordiamolo, gli utenti di MySQL sono una coppia ("user"@"host") ovvero, l'utente "user" può connettersi dall'host "host". Se non c'è nessun utente abilitato a connettersi "da fuori", puoi far sì che MySQL accetti connessioni su tutte le schede di rete che vuoi, ma nessuno ci si collegherà mai.
    Per abilitare un utente a connettersi da fuori vi sono 2 modi:
    - Si specificano uno ad uno gli host da cui l'utente può connettersi (es, "user@192.168.1.30", "user@192.168.1.40", ecc)
    - Si specifica che il tal utente può connettersi da "ovunque" ("user@%")

    Quindi le domande:
    1) Dove si trova fisicamente il database Access (su quale macchina [host]?)
    2) Che utente hai utilizzato per la configurazione della connessione ODBC della tabella collegata su Access?
    3) Sei certo che quell'utente possa connettersi alla macchina del server MySQL dalla macchina dove gira Access?
  • Re: MySql connessione ODBC non riuscita

    Grazie mille per l'intervento che mi ha chiarito qualcosa cui non conoscevo.
    Sto provando quindi a creare un nuovo user tramite la console di phpMyAdmin ma mi da errore di sintassi
    create USER 'client'@'%' IDENTIFIELD BY 'client'
    Vorrei creare l'utente client per testare il tutto per poi dargli i vari privilegi ma qui ancora non sono riuscito ad arrivarci
    GRANT ALL PRIVILEGES ON *databaseTest* TO 'client'@'%' IDENTIFIELD BY 'client';
    Per chiarire ancora il tutto prima che si rischi di far perdere tempo prezioso, attualmente l'access (BE e FE) è presente in un nas accessibile da tutti gli utenti e tutti riescono ad accedervi e modificare i dati. Ora sto provando a migrare le tabelle del BE in mysql per poi linkarle al FE.

    Cerco di rispondere puntualmente
    1) Dove si trova fisicamente il database Access (su quale macchina [host]?)
    Si trova in un NAS di rete accessibile da tutti i pc collegati alla lan
    2) Che utente hai utilizzato per la configurazione della connessione ODBC della tabella collegata su Access?
    Spero di non aver inteso male. Ho utilizzato un utente standard cui ha tutti i privileggi di lettura e scrittura sul NAS
    3) Sei certo che quell'utente possa connettersi alla macchina del server MySQL dalla macchina dove gira Access?
    La LAN venne configurata in modo tale da utilizzare il NAS come archivio dati per cui tutti possono collegarsi ad esso ma qui mi sorge un dubbio se effettivamente si riesca poi a collegarsi al server...xke se provo a creare nuovi odbc da altri pc il mysql non viene proprio citato nella lista se non sqlserver..
  • Re: MySql connessione ODBC non riuscita

    Per la seconda domanda, intendevo quale utente di MySQL hai usato per configurare la connessione ODBC verso MySQL.
    Quando il tuo utente apre il DB Access, questo viene eseguito sulla sua macchina. Sarà quindi la macchina dell'utente che proverà ad usare la connessione ODBC verso MySQL. Ergo, la connessione ODBC la dovrai configurare su ogni macchina di ogni utente che dovrà usare Access. Ergo di nuovo, dovrai usare un utente MySQL che possa accedere da ogni postazione (quindi come parte host dovrai usare "%", altrimenti dovresti creare le coppie capillarmente e diventa un bagno di sangue).

    Per quanto riguarda l'errore di sintassi, hai scritto "IDENTIFIELD" al posto di "IDENTIFIED" su entrambe le query.
  • Re: MySql connessione ODBC non riuscita

    SpiritoLibero ha scritto:


    ...Per quanto riguarda l'errore di sintassi, hai scritto "IDENTIFIELD" al posto di "IDENTIFIED" su entrambe le query.
    Diciamo che ZioKen dovrebbe prendere coscienza di cosa ha installato e cercare di sfruttarne le potenzialità. Avrà tempo per imparare al meglio la sintassi (occorre anche leggere i manuali). Considerando che può utilizzare phpMyAdmin (in modalità grafica) appare un poco bizzarro incagliarsi, in questa fase iniziale, con gli errori di sintassi ...
  • Re: MySql connessione ODBC non riuscita

    SpiritoLibero ha scritto:


    Per la seconda domanda, intendevo quale utente di MySQL hai usato per configurare la connessione ODBC verso MySQL.
    Quando il tuo utente apre il DB Access, questo viene eseguito sulla sua macchina. Sarà quindi la macchina dell'utente che proverà ad usare la connessione ODBC verso MySQL. Ergo, la connessione ODBC la dovrai configurare su ogni macchina di ogni utente che dovrà usare Access. Ergo di nuovo, dovrai usare un utente MySQL che possa accedere da ogni postazione (quindi come parte host dovrai usare "%", altrimenti dovresti creare le coppie capillarmente e diventa un bagno di sangue).

    Per quanto riguarda l'errore di sintassi, hai scritto "IDENTIFIELD" al posto di "IDENTIFIED" su entrambe le query.
    Grazie infinite per le informazioni, perdonatemi se rispondo solo ora ma ho avuto dei problemi nel mentre....

    Ho proceduto come indicatomi procedendo su un altro pc, ma ho un problema quando creo la connessione ODBC mi spiego
    Creando l'ODBC nonostante il test della connessione vada a buon fine quando apro il db mi riporta ancora che la connessione non è riuscita.
    L'utente creato ha tutti i privilegi sul database ed è lo stesso utilizzato quindi per la ODBC

    P.s. sto utilizzando l'interfaccia di phpMyAdmin come segnalatomi anche da Max, volevo provare direttamente da codice ma sn cascato subito...vado con calma
Devi accedere o registrarti per scrivere nel forum
13 risposte