# Erro ao tentar executar exec Importa\_Vendas

**URL:** <https://forum.casadocodigo.com.br/t/erro-ao-tentar-executar-exec-importa-vendas/584>\
**Category:** Livros\
**Tags:** bi\
**Created:** [Junho 18, 2017, 7:59pm UTC](https://forum.casadocodigo.com.br/t/erro-ao-tentar-executar-exec-importa-vendas/584 "2017-06-18T19:59:56Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![thiagocs](https://avatars.discourse-cdn.com/v4/letter/t/ba9def/32.png) [@thiagocs](https://forum.casadocodigo.com.br/u/thiagocs)\
**Post date:** [Junho 18, 2017, 7:59pm UTC](https://forum.casadocodigo.com.br/t/erro-ao-tentar-executar-exec-importa-vendas/584/1 "2017-06-18T19:59:56Z")

</div>

Na página 104 do livro Business Inteligence, ao tentar executar a procedure Importa\_Vendas, ocorre o erro abaixo:

(2 linha(s) afetadas)  
Mensagem 4832, Nível 16, Estado 1, Procedimento Importa\_Vendas, Linha 13  
Carregamento em massa: fim de arquivo inesperado no arquivo de dados.  
Mensagem 7399, Nível 16, Estado 1, Procedimento Importa\_Vendas, Linha 13  
O provedor do OLE DB “BULK” para o servidor vinculado “(null)” reportou um erro. O provedor não forneceu informações sobre o erro.  
Mensagem 7330, Nível 16, Estado 2, Procedimento Importa\_Vendas, Linha 13  
Não é possível buscar uma linha no provedor do OLE DB “BULK” para o servidor vinculado “(null)”.

Não ocorreram erros ao criar a procedure

Tentei instalar um hotfix através do link: [http://support.microsoft.com/kb/937545/pt-br](http://support.microsoft.com/kb/937545/pt-br) porém sem sucesso. Fonte: [https://social.msdn.microsoft.com/Forums/pt-BR/b6e112c2-18e3-4812-beb2-b82b179a9187/importando-usando-o-bulk-insert-dados-em-formato-txt-para-sql-server-2005?forum=transactsqlpt](https://social.msdn.microsoft.com/Forums/pt-BR/b6e112c2-18e3-4812-beb2-b82b179a9187/importando-usando-o-bulk-insert-dados-em-formato-txt-para-sql-server-2005?forum=transactsqlpt)

---

<div class="post-metadata">

**Author:** ![thiagocs](https://avatars.discourse-cdn.com/v4/letter/t/ba9def/32.png) [@thiagocs](https://forum.casadocodigo.com.br/u/thiagocs)\
**Post date:** [Julho 13, 2017, 12:49am UTC](https://forum.casadocodigo.com.br/t/erro-ao-tentar-executar-exec-importa-vendas/584/2 "2017-07-13T00:49:28Z")

</div>

Quase um mês depois e nada de alguém ajudar. Um suporte de quem criou o livro viria a calhar.

---

<div class="post-metadata">

**Author:** ![alairtonpereira](https://avatars.discourse-cdn.com/v4/letter/a/e36b37/32.png) [@alairtonpereira](https://forum.casadocodigo.com.br/u/alairtonpereira)\
**Post date:** [Junho 6, 2019, 5:31pm UTC](https://forum.casadocodigo.com.br/t/erro-ao-tentar-executar-exec-importa-vendas/584/4 "2019-06-06T17:31:15Z")

</div>

Olá, Segue o código que usei:

USE [DS]  
GO  
/\*\*\*\*\*\* Object: StoredProcedure [dbo].[Importa\_Vendas] Script Date: 06/06/2019 14:29:36 \*\*\*\*\*\*/  
SET ANSI\_NULLS ON  
GO  
SET QUOTED\_IDENTIFIER ON  
GO  
ALTER procedure [dbo].[Importa\_Vendas]  
as  
Declare @STR as nvarchar(1000)  
– Apaga os dados da TbImp\_Vendas caso existam para uma nova carga;  
truncate table TbImp\_Vendas  
– Renomeia arquivos existentes para um nome esperado:  
set @STR = ‘Move c:\Arquivos\*.rpt c:\Arquivos\MassaDados.rpt’  
exec xp\_cmdshell @STR  
–Importa os dados do arquivo para o SQL:  
bulk insert [dbo].[TbImp\_Vendas]  
from ‘C:\Arquivos\MassaDados.rpt’  
with (  
FIRSTROW = 3,  
FIELDTERMINATOR = ‘|’,  
ROWTERMINATOR = ‘\n’,  
LASTROW = 3  
)  
– Faz o log do processo:  
insert into [dbo].[Adm\_Log] values (newid(), getdate(), ‘Importa MassaDados.rpt’,‘S’, ‘Arquivo importado com sucesso’)  
– Copia o arquivo para a pasta “Historico”, renomeando ele com a data da importação:  
declare @nomearquivo varchar(50)  
Set @nomearquivo = (Select cast(year(getdate())as char(4)  
) + right(‘00’+ cast(month(getdate())as varchar(2)),2)+ right(‘00’

- cast(day(getdate())as varchar(2)),2) +’\_Vendas.rpt’)  
Set @STR = ‘move c:\Arquivos\MassaDados.rpt c:\Arquivos\Historico’ + @nomearquivo  
exec xp\_cmdshell @STR

e Depois executei esse outro:

USE [DS]  
GO

DECLARE @RC int

– TODO: Defina valores de parâmetros aqui.

EXECUTE @RC = [dbo].[Importa\_Vendas]  
GO
