Compartilhar via


Schema.ini File (Driver de Arquivo de texto)

Quando o driver de Texto é usado, o formato do arquivo de texto é determinado usando um arquivo de informações de esquema. O arquivo de informações de esquema é sempre nomeado Schema.ini e sempre mantido no mesmo diretório que a fonte de dados de texto. O arquivo de informações de esquema fornece ao IISAM informações sobre o formato geral do arquivo, o nome da coluna e as informações de tipo de dados e várias outras características de dados. Um arquivo Schema.ini sempre é necessário para acessar dados de comprimento fixo. Você deve usar um arquivo Schema.ini quando sua tabela de texto contiver dados DateTime, Conversor de Moedas ou Decimal ou a qualquer momento em que desejar mais controle sobre o tratamento dos dados na tabela.

Observação

O ISAM de Texto obterá valores iniciais do registro, não de Schema.ini. O mesmo formato de arquivo padrão se aplica a todas as novas tabelas de dados de texto. Todos os arquivos criados pela instrução CREATE TABLE herdam esses mesmos valores de formato padrão, que são definidos selecionando valores de formato de arquivo na caixa de diálogo Definir Formato de Texto com <o padrão> escolhido na lista Tabelas . Se os valores no registro forem diferentes dos valores em Schema.ini, os valores no registro serão substituídos pelos valores de Schema.ini.

Noções básicas sobre arquivos de Schema.ini

Schema.ini arquivos fornecem informações de esquema sobre os registros em um arquivo de texto. Cada entrada de Schema.ini especifica uma das cinco características da tabela:

  • O nome do arquivo de texto

  • O formato do arquivo

  • Os nomes, larguras e tipos de campo

  • O conjunto de caracteres

  • Conversões de tipo de dados especiais

As seções a seguir discutem essas características.

Especificando o nome do arquivo

A primeira entrada no Schema.ini é sempre o nome do arquivo de origem de texto entre colchetes. O exemplo a seguir ilustra a entrada do arquivo Sample.txt:

[Sample.txt]  

Especificando o formato de arquivo

