Applicazione e MySQL

di il
11 risposte

Applicazione e MySQL

Probabilmente non e' un argomento nuovo ma ho trovato solo msg molto datati
Realizzata l'applicazione con Access per la mia azienda mi sto domandando se' e' fattibile o se e' una utopia
migrare i dati su un MySQL (per esempio Aruba)
e lavorare collegandosi ad esso in modo da non avere i dati disponibili solo in ufficio
e quindi non dover sempre sincronizzare i dati su chiavette ecc. ecc.
Difficolta' a parte e' fattibile? Sconsigliabile? Lento?
Potrei utilizzare le maschere query e l'interfaccia access il codice VBA scritto cosi' come li ho realizzati
oppure collegandomi a MySQL ci sono modifiche o incompatibilita'?
Grazie

11 Risposte

  • Re: Applicazione e MySQL

    Ma stsi parlando un DB nel WEB...?
    Mah... magari prima consolida un po le cose su access e la differenza tra una DeskApplication ed una WebApplication.
    Puoi pensare di usare un rdbms in una lan anche geografica ma sempre lan... ma se ti sposti nel web.. lencose cambiano.

    Questo oltretutto senza nemmeno spiegarti che il tuo db migrato ad un rdbms 99% non funzionerà perché chi come te ha poca esperienza pasticcia le queries in modo che non siano scalabili né eseguibili SeeverSide, non usa i Parameters ma riempie i predicati SQL di riferimenti ad oggetti nelle maschere... rendendole assolutamente non funzionali.

    Io farei 10cm alla volta
  • Re: Applicazione e MySQL

    Sempre pronto e disponibile Alex veramente grazie
    Certamente e' solo un progetto per adesso, intanto sono gia' contento di come funziona adesso.
    Ma la mia domanda e':
    l'applicazione ora funziona sulla mia rete locale
    se sposto il DB su aruba dovro' stravolgere l'applicazione
    oppure fa tutto access che tratta i dati in remoto come le tabelle native e per me non cambia quasi nulla?
  • Re: Applicazione e MySQL

    Dovrai fare un'applicazione WEB ti ho già risposto che nulla ha a che vedere con Access.
  • Re: Applicazione e MySQL

    Se l'obbiettivo è usare Access come FE e i db MySQL gesiti tramite Aruba come BE allora puoi lasciar perdere : non si può fare.
    Tu puoi accedere ai Db (di aruba ) solo tramite interfacce Web e tramite applicazioni che girano sui loro server.
    Diverso è il caso se vuoi usare MySQL all'interno di una LAN (anche tramite VPN) dove ovviamente tu hai accesso al DB (e magari anche il controllo come amministratore).
    Presumo tu stia utilizzando Win quindi la domanda sorge spontanea : perché MySQL e non SQL Server (anche Express) ? Restando in casa MS le cose sono un pochino più semplici.
    Se invece utilizzi nativamente Linux allora ha più senso pensare a MySQL (o MariaDB), sebbene da alcuni anni anche per Linux sia disponibile SQL Server.
    Vuoi veramente fare un simile azzardo ? Eccoti sommariamente alcune criticità da risolvere :
    1) migrazione dei dati
    Trovi sicuramente dei tools che lo fanno ma difficilmente troverai (gratuitamente) un tool che migri tabelle, dati, relazioni, indici. Forse i tools che puoi trovare non gestiscono neanche il default value (o non sono in grado di trasformare alcune funzioni base di Access nelle rispettive di MySQL). Nel caso tu abbia impostato dei trigger (in Access è un possibilità recente) è poco probabile che gli stessi vengano migrati.
    Access gestisce il True come -1, MySQL (anche SQL Server) come 1 : questo non è necessariamente un grosso problema però è bene saperlo.
    2) la connessione avviene tramite driver ODBC : se hai tempo / voglia leggiti i vari casi in cui si hanno problemi (record #DELETED# che non lo sono, crash del driver in presenza di campi decimal generati con funzioni di aggregazione per esempio).
    3) se vuoi usare query che agiscono direttamente sul BE devi adottare la sintassi che il BE comprende (scordati le query con i where che prendono il valore dai campi della maschera, tanto per dire).
    4) preparati a cercare la soluzione ai problemi utilizzando la lingua inglese : se questo è un problema non partire neanche.
    In conclusione se l'obbiettivo è avere una base dati utilizzabile tramite Web, Access come FE non è lo strumento adatto.
  • Re: Applicazione e MySQL

    Aggiungo alle utili indicazioni fornite, che una propedeutica ricerca sul forum (vista la domanda ricorrente) offre una ampia panoramica degli ostacoli da superare:
    https://www.iprogrammatori.it/forum-programmazione/access/pubblicazione-database-sul-web-t23083.html
    https://www.iprogrammatori.it/forum-programmazione/access/query-lato-server-mysql-t35812.html
    https://www.iprogrammatori.it/forum-programmazione/access/connessione-odbc-cloud-t35717.html
    https://www.iprogrammatori.it/forum-programmazione/access/collegamento-database-access-aruba-t38421.html
    https://www.iprogrammatori.it/forum-programmazione/access/database-multiutente-multiarchivio-qualche-indicazione-per-piacere-t28151.html
  • Re: Applicazione e MySQL

    Puo' essere che mi tacciate di msg inutili
    ma io sono solito ringraziare sempre
    quindi grazie Alex
    grazie willy55
    e grazie max.riserbo
    e per finire con un'altra domanda banale
    In conclusione se l'obbiettivo è avere una base dati utilizzabile tramite Web, Access come FE non è lo strumento adatto
    per costruire una applicazione capace di interagire con un DB SQL in rete, con l'agilita', la flessibilita' e la potenza di un access o di un vecchio Clipper quale strumento consiglieresti?
  • Re: Applicazione e MySQL

    Chiarisci meglio quale sia l'ambiente ("rete") di interesse, quando intendi:

    Walter61 ha scritto:


    "... DB SQL in rete ..."
    perché parlando del 'glorioso' Clipper forse è interpretabile in "rete locale" o "LAN" che dir si voglia?
  • Re: Applicazione e MySQL

    Si certo chiarisco
    non intendo solo ambito LAN rete locale (questo lo faccio gia' con Access)
    intendo un servizio tipo questo
    "guide.hosting.aruba.it/database/database-mssql.aspx"
    oppure altri analoghi che vendono MS SQL o MySQL

    il glorioso Clipper l'ho citato per amore e per accennare alla potenza di quello che gia' allora (fine anni 80) si poteva fare
    ma a quei tempi lavoravo solo con reti locali
    internet explorer non esisteva ancora c'erano le bbs e il modem analogico e bollette stratosferiche... ISDN venne ancora dopo
  • Re: Applicazione e MySQL

    Cerco di fornire una breve sintesi che, magari, potrai approfondire in base alle tue esigenze.
    Dico subito che se sei interessato a portare l'applicazione, in forma nativa, sul WEB devi considerare che di Access sfrutterai poco e niente.
    Dovrai impiegare il DBMS alle condizioni di chi ti fornisce il servizio di hosting.
    Su questo dovrai migrare i tuoi dati, ovviamente non potrai impiegare (maschere, report, codice) e dovrai riscrivere le query e, magari, anche la logica impiegata.
    Essendo una applicazione prevista per Internet, dal client vi accederai tramite browser, con un linguaggio di programmazione diverso da VBA ma piuttosto: PHP, ASP, ecc.
    Sul server web dovrai implementare una applicazione in grado di gestire le richieste di trasferimento delle pagine web del client (HTTP, HTTPS).
    Per la piattaforma di hosting potrai scegliere il sistema operativo installato sul server (Windows o Unix/Linux).
    In tale ambito si dovrà stabilire il database (MySQL, MariaDB, PostgreSQL, MS-SQL, ecc.) in grado di gestire i dati secondo i requisiti voluti.
    I dati nel web hosting verranno gestiti dal DBMS prescelto, il quale ha il compito di gestire e interpretare, tramite linguaggi server-side (PHP, Phyton, Perl, ASP) il database.
    Ne consegue che sono interessate diverse competenze e conoscenze, le quali possono richiedere diverso tempo per averne padronanza.
    In conclusione non è un passaggio indolore portare l'applicazione sviluppata da MS-Access verso la "nuvola", ma un impegno da vero "professionista".
  • Re: Applicazione e MySQL

    Willy55 ti ringrazio per la risposta precisa e puntuale
    ovviamente non vale assolutamente la pena di stravolgere il progetto per averne la disponibilita' online
    oltretutto con la lentezza nelle risposte rispetto alla agilita' dell'applicativo cosi' come gira ora su rete locale
    immaginavo che qualcosa el genere si potesse realizzare con java del quale ho letto molto bene in giro
    immaginavo anche che qualcosetta si potesse realizzare anche con visual basic ma a quanto pare mi dici di no
    beh intanto sono gia' contento cosi'
    ho capitalizzato lo stop da coronavirus riaprendo libri di informatica dopo una ventina di anni di oblio
    e devo dire che con access ho fatto cio' che avevo in mente in tempi relativamente brevi
    l'unico problema che mi pongo e' la permanenza a video delle maschere chiamanti sotto alle maschere che vengono chiamate
    con relativa possibilita' che l'utente prema pulsanti di una finestra sotto
    non ho trovato nulla che permetta di rendere invisibile una maschera che ne chiama una successiva
    permettendo di ritornare alla maschera chiamante nella stessa situazione lasciata
    quando la maschera chiamata viene chiusa
    c'e' qualche modo per ovviare a questo problemino oppure e' irrisolvibile?
  • Re: Applicazione e MySQL

    Come stabilito dal regolamento del forum, devi trattare un problema alla volta (e questa è una richiesta diversa dal titolo in oggetto, quindi apri un nuovo thread).
Devi accedere o registrarti per scrivere nel forum
11 risposte