Condividi tramite


File Schema.ini (driver file di testo)

Quando viene usato il driver di testo, il formato del file di testo viene determinato usando un file di informazioni sullo schema. Il file di informazioni sullo schema è sempre denominato Schema.ini e sempre mantenuto nella stessa directory dell'origine dati di testo. Il file di informazioni sullo schema fornisce a IISAM informazioni sul formato generale del file, sul nome della colonna e sulle informazioni sul tipo di dati e su diverse altre caratteristiche dei dati. Un file Schema.ini è sempre necessario per accedere ai dati a lunghezza fissa. È consigliabile usare un file di Schema.ini quando la tabella di testo contiene dati DateTime, Currency o Decimal o qualsiasi volta che si vuole più controllare la gestione dei dati nella tabella.

Nota

L'ISAM text otterrà i valori iniziali dal Registro di sistema, non da Schema.ini. Lo stesso formato di file predefinito si applica a tutte le nuove tabelle dati di testo. Tutti i file creati dall'istruzione CREATE TABLE ereditano gli stessi valori di formato predefiniti, impostati selezionando i valori di formato file nella finestra di dialogo Definisci formato testo con <impostazione predefinita> scelta nell'elenco Tabelle . Se i valori del Registro di sistema differiscono dai valori in Schema.ini, i valori del Registro di sistema verranno sovrascritti dai valori di Schema.ini.

Informazioni sui file Schema.ini

Schema.ini file forniscono informazioni sullo schema sui record in un file di testo. Ogni Schema.ini voce specifica una delle cinque caratteristiche della tabella:

  • Nome file di testo

  • Formato file

  • Nomi di campo, larghezze e tipi

  • Set di caratteri

  • Conversioni di tipi di dati speciali

Le sezioni seguenti illustrano queste caratteristiche.

Specifica del nome file

La prima voce in Schema.ini è sempre il nome del file di origine del testo racchiuso tra parentesi quadre. Nell'esempio seguente viene illustrata la voce per il file Sample.txt:

[Sample.txt]  

Specifica del formato file

L'opzione Format in Schema.ini specifica il formato del file di testo. Text IISAM può leggere automaticamente il formato dalla maggior parte dei file delimitati da caratteri. È possibile usare qualsiasi carattere singolo come delimitatore nel file, ad eccezione del doppio virgolette ("). L'impostazione Format in Schema.ini esegue l'override dell'impostazione nel Registro di sistema di Windows, file per file. Nella tabella seguente sono elencati i valori validi per l'opzione Formato .

Identificatore di formato Formato tabella istruzione formato Schema.ini
Tabulazioni delimitate I campi nel file sono delimitati dalle schede. Formato=TabDelimited
Delimitato da CSV I campi nel file sono delimitati da virgole (valori delimitati da virgole). Formato=CSVDelimited
Delimitato personalizzato I campi nel file vengono delimitati da qualsiasi carattere scelto per l'input nella finestra di dialogo. Tutte le virgolette doppie (") sono consentite, incluse le virgolette vuote. Format=Delimited(carattere personalizzato)

-oppure-

Senza delimitatore specificato:

Format=Delimited( )
Lunghezza fissa I campi nel file sono di lunghezza fissa. Format=FixedLength

Specifica dei campi

È possibile specificare i nomi di campo in un file di testo delimitato da caratteri in due modi:

  • Includere i nomi dei campi nella prima riga della tabella e impostare ColNameHeader su True.

  • Specificare ogni colonna in base al numero e designare il nome della colonna e il tipo di dati.

È necessario specificare ogni colonna in base al numero e designare il nome della colonna, il tipo di dati e la larghezza per i file a lunghezza fissa.

Nota

L'impostazione ColNameHeader in Schema.ini sostituisce l'impostazione FirstRowHasNames nel Registro di sistema di Windows per file.

È anche possibile determinare i tipi di dati dei campi. Usare l'opzione MaxScanRows per indicare il numero di righe da analizzare quando si determinano i tipi di colonna. Se si imposta MaxScanRows su 0, l'intero file viene analizzato. L'impostazione MaxScanRows in Schema.ini sostituisce l'impostazione nel Registro di sistema di Windows, file per file.

La voce seguente indica che Microsoft Jet deve usare i dati nella prima riga della tabella per determinare i nomi dei campi ed esaminare l'intero file per determinare i tipi di dati usati:

