Data ultimo aggiornamento: 09/09/2016

Clicca per accedere al sito di NTS Informatica
Clicca per accedere all'argomentoClicca per accedere all'argomentoClicca per accedere all'argomentoClicca per accedere all'argomento
Clicca per accedere al sito di NTS Informatica

Definizione schema tabelle esterne

Nome programma: BSIESCTB.DLL
Moduli richiesti: Import/Export
Report programma: vai ai report

Con questo programma è possibile definire le caratteristiche delle tabelle su cui Business deve andare a scrivere, nel caso di esportazioni, o da cui deve leggere, nel caso di importazioni.

Elenco tabelle:

Nome tabella

Stringa di massimo 30 caratteri che identifica il nome della tabella esterna, se si tratta di un file ASCII può rappresentare il nome del file.

Nome del file

Stringa di massimo 30 caratteri che identifica il nome del file, può essere uguale al nome tabella se si tratta di file ASCII (si consiglia come estensione del file .txt); se si tratta di file di Microsoft Access rappresenta il nome del file MDB (estensione inclusa). Se il nome del file inizia per ? (per esempio ?artico.txt) nel momento in cui il programma Strumento di import/export dovrà aprire il file per leggerlo o scriverlo apparirà la schermata per poter indicare dove prelevare il file (ed eventualmente anche cambiare il nome de file stesso).

Descrizione tabella

è la descrizione della tabella esterna; una stringa di massimo 50 caratteri non obbligatoria.

Tipo tabella

Rappresenta il tipo di tabella e può assumere i seguenti valori:

  • Jet ISAM: file ASCII leggibile con driver Text ISAM di Microsoft Jet
  • ASCII Text File: file ASCII scrivibile gestito direttamente dal programma
  • Jet o altri Jet ISAM: tabella Microsoft Jet oppure accessibile medianti altri driver ISAM sempre per Microsoft Jet (DBF, Paradox, Foxpro, ...), attualmente sono gestiti solo database MSAccess in import/export e MSExcel in import
  • Xml: file XML gestito direttamente dal programma sia in lettura che in scrittura (solo per profili che fanno uso del motore NET)
  • OleDbConnection: per importare o esportare direttamente su tabelle di SQL Server, per ulteriori informazioni vedere Import/export da OLEDBProvider generico

è l'impostazione di questo campo che indica al motore di import/export le strategie di lettura e scrittura dei dati. Mentre per file di tipo ASCII occorre definire due tracciati (uno per l'import ed uno per l'export), per file esterni di tipo MSAccess e Xml ne occorre soltanto uno.

Stringa di connessione

è la stringa di connessione da utilizzare quando si usa un tipo tabella Jet o altri Jet ISAM per accedere ad archivi diversi da MSAccess mediante driver ISAM (DBF, Paradox, Foxpro, ...). Ad esempio, per MSExcel sarà "EXCEL 8.0; IMEX=1;" (senza doppi apici).

