Artigo: 316371 - Última revisão: sexta-feira, 3 de Outubro de 2003 - Revisão: 3.2

PROBLEMA: Mensagem de erro SQLXMLBulkLoad 80040E14: "Ficheiro não pode ser aberto" ou "ficheiro não existe"

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sintomas

Quando executa uma aplicação de XML em massa O, um ou ambos, do seguinte erro mensagens podem ocorrer:
Código: 80040E14 - pode não massa inserir porque não foi possível abrir o ficheiro '% s.txt'. Código de erro do sistema operativo 3 (O sistema não consegue localizar o caminho especificado.)
Origem: Fornecedor Microsoft OLE DB para SQL Server
Código: 80040E14 - pode não massa inserir. O ficheiro '% s.txt' não existe.
Origem: Fornecedor Microsoft OLE DB para SQL Server

Causa

Este problema ocorre se:
  • SQL Server não consegue localizar o caminho do ficheiro temporário especificado pelo objecto SQLXMLBulkLoad

    - ou -

  • SQL Server pode localizar o caminho de ficheiro temporário especificado pelo objecto SQLXMLBulkLoad mas a instância de destino não tem permissões suficientes para ler os ficheiros.

Como contornar

O caminho do ficheiro temporário especificado pelo objecto SQLXMLBulkLoad tem de ser acessível para a conta do serviço da instância de destino do Microsoft SQL Server e para a conta da aplicação XML em massa o numa localização partilhada.

Para contornar este problema, pode utilizar qualquer um dos três métodos seguintes:
  • Defina o objecto SQLXMLBulkLoad propriedade Transaction como FALSE. Por exemplo:
    objBL.transaction = "FALSE"
    Esta definição faz com que a operação para executar num modo não transaccionado. SQL Server não necessita de ler os ficheiros temporários num modo não transaccionado.

    Nota : esta solução alternativa pode afectar o desempenho da operação de carregamento em massa de XML.
  • Limite a aplicação de XML em massa o para ser executada apenas no computador do SQL Server.
  • Fornecer a propriedade Tempfilepath do objecto SQLXMLBulkLoad acessível ao computador do SQL Server e o computador no qual reside a aplicação de XML em massa o à pasta partilhada.

    Nota : Se a conta para a aplicação de XML em massa o não conseguir aceder à pasta partilhada, 80046000 erro ocorrer. Para mais informações sobre o erro 80046000, consulte o seguinte artigo na base de dados de conhecimento da Microsoft:
    316361  (http://support.microsoft.com/kb/316361/EN-US/ ) Mensagem de erro do problema: SQLXMLBulkLoad 80046000: "O sistema não é possível localizar o caminho especificado"

Mais Informação

A primeira mensagem de erro (apresentada na secção "Sintomas") ocorre se a conta do serviço da instância de destino do Microsoft SQL Server não consegue localizar o caminho especificado.

A segunda mensagem de erro (apresentada na secção "Sintomas") ocorre se a conta do serviço da instância de destino do Microsoft SQL Server pode localizar o caminho, mas não é possível encontrar os ficheiros ou não tem permissões suficientes para ler os ficheiros.

A segunda mensagem de erro também poderá ocorrer se o caminho já existe localmente no computador com o SQL Server, mas o caminho no qual a aplicação de XML em massa o cria os ficheiros temporários num computador diferente do que o SQL Server local.

REFERÊNCIAS

SQL XML Books Online; tópico: "Fazer o de em massa de dados de XML"

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Standard Edition
Palavras-chave: 
kbmt kbprb KB316371 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 316371  (http://support.microsoft.com/kb/316371/en-us/ )