Alguém pode me ajudar com isso?
BULK INSERT DATABESE01.dbo.TABLE01
FROM '\\COMPUTER01\FOLDER01\TextFile.txt'
WITH
(
FIELDTERMINATOR = ' ',
rowterminator = '\n',
tablock
)
O erro mostra, não foi possível abrir:
Não foi possível inserir em massa porque o arquivo '\ SERVERNAME \ FOLDERNAME \ textFile.txt' não pôde ser aberto. Código de erro do sistema operacional 5 (acesso negado.)
O caminho está em outro computador na rede.
sql-server
bulk-insert
Jonas Ivy V. Imperial
fonte
fonte
'\\COMPUTER01\FOLDER01\TextFile.txt'
? Observe que a conta geralmente será diferente da sua conta.Respostas:
Vou dar um salto de fé e supor que você se conecte ao SQL Server usando a Autenticação do Windows. Nesse caso, você tem um salto duplo do Kerberos: um salto é o aplicativo cliente conectado ao SQL Server, um segundo salto é o SQL Server conectado ao controle remoto
\\COMPUTER01
. Esse salto duplo cai sob as restrições da Delegação Restrita e você acaba acessando o compartilhamento como Login Anônimo e, portanto, o Acesso Negado.Para corrigir o problema, você precisa habilitar a delegação restrita para a conta de serviço do SQL Server. Este blog Como: Inserir em massa do SQL Server com delegação restrita (acesso negado) tem um exemplo de como fazê-lo, e realmente espero que a etapa sobre como 'habilitar a delegação irrestrita' seja apenas um erro de digitação, pois a delegação irrestrita é simplesmente mal.
No caso em que eu pulei a arma e você estiver efetuando login no SQL Server usando a Autenticação do SQL, será necessário criar uma credencial para o logon do SQL e usá-la para acessar os recursos da rede. Veja
CREATE CREDENTIAL
.fonte
Sql Server tentou abrir o arquivo, o servidor de arquivos disse "Acesso negado" porque a conta em que o SQL Server é executado não tem permissão para abrir o arquivo. Altere as configurações de segurança no arquivo de acordo e ele funcionará.
fonte
Eu executaria o script em um logon do SQL (com permissão bulkadmin) e deixaria a permissão na pasta de rede autenticar na conta de serviço do SQL ou na conta do SQL Server Agent.
fonte
Vou lhe dizer o que funciona para mim toda vez que receber essa mensagem. Eu abro o arquivo CSV como um texto em um bloco de notas e excluo todas as linhas de espaço no arquivo, não consigo ver essas linhas em branco no arquivo do Excel. Geralmente é apenas a última linha que parece aparecer, mesmo que esteja vazia
fonte