ColNameHeader=True  
MaxScanRows=0  

La voce successiva designa i campi in una tabella usando l'opzione numero di colonna (Coln), facoltativa per i file delimitati da caratteri e obbligatoria per i file a lunghezza fissa. L'esempio mostra le voci di Schema.ini per due campi, un campo di testo CustomerNumber a 10 caratteri e un campo di testo CustomerName a 30 caratteri:

Col1=CustomerNumber Text Width 10  
Col2=CustomerName Text Width 30  

La sintassi di Coln è:

  
n=ColumnName type [Width] [#]  

Commenti

La tabella seguente descrive ogni parte della voce Coln .

Parametro Descrizione
ColumnName Nome del testo della colonna. Se il nome della colonna contiene spazi incorporati, è necessario racchiuderlo tra virgolette doppie.
type I tipi di dati sono i seguenti:

Tipi di dati Microsoft Jet

bit

Byte

Short

long

Valuta

Single

Double

Datetime

Testo

Memo

Tipi di dati ODBC Char (uguale a Testo)

Float (uguale a Double)

Intero (uguale a short)

LongChar (uguale a Memo)

Formato data data
Width Valore stringa letterale Width. Indica che il numero seguente designa la larghezza della colonna (facoltativa per i file delimitati da caratteri; obbligatoria per i file a lunghezza fissa).
# Valore intero che designa la larghezza della colonna (richiesta se viene specificato Width ).

Selezione di un set di caratteri

È possibile selezionare da due set di caratteri: ANSI e OEM. L'impostazione CharacterSet in Schema.ini esegue l'override dell'impostazione nel Registro di sistema di Windows, file per file. Nell'esempio seguente viene illustrata la voce Schema.ini che imposta il set di caratteri su ANSI:

CharacterSet=ANSI  

Specifica dei formati e delle conversioni dei tipi di dati

Il file Schema.ini contiene diverse opzioni che è possibile usare per specificare il modo in cui i dati vengono convertiti o visualizzati. Nella tabella seguente sono elencate ognuna di queste opzioni.

Opzione Descrizione
Datetimeformat Può essere impostato su una stringa di formato che indica date e ore. È necessario specificare questa voce se tutti i campi di data/ora nell'importazione/esportazione vengono gestiti con lo stesso formato. Tutti i formati Microsoft Jet tranne A.M. e P.M. sono supportati. Se non è presente alcuna stringa di formato, vengono usate le opzioni di immagine di data breve e ora di Windows Pannello di controllo.
DecimalSymbol Può essere impostato su qualsiasi singolo carattere utilizzato per separare l'intero dalla parte frazionaria di un numero.
NumberDigits Indica il numero di cifre decimali nella parte frazionaria di un numero.
NumberLeadingZeros Specifica se un valore decimale minore di 1 e più di -1 deve contenere zero iniziali; questo valore può essere False (senza zero iniziali) o True.
CurrencySymbol Indica il simbolo di valuta che può essere usato per i valori di valuta nel file di testo. Gli esempi includono il segno di dollaro ($) e Dm.
CurrencyPosFormat Può essere impostato su uno dei valori seguenti:

- Prefisso del simbolo di valuta senza separazione ($1)
- Suffisso del simbolo di valuta senza separazione (1$)
- Prefisso del simbolo di valuta con una separazione di caratteri ($ 1)
- Suffisso del simbolo di valuta con una separazione di caratteri (1 $)
ValutaDigits Specifica il numero di cifre usate per la parte frazionaria di un importo di valuta.
CurrencyNegFormat I possibili valori sono i seguenti:

- ($1)
- $1
- $-1
- $1-
- (1$)
- -1$
- 1-$
- 1$-
- -1 $
- $ 1
- 1 $-
- $ 1-
- $ -1
- 1- $
- ($ 1)
- (1 $)

Questo esempio mostra il segno di dollaro, ma è consigliabile sostituirlo con il valore di CurrencySymbol appropriato nel programma effettivo.
CurrencyThousandSymbol Indica il simbolo a caratteri singolo che può essere usato per separare i valori di valuta nel file di testo per migliaia.
CurrencyDecimalSymbol Può essere impostato su qualsiasi singolo carattere utilizzato per separare l'intero dall'intera parte frazionaria di un importo di valuta.

Nota

Se si omette una voce, viene usato il valore predefinito nel Pannello di controllo di Windows.