Newsgroup: it.comp.os.linux.iniziare
Titolo: Database: Da Access a MySql [Lunghetto]

Salve a tutti,
Mi sto imbarcando nella speimentazione della migrazione in oggetto.
La situazione attuale nell'azienda in cui lavoro è la seguente:
-Server di dominio NT 4.0 con funzone di wins primario e printing
-Server NT 4.0 con funzione di wins 2° e cartelle condivise nelle quali
risiedono 3 file di db access (.mdb).
-40 Client suddivisi in ugual numero in due distinte filiali tra loro
interconnesse tramite link cdn 2Mbit/s.
Sui client viengono utilizzati 2 db in Access 97 che dispongono di tutte le
maschere in locale, con le tabelle collegate a quelle dei file sulle cartelle
del server; piu' un programma in visual basic che interroga le tabelle sui
server effettuando un refresh dei dati ogni min per fornire un prospetto
globale di una certa situazione.
Per esigenze lavorative dobbiamo necessariamente mantenere win 95 :-(( sui
client.Quindi la mia idea per incrementare le prestazioni dei db (soprattutto
per la filiale remota) sarebbe quella di portare i db su mysql e continuare ad
utilizzare i client sotto win tramite il MyODBC.Considerando che per il momento
di riscrivere in vb i client access non se ne parla proprio, anche perchè il db
principale è piuttosto complesso (oltre 60 maschere!!), ecco che arriva la
prima serie di quesiti:
-La configurazione che avrei intenzione di adottare vi sembra adeguata?
- dovrei forse optare per un'altro motore db
(postgresql,interbase,....suggerite voi......) ?
- L'utilizzo di un driver ODBC per interfacciare access con mysql peggiorerà le
prestazioni in che misura?
- Considerando che i dati contenuti nei db sono di vitale importanza per
l'azienda e che la disponibilità del db è indispensabile allo svolgimento
delle attività quotidiane posso stare tranquillo riguardo alla stabilità di
mysql e/o del motore ODBC?
Naturalmente ho già iniziato a sperimentare questa soluzione effettuando il
porting del più piccolo e più semplice degli mdb, e devo dire che già così il
salto di prestazioni è notevole, ma non pienamente apprezzabile visto che
questo db non compie complesse operazioni.
Ho effettuato il porting esportando una ad una le tabelle del db tramite
access, scegliendo come destinazione: database esterno -> ODBC.
Facendo questo ho notato che mysql sostituisce gli spazi contenuti nei nomi di
campo e tabella con il carattere "_" ad es. la tabella "Ordini Clienti" con il
campo "Nome Cliente" viene esportata su mysql come "Ordini_Clienti" e
"Nome_Cliente".
Questo però comporta che al momento di lanciare il client in access (ora con le
tabelle linkate alla sorgente odbc!) tutte le query, o i controlli sulle
maschere che sono legate a dei campi il cui nome contiene degli spazi NON
FUNZIONANO :-((
Il problema è comunque aggirabile rinominando tutti i riferimenti a tali nomi
di campo contenuti nelle maschere e nel codice del db, per le tabelle è più
facile perche' basta rinominare il  link dopo averli creati.
Solo che se per il db minore non è un grosso lavoro, per quello maggiore, e per
il solo scopo di effettuare un test prestazionale, diventa un lavoro
colossale! anche perchè in quel db ci sono tantissimi campi che hanno il nome
contenente spazi e/o caratteri tipo : " %; / ; - " (lo so che non è corretto
fare così, ma questo db lo ha realizzato il mio capo, glielo dite Voi che ha
fatto una c.....a!?  :-) ), considerando appunto cio' ecco la seconda serie di
domande:
- Esiste la possibilità di risolvere il problema degli spazi, oppure è una cosa
che lo standard sql proprio non accetta?
- Come devo fare per ottenere una perfetta traduzione dei formati data/ora ?
- (perdonatemi per questa) Se invece di mysql utilizzassi sqlserver 7 di MS
avrei lo stesso il problema dei nomi?, sarei comunque costretto ad usare
l'ODBC per i client?
- Esistono delle utiliy che mi possono aiutare nell'opera?
Ho sentito parlare di access_to_mysql ma non sono riuscito a trovarla,
qualcuno sa indicarmi dove la posso trovare?
- Documentazione e notizie pratiche da chi ha già fatto qualcosa di simile,
dove le trovo?
- Ho pensato di acquistare Mysql Guida di riferimento della O'Reilly, faccio
bene oppure in italiano ci sono testi migliori?
- Se l'esperimento venisse approvato e si decidesse di adottare Linux come
soluzione definitiva io avrei pensato di utilizzate o Mandrake 7.2 (ancora non
in mio possesso) , oppure la 7.1 , o magari la RH 6.2.Che ne pensate?
Mi scuso per l'eccessiva lunghezza del messaggio, ma volevo cercare di essere
il piu' chiaro possibile!!
Ringrazio anticipatamente tutti quanti vorranno aiutarmi in questa impresa!!

in mio possesso) , oppure la 7.1 , o magari la RH 6.2.Che ne pensate?
visto che ci devi mettere su un server e non dei client, consiglio
debian.
mandrake e' piu' "fighettosa", ha tutti i tool grafici ed i windows
manager dell'universo (quindi per una macchina desktop di un
principiante e' ottima) ma e' piu' difficile ottenerci un server
stabile ed efficiente senza dover rifare tutto quanto a mano.
--
    (iao!!oai)                                    (ICQ: 10860566)
    //.aurizio
[WARNING!: a breve 
m.mu...@iol.it
 verra' disabilitato, usate il nuovo indirizzo]
[WARNING!: togliete _nessuno_ per rispondere]
    Time may change me
    But I can't trace time

stabile ed efficiente senza dover rifare tutto quanto a mano.
perche' ? il server che abbiamo in ufficio e' un Mandrake 7.2 e va
benissimo (premetto che non e' stato installato ne XWindow ne' il resto
dei programmi X).
_______________________________________________________
   Davide Manzoni -    email: 
dman...@racine.ra.it
The salesman said "This machine requires Windows 95, NT,
or better."   The only thing I could think of was Linux.
_______________________________________________________

dei programmi X).
anche il mio serverino e' (temporaneamente, al momento in cui windows
mi ha piallato l'intero hd avevo solo quel cd disponibile e non potevo
tenere l'intera rete offline) mandrake 7.1, ma visto che l'intera
propensione della distro (con tutti gli script di
configurazione\manutenzione) e' dedicata al desktop gli strumenti
disponibili per questo specifico uso sono molto meno utili e curati di
altre distro piu' dedicate.
insomma, con tutta la possibilita' di scelta che c'e' perche' usare le
distribuzioni per scopi per cui non sono specificamente sviluppate?