A opção Formatar no Schema.ini especifica o formato do arquivo de texto. O IISAM de Texto pode ler o formato automaticamente da maioria dos arquivos delimitados por caracteres. Você pode usar qualquer caractere único como um delimitador no arquivo, exceto a aspa dupla ("). A configuração Formatar no Schema.ini substitui a configuração no Registro do Windows, arquivo por arquivo. A tabela a seguir lista os valores válidos para a opção Formatar .

Especificador de formato Formato de tabela Instrução Schema.ini Format
Guia Delimitada Os campos no arquivo são delimitados por guias. Format=TabDelimited
CSV delimitado Os campos no arquivo são delimitados por vírgulas (valores separados por vírgulas). Format=CSVDelimited
Delimitado personalizado Os campos no arquivo são delimitados por qualquer caractere que você optar por inserir na caixa de diálogo. Todos, exceto as aspas duplas (") são permitidos, incluindo em branco. Format=Delimited(custom character)

-ou-

Sem delimitador especificado:

Format=Delimitado( )
Comprimento Fixo Os campos no arquivo têm um comprimento fixo. Format=FixedLength

Especificando os campos

Você pode especificar nomes de campo em um arquivo de texto delimitado por caracteres de duas maneiras:

  • Inclua os nomes de campo na primeira linha da tabela e defina ColNameHeader como True.

  • Especifique cada coluna por número e designe o nome da coluna e o tipo de dados.

Você deve especificar cada coluna por número e designar o nome da coluna, o tipo de dados e a largura para arquivos de comprimento fixo.

Observação

A configuração ColNameHeader no Schema.ini substitui a configuração FirstRowHasNames no Registro do Windows, arquivo por arquivo.

Os tipos de dados dos campos também podem ser determinados. Use a opção MaxScanRows para indicar quantas linhas devem ser verificadas ao determinar os tipos de coluna. Se você definir MaxScanRows como 0, todo o arquivo será verificado. A configuração MaxScanRows no Schema.ini substitui a configuração no Registro do Windows, arquivo por arquivo.

A entrada a seguir indica que o Microsoft Jet deve usar os dados na primeira linha da tabela para determinar nomes de campo e deve examinar todo o arquivo para determinar os tipos de dados usados:

ColNameHeader=True  
MaxScanRows=0  

A próxima entrada designa campos em uma tabela usando a opção número de coluna (Coln), que é opcional para arquivos delimitados por caracteres e necessária para arquivos de comprimento fixo. O exemplo mostra as entradas Schema.ini para dois campos, um campo de texto CustomerNumber de 10 caracteres e um campo de texto CustomerName de 30 caracteres:

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

A sintaxe do Coln é:

  
n=ColumnName type [Width] [#]  

Comentários

A tabela a seguir descreve cada parte da entrada Coln .

Parâmetro Descrição
ColumnName O nome do texto da coluna. Se o nome da coluna contiver espaços inseridos, você deverá colocá-lo entre aspas duplas.
tipo Os tipos de dados são os seguintes:

Tipos de dados do Microsoft Jet

bit

Byte

Short

long

Moeda

Single

Double

Datetime

Texto

Memo

Tipos de dados ODBC Char (o mesmo que Texto)

Float (o mesmo que Double)

Inteiro (o mesmo que Short)

LongChar (o mesmo que Memorando)

Formato de data
Largura O valor Widthda cadeia de caracteres literal . Indica que o número a seguir designa a largura da coluna (opcional para arquivos delimitados por caracteres; necessário para arquivos de comprimento fixo).
# O valor inteiro que designa a largura da coluna (necessário se Width for especificado).

Selecionando um conjunto de caracteres

Você pode selecionar entre dois conjuntos de caracteres: ANSI e OEM. A configuração CharacterSet em Schema.ini substitui a configuração no Registro do Windows, arquivo por arquivo. O exemplo a seguir mostra a entrada Schema.ini que define o conjunto de caracteres como ANSI:

CharacterSet=ANSI  

Especificando formatos e conversões de tipo de dados

O arquivo Schema.ini contém várias opções que você pode usar para especificar como os dados são convertidos ou exibidos. A tabela a seguir lista cada uma dessas opções.

Opção Descrição
Datetimeformat Pode ser definido como uma cadeia de caracteres de formato que indica datas e horas. Você deverá especificar essa entrada se todos os campos de data/hora na importação/exportação forem tratados com o mesmo formato. Todos os formatos do Microsoft Jet, exceto A.M. e P.M. são compatíveis. Se não houver nenhuma cadeia de caracteres de formato, as opções de tempo e imagem de data curta do Windows Painel de Controle serão usadas.
DecimalSymbol Pode ser definido como qualquer caractere único usado para separar o inteiro da parte fracionária de um número.
NumberDigits Indica o número de dígitos decimais na parte fracionária de um número.
NumberLeadingZeros Especifica se um valor decimal menor que 1 e mais de -1 deve conter zeros à esquerda; esse valor pode ser False (sem zeros à esquerda) ou True.
Currencysymbol Indica o símbolo de moeda que pode ser usado para valores de moeda no arquivo de texto. Os exemplos incluem o cifrão ($) e o Dm.
CurrencyPosFormat Pode ser definido como qualquer um dos seguintes valores:

- Conversor de Moedas prefixo de símbolo sem separação ($1)
- sufixo de símbolo Conversor de Moedas sem separação (1$)
- Conversor de Moedas prefixo de símbolo com uma separação de caracteres ($ 1)
- Conversor de Moedas sufixo de símbolo com uma separação de caracteres (1 $)
CurrencyDigits Especifica o número de dígitos usados para a parte fracionária de um valor de moeda.
CurrencyNegFormat Pode ser um dos seguintes valores:

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

Este exemplo mostra o sinal de dólar, mas você deve substituí-lo pelo valor CurrencySymbol apropriado no programa real.
CurrencyThousandSymbol Indica o símbolo de caractere único que pode ser usado para separar valores de moeda no arquivo de texto em milhares.
CurrencyDecimalSymbol Pode ser definido como qualquer caractere único usado para separar o todo da parte fracionária de um valor de moeda.

Observação

Se você omitir uma entrada, o valor padrão na Painel de Controle do Windows será usado.