Newsgroup: it.comp.lang.visual-basic
Titolo: [OT] Php, Mysql e Access

Mi serve un consiglio per risolvere questo problema:
Mio vecchio programma che utilizza un file access come archivio e dao.
Mi e' stato richiesto di installare presso un'altra sede una versione 
che permetta di scambiare alcuni dati. Le 2 sedi hanno accesso ad 
internet, ma non ip pubblici, ne' vpn. Non prevedo di adottare una di 
queste soluzioni o simili (per vari motivi che non sto ad illustrare).
Pensavo di usare un database (mysql) di appoggio su internet per la 
sincronizzazione dei dati e mi si presentano un paio di possibilita':
1. accedere direttamente al database tramite dao e odbc
2. accedere al database tramite php e trasferire i dati tramite qualche 
file markup (html, xml, csv, qualunque cosa).
3. Non mi servono pagine web a cui l'utente accede tipo e-commerce
Problemi:
E' piuttosto scomodo (perche' lontano) dover fare un aggiornamento del 
mio programma nel caso servano molti nuovi componenti.
Non conosco php.
Pochissimo tempo.
I vincoli sono dao, access in locale, mysql e php su un host internet.
Suggerimenti sulle strategie e tecnologie da usare.
grazie
	maxx
-- 
NOSPAM: Rimuovere i trattini dallo username!
Cut hyphens from my username!

 Suggerimenti sulle strategie e tecnologie da usare.
max, ma te un problema normale mai, neh?
chessň, un select con la data sbagliata, una grid che non si popola...
dao, odbc o altro su un file remoto non lo utilizzerei mai...
quanti / quali dati devi sincronizzare?
che esigenze hai in termini di tempi? (non di sviluppo, intendo)
per i tempi di sviluppo, dě pure che farai il tutto in un paio di giorni,
poi svicola ;-)
-- 
Salutoni
Sergio
Per rispondere... togli il group dall'indirizzo
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
I 2 giorni sono gia' passati...


 In che senso?
nel senso di quanto "real time" ti serviva :-)
si, lo so che anche detta così non è particolarmente chiara come domanda.
dai dati che dici di voler trasferire, direi che la tua esigenza è di
poter "mettere" i dati in un posto che sia poi accessibile, a richiesta,
dal commercialista e dal fornitore. sembrerebbe un problema tipico per un
web service, se solo sapessi esattamente che cosa vuol dire...
speriamo che qualcuni di più esperto ci legga...


 
Sicuramente...


 operazioni.
io una cosa del genere la farei tramite delle pagine asp.
sparerei i dati verso il db sottoforma di posthttp, una cosa del tipo:
www.indirisso\pagina.asp?nomecampo=valore&.....&nomecampon=valore
(a proposito: in vbscript è possibile ottenere l'elenco dei request
disponibili? non so se mi sono capito...)
pagina.asp si incaricherebbe di scrivere fisicamente il db
dall'altra parte farei una pagina interroga.asp che fornisca i dati ai due
client su richiesta, in formato a piacere.
ma non so quanto sia elegante.


 
Va bene, a parte che devo usare php, ma non e' un problema.
Quel che mi preoccupava e' il formato dei dati. Devo trasferire 
potenzialmente single, double, currency e vorrei evitare di perdermi dei 
pezzi. Qual'e' il miglior modo per trasferire questi dati, tenendo 
presente che devo passare da Access a Mysql.


 presente che devo passare da Access a Mysql.
se passi tramite asp, e immagino sia lo stesso per php, credo che tu, alla
fine debba comunque trasferire i dati in formato "testo", qualsiasi sia il
formato originario.


 
Ok, dovro' smazzarmi i controlli di conversione.
Ocx o dll da utilizzare?


 Ok, dovro' smazzarmi i controlli di conversione.
