Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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 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 de Schema.ini quando sua tabela de texto contiver dados DateTime, Currency ou Decimal, ou sempre que quiser 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 Schema.ini especifica uma das cinco características da tabela:
O nome do arquivo de texto
O formato do arquivo
Os nomes, as larguras e os tipos de campo
O conjunto de caracteres
Conversões especiais de tipo de dados
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 em 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. Todas, exceto as aspas duplas (") são permitidas, incluindo em branco. | Format=Delimitado(caractere personalizado) - ou - Sem nenhum 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 em 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 em 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 os 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 caractere e necessário para arquivos de comprimento fixo. O exemplo mostra as entradas de 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] [#]
Observações
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 Curto Longas Moeda Solteiro Duplo Data e Hora Texto Memorando Tipos de dados ODBC Char (o mesmo que Texto) Float (igual a 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 caractere; 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ê deve 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. têm suporte. Se não houver cadeia de caracteres de formato, as opções de data e hora curtas do Painel de Controle do Windows 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. Exemplos incluem o sinal de dólar ($) e dm. |
| CurrencyPosFormat | Pode ser definido como qualquer um dos seguintes valores: - Prefixo de símbolo de moeda sem separação ($1) - Sufixo de símbolo de moeda sem separação (1$) - Prefixo de símbolo de moeda com separação de um caractere ($ 1) - Sufixo de símbolo de moeda com separação de um caractere (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 $- - R$ 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 por 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 no Painel de Controle do Windows será usado.