Array
(
)

Arquivo em procedure no SQL Server 2000 (Urgente)

Edusgouveia
   - 14 ago 2003

Preciso fazer o seguinte. Tenho um arquivo texto e preciso inserir os dados que estão no
arquivo para dentro de uma tabela, só que preciso fazer isso dentro de uma procedure
Sei que o Bulk Insert me proporciona o que desejo, só que não sei usá-lo, pois,
O meu arquivo é o seguinte;

Jose da Silva Rua 20 380000 Sao Paulo SP

O nome que é o primeiro campo começa na posição 1 e vai até a posição 40, o segundo
começa na posição 41 e vai até a 80, e assim por diante para os demais campos... No delphi
eu posso usar a função Copy e pegar a posição exata dos campos, me duvida é como fazer
isso usando uma procedure do banco SQL Server 2000, e preciso de um exemplo detalhado
pois não sei usar o comando para me atender, se puderem me ajudar...

Desde já muito obrigado.

Eduardo.

Obs. Estou com um pouco de urgencia...

Aroldo Zanela
   - 14 ago 2003

Colega,

Acredito que se vc usar um package DTS vai ter mais facilidade e performance de importação (é extremamente rápido). No package vc pode utilizar funções VB para ´distrinchar´ o registro em substrings utilizando a função MID que é um equivalente do Copy.
Para criar um package, basta ir pelo Enterprose Manager em Data Transformation Services (DTS), Local packages, com o botão direito selecionar New Package.
Aí é só selecionar os componentes ´connection´ text file (source), um Microsoft OLE DB Provider for SQL Server. Marque os dois usando Shift + arrasto do mouse e novamente clique com o botão direito do mouse e selecione Workflow -> Workflow properties e efetuar as definições.

Torres Delphi
   - 19 ago 2003

Com DTS vc faz isso com o ´pe nas costas´. Se tiver problemas com os limites do arquivo texto, sugiro alterar o texto colocando um caracter separador (sugiro pipeline ´|´) com um editor de texto que trabalhe com colunas. Mas use um editor de verdade, nao o bloco de notas. Aconselho o uso do Textpad que faz miserias com arq textos.