sinceramente, non capisco perchè :-)
cioè, a mio avviso, ho sempre pensato che le paranoie del single e del
double fossero utili al calcolatore "mentre" sta facendo i suoi calcoli,
mentre quando i dati vengono letti o inseriti da "esseri umani", questi
ultimi li pensano sempre in modalità "testo"...
quindi mi sembra davvero un "non problema"


 
Forse c'e' un misunderstanding. Gli utenti non useranno un'interfaccia 
web, continueranno ad usare il mio programma. Sara' il programma ad 
inviare e ricevere i dati. La situazione sara' quindi del tipo:
1. php legge 10 record da una tabella mysql sul db in internet ed invia 
un file al mio programma il quale lo legge tramite winsock o inet.
2. i dati contenuti nel file vengono confrontati con i record contenuti 
nel database access locale
3. i dati locali da sincronizzare vengono trasformati in qualche modo ed 
inviati al web server dove php li analizza, traduce ed inserisce nel db 
mysql
Nei punti 1 e 3 c'e' il passaggio di dati dal db mysql ad un file (di 
testo) e da access ad un file di testo.
Cosa succede ad un double contenuto in un campo di mysql quando viene 
esportato in un file di testo (html,xml, ecc.)? Stessa cosa quando da vb 
scrivo qualcosa di simile a:
print #nf, rst!valore
Cosa ci sara' nel file di testo (o nel comando winsock o inet che invio 
al server?
Il valore esportato da php e' congruente con cio' che esporta vb?


 inviare e ricevere i dati.
non c'è misanderstunding.
è che quando nella mia testa "immagino" che cosa fa un computer, lo
visualizzo come la ripetizione a velocità sostenuta di quello che farebbe
un umano, quindi la cosa la vedrei così
uomo uno compila un biglietto (quindi in formato testo) e lo invia ad una
casella postale
uomo 2 chiede alla casella postale se ci sono messaggi per lui, se si, la
casella gli gira il biglietto/i che ha ricevuto da uomo 1
php, mysql eccetera non fanno alcuna conversione, sono, come amano dire i
tecnici, completamente "trasparenti". tu devi solo definire come scrivere
il biglietto.


 casella postale
Ok, uomo 1 scrive il valore totale di un ordine (contenuto in un campo 
double tanto per complicare un po' la situazione). Nel biglietto vb 
scrive  123.456789
La casella postale legge teoricamente lo stesso valore (inserito ad 
esempio da me tramite interfaccia per umani) e lo scrive in un file. php
scrive 123.4567 perche', ad esempio, il double di access e vb non 
coincide con quello di mysql.
A questo punto faccio un confronto tra i 2 valori ed essi risultano diversi.
Quel che volevo capire e' se e' possibile ridurre al minimo il mio 
contributo al problema (e quindi gli errori) ad esempio utilizzando 
qualche formato di scambio predefinito. Per intenderci con ADO posso 
esportare un recordset in xml e reimportare senza problemi.
E' possibile fare la stessa cosa con vb+dao+php+mysql?


 al server?
Se non specifichi nulla, sei nelle mani di Bill :-P
-- 
ciao, a

 coincide con quello di mysql.
no.
php ha ricevuto un testo, e come tale lo scrive nel database.
che poi quel testo rappresenti in realtà un numero, non è un problema suo.


 che poi quel testo rappresenti in realtà un numero, non è un problema suo.
a questo punto, loro.


 
Ora capisco. Non mi conviene cercare di replicare la struttura del db 
access in mysql, ma considero tutti i campi come campi "text" e quindi 
l'unica regola da considera e' quella di vb.
Ottima idea, non ci avevo pensato.
grazie


 l'unica regola da considera e' quella di vb.
sì, ma tieni sempre presente il problema delle possibili impostazioni
internazionali diverse.
per dire... la trasformazione numero -> testo la farei con str$ e
l'inverso con il val


 
In vb/access non ho problemi. E' il lato php/mysql dove la curva di 
apprendimento e' tutta in salita, e come ho gia' detto, non ho molto tempo.
