Accedere al DB da piu postazioni

di il
11 risposte

Accedere al DB da piu postazioni

Salve a tutti, premetto che ho usato la funzione cerca ma le risposte che ho letto non mi sono state chiare quindi chiedo.

Mi sto aggiornando passando dal DB access a MySql, ho installato nel pc tramite my-sql-comunity 8, tutto il necessario, ho creato un database di prova e tramite visual studio 2019 sia in c# che in vb.net mi connetto correttamente, leggo, scrivo etc... adesso pensavo di rendere il database condivisibile.
Pensavo fosse come un file access che basta spostarlo e indirizzare il software ed il gioco è fatto ma a quanto pare ho diversi problemi.

1: dov'è fisicamente questo database?
2: Basta sostituire l'ip del local host e poi prende in automatico la cartella? mmmm non penso vero?
3: devo installare qualcosa nei pc o basta avere my-sql come dico sopra, sul pc usato da server e per visual studio è sufficiente il percorso?
4: dove posso reperire informazioni dettagliate così da non fare 5000 domande e sapere cosa mi state rispondendo?
Grazie in anticipo a chiunque risponde.

11 Risposte

  • Re: Accedere al DB da piu postazioni

    Ciao,
    bè per collegare un qualsiasi DB ad una applicazione ci sono le apposite funzioni/librerie.

    Non devi condividere nulla basta hostname o IP user e pwd di accesso al DB configurati nelle tua applicazione.

    Stai sviluppando un web app?

    Ciao
  • Re: Accedere al DB da piu postazioni

    Ciao no, non è una web app ma un software per gestire una palestra, voglio passarlo da vb.net a c# e invece del db access usare mysql...

    io mi connetto e lo uso tranquillamente ma come posso mettere il db su un pc e fare in modo che gli altri applicativi intercedano? Con il db access è semplice, specifichi il path con nome file e via, ma qui non mi sembra identico.
    Sto progettando il db sul pc di sviluppo ma poi come lo esporto e come lo rimetto in quello che funzionerà da server?
  • Re: Accedere al DB da piu postazioni

    Siccome utilizzi piattaforme Microsoft perché non utilizzare sql server express... Ha delle limitazioni magari prima controlla se per te va bene.

    Quando ti connetti al DB hai bisogno dell'ip dove risiede il database, utente e password di accesso. Mysql utilizza come porta di default 3306.

    Ma se fai un'applicazione web non fai prima. Lo fai una volta implementi il server web il DB nella stessa macchina. Poi tutti gli altri si connettono via browser.

    Se vuoi fare un applicazione per PC libero di farla.

    Cercando in Google ho trovato questo https://dev.mysql.com/downloads/connector/net/6.9.htm

    https://dev.mysql.com/doc/connector-net/en

    Penso che ti può essere utile.

    Ciao
  • Re: Accedere al DB da piu postazioni

    Mmmm grazie ma non risolve il mio problema sembrerebbe.... io ho un db che devo spostare e creare un path dove gli altri applicativi si connettono... c'è un esempio ma non funziona perchè ovviamente manca qualche premessa... ora provo a scrivere nel forum nella sezione vb.net vediamo se qualcuno c'è già passato
  • Re: Accedere al DB da piu postazioni

    orione1976 ha scritto:


    1: dov'è fisicamente questo database?
    Fisicamente è sulla tua macchina, al momento, ma questo non deve interessarti poiché tu accedi al database tramite una libreria client, la quale dialoga con un server (attualmente anch'esso sulla tua macchina) e a cui invia comandi e riceve risposte: non esiste quindi la possibilità (salvo in scenari specifici con driver embedded) di accedere direttamente al file fisico, che è gestito dal server MySQL.

    Questo principio è alla base dell'architettura client/server.

    orione1976 ha scritto:


    2: Basta sostituire l'ip del local host e poi prende in automatico la cartella? mmmm non penso vero?
    In fase di connessione, devi specificare l'indirizzo IP o il nome della macchina sulla quale è in funzione il servizio del server MySQL.

    orione1976 ha scritto:


    3: devo installare qualcosa nei pc o basta avere my-sql come dico sopra, sul pc usato da server e per visual studio è sufficiente il percorso?
    Teoricamente, devi installare il client, ovvero quelle librerie con cui ADO.NET si interfaccia per colloquiare con il server MySQL.

    orione1976 ha scritto:


    4: dove posso reperire informazioni dettagliate così da non fare 5000 domande e sapere cosa mi state rispondendo?
    Ti basta fare ricerche con le parole chiave che trovi nelle risposte facendo riferimento alle tecnologie e alle librerie menzionate.

    Ciao!
  • Re: Accedere al DB da piu postazioni

    Grazie per le risposte, sto rileggendo continuamente per capire la strategia da adottare, ovviamente si capisce che sono alle prime armi in questa cosa.
    Ho capito che serve l'ip o il nome pc, ho provato a metterlo nella stringa di connessione ma devo specificare anche altre cose oltre nome utente del database e password del database? perchè per esempio... nel pc fisso ovviamente si collega, apro il progetto nel portatile, cambio l'ip con quello del pc fisso ma non si connette... devo specificare altre credenziali? non credo giusto? uso un account senza password in windows.

    un'altra cosa che non capisco è che io creo il database nel pc ma se poi questo database va usato altrove, mi basta copiare la cartella del database e metterla nella nuova macchina con installato mysql?

    Purtroppo lavorando con db access questi problemi non c'erano ma vi sono altre limitazioni che ovviamente mysql non ha...
  • Re: Accedere al DB da piu postazioni

    Ciao,
    nella stringa di connessione ti richiede IP user e pwd.

    Tu non inserire localhost o 127.0.0.1 ma l'IP che ha il PC dove risiede il DB.

    In produzione il PC con il DB deve avere IP fisso.

    Posti il codice per piacere... Vediamo se c'è qualche problema.

    Ciao
  • Re: Accedere al DB da piu postazioni

    orione1976 ha scritto:


    sto rileggendo continuamente per capire la strategia da adottare
    Non ci sono strategie da adottare, è sufficiente cambiare il punto di vista/riferimento.

    orione1976 ha scritto:


    Ho capito che serve l'ip o il nome pc, ho provato a metterlo nella stringa di connessione ma devo specificare anche altre cose oltre nome utente del database e password del database?
    L'indirizzo IP o il nome PC lo stai già specificando: quando scrivi "localhost", stai di fatto facendo riferimento alla macchina sulla quale è accessibile il DB, ovvero la stessa macchina.

    Se il database verrà spostato su un'altra macchina, basterà usare l'IP o il nome dell'host di quella macchina.

    orione1976 ha scritto:


    nel pc fisso ovviamente si collega, apro il progetto nel portatile, cambio l'ip con quello del pc fisso ma non si connette... devo specificare altre credenziali? non credo giusto? uso un account senza password in windows.
    Hai verificato che il firewall non blocchi le connessioni? Hai seguito la documentazione relativamente all'apertura delle porte e all'attivazione delle debite configurazioni? Magari hai installato il server con un profilo "Developer", orientato allo sviluppo, che per default non accetta connessioni da altre macchine.

    orione1976 ha scritto:


    io creo il database nel pc ma se poi questo database va usato altrove, mi basta copiare la cartella del database e metterla nella nuova macchina con installato mysql?
    No: devi fare un backup del database e ripristinarlo nella macchina di destinazione, oppure generare uno script di creazione del database e/o inserimento dei relativi dati.

    orione1976 ha scritto:


    Purtroppo lavorando con db access questi problemi non c'erano ma vi sono altre limitazioni che ovviamente mysql non ha...
    Semplicemente, Access non è un database client/server bensì "file based". Più che di limitazioni, si parla di diverse prerogative d'uso.

    Ciao!
  • Re: Accedere al DB da piu postazioni

    Ok allora potrebbe essere una questione di accesso dato dal tipo di mysql installato tra server e client?

    il codice è stupidissimo e lo allego:
    Mserver = "localhost"
    Musername = "root"
    Mpassword = "la_mia_password"
    Mdatabase = "mygym"
    MysqlConn = New MySqlConnection()
    MysqlConn.ConnectionString = "server=" & Mserver & ";user id=" & Musername & ";password=" & Mpassword & ";database=" & Mdatabase

    Try
    MysqlConn.Open()
    MsgBox("OK connessione a MYSQL stabilita")
    Catch ex As Exception
    MsgBox(ex.Message)
    End Try
    il questo modo sullo stesso pc si collega, mentre se al posto di localhost uso l'ip dello stesso pc ovvero 192.168.1.200 mi dice:
    Host 192.168.1.200 is not allowed to connect this MySql server

    quindi se uso il pc con mysql server dal quale creo il database e poi voglio accedervi dal portatile, in quest'ultimo devo mettere mysql client?
    perdonatemi ma una volta capito non vi stresso piu.
    Mentre un cosa Alka ancora non capisco, cioè io progetto nel mio pc un db poi creo l'applicazione von vb.net per esempio, poi questo db devo esporatlo e importarlo in un pc che userò come server no? quindi Mysql ha delle funzioni apposite esatto?
  • Re: Accedere al DB da piu postazioni

    Il file da me installato è mysql-installer-community-8.0.23.0
    che installa anche: MySql Connector NET 8.023 - MySql per Visual Studio 1.2.9 - MySql Community installer - MySql Server 8.0 - MySql Shell e MySql Workbench 8.0 CE
  • Re: Accedere al DB da piu postazioni

    orione1976 ha scritto:


    se al posto di localhost uso l'ip dello stesso pc ovvero 192.168.1.200 mi dice:
    Host 192.168.1.200 is not allowed to connect this MySql server
    Vedi questo articolo: non puoi collegarti per default con l'utente root su una macchina diversa. Devi creare un altro utente amministratore e utilizzare quello al posto di root.

    orione1976 ha scritto:


    questo db devo esporatlo e importarlo in un pc che userò come server no?
    Già

    orione1976 ha scritto:


    quindi Mysql ha delle funzioni apposite esatto?
    Ci sono dei comandi SQL appositi, oppure usi i comandi che trovi nello stesso MySQL Workbench.

    Come nel caso sopra però, ti devi prima documentare: non puoi continuare a proseguire per tentativi e "per astratto" senza prima aver letto quali sono le procedure da eseguire.

    Ciao!
Devi accedere o registrarti per scrivere nel forum
11 risposte