Bom dia pessoal
Estou tentando desenvolver uma stored procedure que faça à importação de arquivos txt até ai tudo bem, porém como eu tenho vários arquivos txt em uma determinada pasta eu preciso importar um de cada vez segue o que estou pensando:
CREATE TABLE #Lista (DIRETORIO VARCHAR(613)); CREATE TABLE #FORNECEDORES( TIPO VARCHAR(1), CODIGO INTEGER, NOME VARCHAR(53), CGC VARCHAR(74), ENDERECO VARCHAR(51), BAIRRO VARCHAR(20), CIDADE VARCHAR(32), CEP VARCHAR(20), CXPOSTAL VARCHAR(20), EMAIL VARCHAR(40), TELEFONE VARCHAR(20), TELEX VARCHAR(20), FEDERACAO VARCHAR(03), NUM_PESSOA VARCHAR(09), BAIRRO_COBR VARCHAR(20), CXPOSTAL_COBR VARCHAR(20), CIDADE_COBR VARCHAR(32), CEP_COBR VARCHAR(20), FEDERACAO_COBR VARCHAR(03), AUX VARCHAR(01), EMITENTE1 VARCHAR(09), NOME_ABREV1 VARCHAR(15), AUX2 VARCHAR(01), EMITENTE2 VARCHAR(09), NOME_ABREV2 VARCHAR(15), CGC1 VARCHAR(18), FEDERACAO3 VARCHAR(03)); Insert Into #Lista EXEC master..xp_cmdshell 'dir C:\Pharmacy\dados\1\ /b'; declare @arquivo varchar(100); DECLARE @CAMPO VARCHAR(20); declare @codigo integer; set @arquivo = ''; DECLARE CAR_FORNECEDORES CURSOR FOR select diretorio from #Lista where SUBSTRING(diretorio,1,2) = 'EA'; OPEN CAR_FORNECEDORES FETCH NEXT FROM CAR_FORNECEDORES INTO @CAMPO WHILE @@FETCH_STATUS = 0 BEGIN SET @arquivo = 'C:\PHARMACY\DADOS\1\' + @CAMPO; bulk insert #FORNECEDORES -- inserir na tabela desejada from @ARQUIVO -- caminho do arquivo e formato with ( CODEPAGE = 'ACP', -- comando necessário para não ter problemas com caracteres especiais como acentos fieldterminator = ';', -- caractere que separa os campos no arquivo rowterminator = '\n' -- referencia para fim da linha ) FETCH NEXT FROM CAR_FORNECEDORES INTO @CAMPO; END /*SELECT * FROM #Lista*/ CLOSE CAR_FORNECEDORES ; DEALLOCATE CAR_FORNECEDORES; DROP TABLE #Lista; DROP TABLE #FORNECEDORES;
Primeiramente eu crio uma temp #lista onde fica todos os arquivos de uma pasta depois crio um cursos onde concateno o diretorio + o nome do arquivo perfeito, porém quando eu passo o @arquivo para o from do bulk insert ele da erro tem alguma forma deu passar para o from o conteudo da variavel ou outra forma de fazer isso como descrevi acima o erro que da segue abaixo:
Mensagem 102, Nível 15, Estado 1, Linha 49Incorrect syntax near '@ARQUIVO'.