Bulk Insert
-
segunda-feira, 30 de abril de 2012 13:13Bom dia,
Estou usando a instrução abaixo no SQL Server 2008:
BULK INSERT [NomeTabela] FROM 'C:\Pasta\Arquivo.txt' WITH (BATCHSIZE=100000, FIELDTERMINATOR = '|',CODEPAGE='ACP')
E está ocorrendo o seguinte erro:
"Não é possível carregar em massa porque o arquivo "C:\Pasta\Arquivo.txt" não pôde ser aberto. Código do erro do sistema operacional 5(Acesso negado.)."
O arquivo não está em uso. Como resolver?
Grato
Todas as Respostas
-
segunda-feira, 30 de abril de 2012 17:44
Claudio, boa tarde.
Talvez o usuário que vc esteja logado não tem permissão para abrir o arquivo via bulk insert.
Abs;
Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp
-
segunda-feira, 30 de abril de 2012 22:55
esta sintaxe dá para importar dados de um ficheiro mdb?
obrigado
Visual Basic 2008 Express Edition SQL Server Management Studio
-
terça-feira, 1 de maio de 2012 01:17
Jonas, boa noite,
O bulk insert serve somente para importações de arquivos textos. Para importações de arquivo MDB é recomendável utilizar a ferramenta de ETL do SQL (SSIS).
Abs.
Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp
-
terça-feira, 1 de maio de 2012 01:22
pode passar um exemplo para mim?
obrigado
Visual Basic 2008 Express Edition SQL Server Management Studio
-
terça-feira, 1 de maio de 2012 02:10Moderador
Claudio,
o usuário sob o qual o serviço do SQL está rodando deve estar sem acesso ao arquivo. Adicione o usuário à lista de permissões do arquivo ou da pasta onde ele está.
Roberson Ferreira - Database Developer
Acesse: www.robersonferreira.com.br
Email: contato@robersonferreira.com.brSe esta sugestão for útil, por favor, classifique-a como útil.
Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta. -
terça-feira, 1 de maio de 2012 14:28
Bom dia, Eduardo.
Como atribuir permissão para o usuário abrir o arquivo via bulk insert?
-
terça-feira, 1 de maio de 2012 14:32
Olá Roberson,
Todos os usuários têm todas as permissões na pasta e arquivo, exceto "Permissões especiais".
Sendo que a instrução executou normalmente em uma máquina virtual com o Windows XP. O erro ocorre no Windows 7.
-
quarta-feira, 2 de maio de 2012 23:09Moderador
Cláudio, estranho, pois este erro normalmente acontece por falta de acesso ao arquivo.
Você já tentou colocar o arquivo em outro local? No raiz, por exemplo.
Você está logando com qual usuário no SQL para fazer o Bulk Insert? É com o sysadmin?
Roberson Ferreira - Database Developer
Acesse: www.robersonferreira.com.br
Email: contato@robersonferreira.com.brSe esta sugestão for útil, por favor, classifique-a como útil.
Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.- Editado Roberson Ferreira _Microsoft Community Contributor, Moderator quarta-feira, 2 de maio de 2012 23:09
-
quinta-feira, 3 de maio de 2012 02:25
Roberson, com o arquivo em outros locais continua ocorrendo o mesmo erro.
Sim, estou logando com o sysadmin.
Como alternativa, estou usando SQLBulkCopy no VB.Net, mas gostaria de resolver o Bulk Insert no SQL Server, deve ser bem mais performático.