Note particolari su Tipo tabella/Stringa di connessione (solo per profili che fanno uso del motore NET):

  • Jet o altri Jet ISAM/MSAccess: in export su MDB sono gestiti db di tipo 1997 (default), 2000, 2003 (identico a 2000) e 2007. Per impostare altri tipi di db basta indicare nello schema tabella esterna, nella colonna stringa di connessione il valore 'Access 1997' oppure 'Access 2000' oppure 'Access 2007' (per access 2007 l'estensione del file deve essere .accdb, ma bus non lo controlla). Per ora in export su MDB nelle tabelle create non vengono settate le regole di validazione del campo, il campo richiesto e consenti lunghezza 0.
  • Xml: in export su XML ad inizio elaborazione il file .xml viene sempre distrutto. Se l'elaborazione prevede l'export di diverse tabelle e più di una dovrà essere scritta sullo stesso file .xml, i dati verranno accodati. In caso di relazioni tra tabelle in export, verrà realizzato un file master-detail solo se il nome del file .xml di export è lo stesso su entrambi gli schemi tabelle esterne. Specifiche di file, come ad esempio indicare nell'intestazione file xml il carattere utilizzato (per esempio standalone="yes"), vanno riportare nello schema tabelle esterne nel campo stringa di connessione. In fase di impostazione tabelle esterne, il tracciato per il file .xml deve essere realizzato come se si stesse producendo un export su ASCII. Per assegnare un nome al tag di inizio/fine tabella (il default è come il nome della tabella esterna seguito da '_table') basta scriverlo in schema tabelle esterne nel campo Descrizione (e deve essere diverso dal nome della tabella esterna). NB: in import da XML non è possibile utilizzare i campi select, from, where, group by, having, order by personalizzati.
  • Jet o altri Jet ISAM/MSExcel: in import è gestita anche l'acquisizione da file di excel 2007 e superiori in formato xlsx, indicando nella stringa di connessione il parametro Excel 12.0 invece di Excel 8.0.
    L'opzione del registro di windows per segnalare se considerare la prima riga del foglio di EXCEL come intestazione di colonna o meno, non viene più letta dal motore 12 di excel, se non definito con l'apposito parametro nella stringa di connessione, la prima riga del file viene considerata sempre come 'intestazione di colonna' ed i dati partono sempre dalla riga 2.
    Per indicare come considerare la prima riga occorre passare un parametro aggiuntivo HRD=Yes o HDR=No nella stringa di connessione: con NO il nome delle colonne del datatable sarà F1, F2, F3, diversamente il nome viene preso dalla cella della prima riga del foglio di excel.
    Esempio: "Excel 12.0;HDR=No;IMEX=1"

Proprietà ColNameHeader

è da indicare solamente se il tipo tabella ha valore Jet ISAM; può assumere i valori 'True' (impostazione predefinita) o 'False' a seconda che il file ASCII possieda, o meno, nella prima riga i nomi dei campi.

Proprietà format

è da indicare solamente se il tipo tabella ha valore Jet ISAM, consiste nel tipo di formato del file ASCII e può assumere i valori: 'FixedLength' se i campi sono a lunghezza fissa (impostazione predefinita); 'TabDelimited' se i campi sono delimitati da caratteri Tab; 'Delimited(x)' se i campi sono delimitati dal carattere x. Il carattere x indica un carattere generico, a seconda del carattere indicato come separatore sarà necessario sostituire la x con il relativo carattere nella combo box in questione. Supponiamo i campi sono separati da un ! si dovrà sostituire la xcon !.

Note particolari su Tipo tabella/Proprietà Format (solo per profili che fanno uso del motore NET):

  • ASCII Text File: ora in export sono gestiti nativamente file ASCII non a lunghezza fissa (come già gestito in import). Per poterli settare basta indicare nello schema tabelle come tipo di file 'ASCII Text file' e come 'Proprietà format' un valore diverso da 'FixedLength'. NB: un file di export 'ASCII Text file' di tipo 'CSVDelimited' se salvato con estensione CSV può essere aperto da MSExcel (corrisponde ad un file di testo a lunghezza variabile con separatore ";").

Proprietà MaxScanRows

è da indicare solamente se il tipo tabella ha valore Jet ISAM e deve essere sempre indicato il valore 0.

Proprietà CharacterSet

E' da indicare solamente se il tipo tabella ha valore Jet ISAM e può assumere i valori :

  • 'OEM' se il set di caratteri è quello Windows (impostazione predefinita)
  • 'ANSI' se il set di caratteri è quello DOS
  • 'UTF-8' se il file di testo contiene caratteri particolari quali ©, ™, ...

Proprietà NumberLeadingZeros

è da indicare solamente se il tipo tabella ha valore Jet ISAM e deve essere sempre indicato il valore 1.

Formato Data/Ora

Rappresenta una stringa che indica il formato della data/ora da importare o esportare, per esempio per interpretare la stringa '15101998153058' (15 Ottobre 1998 ore 15:05:58) sarà necessario indicare la seguente stringa: 'ddMMyyyyhhnnss'. NB: in un profilo che usa il motore NET la stringa di formattazione è case sensitive, per esempio il formato yyyymmdd (mese in minuscolo) non è corretto, ma deve essere yyyyMMdd.

Note/esempio file

In questo campo è possibile memorizzare se necessario delle note oppure un esempio del file che dovrà essere importato/esportato.

Elenco campi:

Ordinamento

Indica un numero che rappresenta la sequenza del campo, può assumere i valori da 1 a 256 ed è obbligatorio.

Nome campo

Indicare il nome del campo di massimo 30 caratteri (obbligatorio). Se l'importazione avviene da file di Microsoft Excel nell'elenco campi si definiranno nell'ordine i nomi dei campi F1, F2, F3, F4, ... corrispondenti alle colonne dell'area da importare. Non è necessario tipizzare i campi in base al contenuto dei dati in ogni singola colonna. Per ulteriori impostazioni nell'import da file di Microsoft Excel vedere Configurazioni per importare da Excel.

Tipo campo

Indicare una stringa che rappresenta il tipo di campo, può assumere i valori: 'Char' campo testo, 'Short' numerico intero, 'Long' numerico lungo, 'Single' numerico a precisione singola, 'Double' numerico a precisione doppia, 'Datetime' campo data/ora. Qualora il tipo tabella sia Jet o altri Jet ISAM e si sia indicata una stringa di connessione, il tipo campo non è significativo perché viene determinato dal driver di import.

Dimensione

Rappresenta la dimensione, in byte, del campo. Questo dato è obbligatorio per le tabelle di tipo Jet ISAM di formato 'FixedLength' e per le tabelle di tipo ASCII Text File. Per tabelle di tipo MSAccess è obbligatorio solo per i campi di tipo CHAR, in tutti gli altri casi impostare 1.

In chiave primaria

Utilizzato da file MSAccess, selezionare se il campo è una chiave primaria.

Richiesto

Utilizzato da file MSAccess, selezionare se il campo deve essere obbligatoriamente compilato (solitamente in questi casi si imposta anche un valore di default).

Default campo

Utilizzato da file MSAccess, impostare, se necessario, il valore che il campo deve assumere per default. Per i campi numerici inserire un numero, per i campi di testo inserire il valore tra doppi apici.

Validazione campo

Utilizzato da file MSAccess, impostare se necessario i valori che il campo può assumere. Per i campi numerici inserire i possibili valori separati da OR, per i campi di testo inserire ogni singolo valore tra apici semplici e separare i dati con OR.

Contatore

Utilizzato da file MSAccess, selezionare se il campo è un campo contatore (il campo contatore è un campo che si incrementa in automatico e non deve venir inserito nella corrispondenza campi).

Consenti lunghezza 0

Utilizzato da file MSAccess, selezionare se il campo può non essere compilato.

Funzioni di toolbar:

Importa campi

Questa funzione è stata realizzata per facilitare l'inserimento dei campi se il file da trattare è un database di tipo MSAccess. Attivando la funzione verrà richiesto il nome del tabase contenente la tabella di cui si desidera importare la struttura, quindi in una successiva maschera si selezionerà la tabella interessata e confermando verrà copiata la struttura della tabella nell'elenco dei campi. NB: utilizzare i file di database modello .MOD per importare i campi nello schema tabelle esterne, non è consigliato utilizzare i database con tabelle allegate in quanto nei campi Contatore e Default campo i valori non vengono rilevati, eventualmente se si importa da tabelle allegate verificare tali campi, soprattutto nel caso si esporti su un .MDB dove in mancanza dei valori di default dei campi chiave questo porta ad un errore del profilo di export.

Importa da Database SQL esterno

Serve per pololare l'elenco campi in automatico leggendo la struttura della tabella da SQL Server nel caso in cui il tipo tabelal sia impostato a OleDbConnection.

Clicca per accedere al sito di NTS Informatica