View Full Version : esportazione dati
Ciao a tutti. Per motivi di praticità e di chiarezza non espongo quì il mio problema. Ma allego il dilemma in un files, per maggiore leggibilità.
Ciao. Carmen :confused: :confused:
Questo è un tipo di problema quasi standard in molti casi, specie per banche, assicurazioni, commercialisti che ricevono dati da numerosi clienti diversi. Risolvilo per bene e vedrai che potrai applicare le stesse tecniche in tanti casi. Cmq ritengo che:
Tipo sia quello del dato e "C" stia per carattere (anche se ci vedrei meglio una descrizione del tipo "alfanumerico")
Dim = dimensione di quel dato
Da = posizione di partenza
A = posizione di arrivo
ad esempio il campo "Libero" occupa 10 posizioni partendo dalla 30 (che si deve tenere in conto) ed arrivando alla 39
Il default è un valore predefinito di quel campo, che sarà immutabile presumo.
PS il DB credo che sia Oracle e non "Oracol" ;)
Ciao.
massimax
03-01-2003, 19:46
Originally posted by "Carmen"
Ciao a tutti. Per motivi di praticità e di chiarezza non espongo quì il mio problema. Ma allego il dilemma in un files, per maggiore leggibilità.
Ciao. Carmen :confused: :confused:
ti ho risposto nel .doc ;)
Ciao. Si si tratta di fare una utility per una grossa Azienda la quale dovrebbe esportarsi i dati da un DB access dentro il suo gestionale che lavora con ORACLE. L'esportazione deve avvenire come già detto in un files di desto secondo un tracciato record già predisposto da loro.
Purtroppo non riesco al momento ad raccogliere le idee da dove cominciare. Quindi sono disponibilissima ad ogni vostro ulteriore aiuto, soprattutto se accompagnato da qualche esempio per darmi l'input d'inizio.
Un'altra cosa: Visto che da quanto o potuto capire ad esempio la "DIM" starebbe per la dimensione massima di un campo, come ci si assegna in un files di tipo testo ascii la dimensione di un campo? Sembrerebbe allora forse che il files dovrebbe essere di tipo binario?
PS. Adesso aggiungo un'altra cosa per la quale vi farò ridere a tutti: Se uno o più di voi potrà aiutarmi ad risolvere il quesito, sono disposta anche ad dare parte del mio compenzo ben felicemente.
Un bacio. Carmen :cry: :cry:
<<Un'altra cosa: Visto che da quanto o potuto capire ad esempio la "DIM" starebbe per la dimensione massima di un campo, come ci si assegna in un files di tipo testo ascii la dimensione di un campo? Sembrerebbe allora forse che il files dovrebbe essere di tipo binario?
>>
In un file di testo non esistono "campi" predefiniti. In generale io risolvo problemi del genere definendo in fase di programmazione una determinata struttura dati e la scrivo poi fisicamente sul file di testo. Ad es. posso definire un campo nome di tipo stringa di luighezza 20, un campo cognome avente la stessa caratteristica poi do un comando di scrittura sul file di queste strutture. E' solo un esempio banale dei tanti modi di aggirare questo problema. Cmq, venendo al tuo caso, si potrebbe anche risolvere in modo empirico evitando alcuni passaggi. Butto lì un'idea al volo:
ipotesi: hai il db Access
1) Esporti il DB, ogni singola tabella, in un file di testo; allo scopo esiste la funzione di esportazione che presenta vari formati, txt compreso. Questo ti mantiene una certa formattazione
2) ti scrivi un programma che adatta il file di testo creato da Access al tracciato che ti è stato dato, è una cosa molto semplice. In pratica lavori in input con il file di testo ricavato da Access ed in output ti generi il file di testo che vuoi.
3) passi il file di testo a chi di dovere che se lo importerà in Oracle.
Non so se mi sono spiegato bene se ti piace questa strada e nessuno ti da idee migliori fammelo sapere.
Oppure fai un programma che legge il DB access e scrive il file di testo nel formato giusto ;)
Ovviamente quella che ti ha indicato Cionci sarebbe la via + corretta, utile anche se vuoi approfondire i discorsi relativi all'accesso ai DB ecc... E' l'alternativa principale alla strada che ti ho indicato io che invece "aggira" la necessità di interagire direttamente con Access ad un livello che, pur essendo abbastanza semplice in realtà, può darti qualche piccolo grattacapo. A te la scelta.
Ciao. Schusate ma oggi sono stata assente.
Visto che da quanto o potuto capire ad esempio la "DIM" starebbe per la dimensione massima di un campo, come ci si assegna in un files di tipo testo ascii la dimensione di un campo? Sembrerebbe allora forse che il files dovrebbe essere di tipo binario?
Questa cosa mi sembra strana anche a me, in quanto effettivamente il un files di testo non credo che si possono stabilire le dimensioni di un campo. Per questo ancora devo farmelo un pò spiegare meglio. Una cosa che farò oramai dopo l'epifania.
In ogni caso il fatto di prelevare dei dati da una tabella di un DB access e poi scriverla in un files di testo e una sciocchezza. Il problema qui sembra invece quello di capire bene la struttura del files di testo che dovrebbe avere, capito questo siamo a "cavallo".
Comunque se per adesso non avete altre idee, magari se mi confermate se tra qualche giorno non appena avrò reperito altre notizie in merito possiamo riprendere il discorso o meno.
Per adesso grazie. Carmen :cry: :confused: :cry:
Solo un piccolo inciso.
<< in quanto effettivamente il un files di testo non credo che si possono stabilire le dimensioni di un campo>>
Il fatto è che nella maggioranza dei casi le cose funzionano proprio così. Il tracciato Setif usato dalle banche per la presentazione di bonifici, riba ecc... tanto per farti un esempio eclatante, è basato su records racchiusi in un file testuale. Ti assicuro che la mole di dati che transita in quel formato è enorme ancora oggi (e, mica per nulla, nelle banche gira ancora tanto Cobol, con cui è molto molto semplice gestire quel tipo di files). Il tutto si basa su standard predisposti per favorire l'automazione e lo scambio dati tra enti diversi. Se ci pensi è la scelta migliore: il formato testuale è semplice, leggibile e gestibile, molto più di qualunque formato proprietario. Quindi, se interagirai con grossi enti aspettati tanti files testuali composti da records; in realtà si tratta di una suddivisione logica, non fisica, i records sono individuati sulla base dei loro limiti, (la DIM, nel tuo caso) e dalla loro posizione, con alcune porzioni fisse. ma questo favorisce enormemente la scrittura di programmi e l'interscambio di dati.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.