Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    26

    [VB6] Convenienza nella migrazione a MySQL

    Salve a tutti.

    Il mio programma è collegato ad un DB access , funziona bene ma mi è venuta la voglia di rendere il DB condiviso sulla rete tramite un server.
    So che con access si può fare , anche perchè l'ho già fatto ma non sono stato molto felice dei risultati.
    Quello che mi trovo a chiedere è

    migrare il programma da base dati in access a una base dati in MySQL richiede una grande mole di lavoro ?

    La sintassi che uso in questo momento per inserire record cancellare e modificare , dovrà essere totalmente cambiata o si tratta solo di modificare le string di connessione ?

    Una volta completato il programma sarà necessario installare qualche libreria sul PC dell'utente per far si che si interfacci su base dati MySQL?

    e la domanda più importante =P , qualcuno di voi ha avuto modo di testare l'efficenza di un DB MySQL su progarmma VB6 condiviso sulla rete ?

    spero possiate aiutarmi , ho letto un po sulla rete , ho trovato guide di come usarlo ma nessuna da delucidazioni sull'efficacia e sul risultato finale ^^

    ciao e grazie

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244

    Re: [VB6] Convenienza nella migrazione a MySQL

    Originariamente inviato da Wanny
    Salve a tutti.

    Il mio programma è collegato ad un DB access , funziona bene ma mi è venuta la voglia di rendere il DB condiviso sulla rete tramite un server.
    So che con access si può fare , anche perchè l'ho già fatto ma non sono stato molto felice dei risultati.
    E' vero che un DB Access non nasce per la rete, Ciò nonostante io ho applicazioni che funzionano in rete LAN da anni con 12-15 utenti connessi senza colpo ferire.
    Dipende da come è gestito, ovvero dal come sono implementate le istruzioni.
    Basta sapere cosa si deve fare, e lo si faccia.
    Semmai il limiti maggiori di un DB Access è che è molto più limitato nelle funzionalità rispetto ad un database di tipo 'server' (SQL Server, Oracle, DB2, .... le versioni Express sono gratuite, ma è ovvio che hanno delle limitazioni) che però ricordiamo sono piuttosto pachidermici e come prestazioni non sono il massimo.
    Ad esempio, SQL Server 2008, rispetto a SQL Server 2000, è moooolto più lento.
    Non lo affermo io, ma Luca Bianchi, MVP di SQL Server (con i contro-fiocchi!!!).
    https://mvp.support.microsoft.com/pr...D-647CC5FBFB48
    https://mvp.support.microsoft.com/co...ncy=SQL+Server


    Comunque esistono anche db molto efficienti, leggeri ed altrettanto gratuiti come FirebirdSQL, PostgreSQL, e leggerissimi come SQLite.

    Tra l'altro, MySQL non è sempre gratuito (come molti credono erroneamente).
    Lo è la versione community (per uso personale), ma la versione commerciale è a pagamento.
    Quindi se devi distribuire le tue applicazioni (ovvero vendere) devi tener conto di costi di licenza.

    Ma di database ce ne sono diversi, basta leggere qui:
    http://www.connectionstrings.com


    Originariamente inviato da Wanny
    migrare il programma da base dati in access a una base dati in MySQL richiede una grande mole di lavoro ?
    In teoria no, vi sono strumenti anche gratuiti:
    Access To MySQL
    http://www.bullzip.com/products/a2m/info.php
    ma, come si sa, c'è differenza tra la teoria e la pratica.

    Originariamente inviato da Wanny
    La sintassi che uso in questo momento per inserire record cancellare e modificare , dovrà essere totalmente cambiata o si tratta solo di modificare le string di connessione ?
    Dipende da quali istruzioni hai implementato. Se negli enunciati SQL hai usato istruzioni 'proprietarie' di Access dovrai convertirle.

    Originariamente inviato da Wanny
    Una volta completato il programma sarà necessario installare qualche libreria sul PC dell'utente per far si che si interfacci su base dati MySQL?
    Ovviamente sì, questo vale per tutti i database.

    Originariamente inviato da Wanny
    e la domanda più importante =P , qualcuno di voi ha avuto modo di testare l'efficenza di un DB MySQL su progarmma VB6 condiviso sulla rete ?
    Dipende da cosa intendi per efficienza.
    MySQL non ha bisogno di presentazioni, l'efficienza sta nel chi scrive il codice...


  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    26
    E' vero che un DB Access non nasce per la rete, Ciò nonostante io ho applicazioni che funzionano in rete LAN da anni con 12-15 utenti connessi senza colpo ferire.
    Ora la domanda che mi sorge spontanea è , in che modo , se esiste una guida per spiegarmelo , posso utilizzare access e far si che in caso di multiaccesso al DB non ne scaturisca un errore ? Ricordo di aver realizzato un applicazione tempo fa , condivisa sulla rete locale LAN , ovvero ho installato il file .EXE su tutti i client e ho fatto in modo che si riferissero al DB sul percorso di rete , ma data la mia scarsa conoscenza in materia , il programma era leggermente lento rispetto all'uso locale , ovvero i dati impiegavano 3 - 6 secondi per aggiornarsi sul server, e in caso di multi accesso ne scaturiva un errore di runtime, ecco perchè ho pensato di passare a DB server come potrebbe essere MySQL.

    Tra l'altro, MySQL non è sempre gratuito (come molti credono erroneamente). Lo è la versione community (per uso personale), ma la versione commerciale è a pagamento. Quindi se devi distribuire le tue applicazioni (ovvero vendere) devi tener conto di costi di licenza.
    questo lo sapevo , infatti stò usando MySQL solo per fare delle prove , poi passerò tutto a un DB gratuito , oppure vedrò di acquistare una licenza.

    Dipende da quali istruzioni hai implementato. Se negli enunciati SQL hai usato istruzioni 'proprietarie' di Access dovrai convertirle.
    ho testato adesso le istruzioni e sembrano funzionare tutte correttamente , anche perchè è la classica sintassi di ADODB.

    quindi l'ultima cosa che voglio chiederti è appunto la prima domanda che ti ho rivolto , visto che tu hai esperienza in questo. In quanto rimanere su piattaforma access mi faciliterebbe la vita rendendomi tutto più semplice =)

    Ciao e grazie per le esaurienti risposte. =)

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da Wanny
    Ora la domanda che mi sorge spontanea è , in che modo , se esiste una guida per spiegarmelo , posso utilizzare access e far si che in caso di multiaccesso al DB non ne scaturisca un errore ? Ricordo di aver realizzato un applicazione tempo fa , condivisa sulla rete locale LAN , ovvero ho installato il file .EXE su tutti i client e ho fatto in modo che si riferissero al DB sul percorso di rete , ma data la mia scarsa conoscenza in materia , il programma era leggermente lento rispetto all'uso locale , ovvero i dati impiegavano 3 - 6 secondi per aggiornarsi sul server, e in caso di multi accesso ne scaturiva un errore di runtime, ecco perchè ho pensato di passare a DB server come potrebbe essere MySQL.
    Sul mio sito puoi trovare un progetto di esempio, diciamo che è un applicazione-template, che dimostra come utilizzare Access (ma va bene per qualsiasi database, ovviamente)
    partendo dal Login etc. etc.

    Se il tuo programma è multi-utente allora non conviene utilizzare il campo contatore di Access, ma utilizzare un campo contatore gestito direttamente. Come indicato qui:
    HOW TO Implement Multiuser Custom Counters in Jet 4.0 and ADO 2.1
    http://support.microsoft.com/defaul...kb;EN-US;240317

    In teoria quanto indicato da questo articolo è ottimo, e funziona perfettamente.
    In pratica, capirai leggendolo che è ingestibile perchè occorrerebbe creare una tabella supplementare per ogni tabella in cui si intende gestire il contatore.

    Per cui, leggi l'articolo (che fa sempre bene) ma poi vai a scaricarti il mio progetto Prova Login versione 2 qui:
    http://nuke.vbcorner.net/Progetti/V...73/Default.aspx

    in cui ho modificato il modulo modMultiUserCounter.bas in modo che tu devi semplicemente creare solo una tabella dei Contatori (senza record), che sarà usata per tutte le tabelle.

    NOTA
    Purtroppo sul mio sito non è possibile, al momento, fare il login per problemi di LOG full, quindi se hai un po' di pazienza spero che possa ripristinarsi la situazione quanto prima.


    In ogni caso, riguardo alla concorrenza dei dati, nel mio progetto viene utilizzata questa tecnica (secondo me la migliore):
    Utilizzo della concorrenza ottimistica
    http://msdn.microsoft.com/it-it/library/aa0416cz(VS.80).aspx

    leggi anche questo mio post
    Gestione DB multiuser
    http://www.visual-basic.it/forum/b.asp?m=181619


  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    26
    Grazie mille ancora una volta risposte utili

    Dovrò aggiornarmi al net prima o poi >.< , ma nutro un grande rispetto per il vecchio caro VB6 , che nonostante tutto è ancora un valido linguaggio di programmazione a mio avviso xD

    codice:
    Per cui, leggi l'articolo (che fa sempre bene) ma poi vai a scaricarti il mio progetto Prova Login versione 2 qui: http://nuke.vbcorner.net/Progetti/V...73/Default.aspx
    mi sono registrato al tuo website , ma una volta effettuato il login , ricevo un errore e apparentemente non mi fa entrare , motivo per cui non riesco a scaricare il progetto di prova. =) non credo sia un problema che dipende da me assomiglia più a una risposta errata da parte del server.


    Ancora grazie , ora mi metto a leggere


  6. #6
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da Wanny
    mi sono registrato al tuo website , ma una volta effettuato il login , ricevo un errore e apparentemente non mi fa entrare , motivo per cui non riesco a scaricare il progetto di prova. =) non credo sia un problema che dipende da me assomiglia più a una risposta errata da parte del server.
    Te l'avevo scritto, infatti

    NOTA
    Purtroppo sul mio sito non è possibile, al momento, fare il login per problemi di LOG full, quindi se hai un po' di pazienza spero che possa ripristinarsi la situazione quanto prima.



  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    26
    oddio scusa non avevo letto , attenderò quindi

    Ciao e grazie !

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.