PROBLEMA: Erro ASP 80004005 "nome da fonte de dados não encontrado"

Traduções deste artigo Traduções deste artigo
ID do artigo: 306345 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Quando você usa ADO (ActiveX Data Objects) ou ODBC para abrir uma conexão de banco de dados em uma página Active Server Pages (ASP), você receberá a seguinte mensagem de erro:
Microsoft OLE DB Provider para ODBC drivers erro '80004005'
[Microsoft][ODBC Driver Manager] Nome de fonte de dados não encontrado e nenhum driver padrão especificado.

Causa

Este erro pode ocorrer quando você usa uma seqüência de conexão baseada em DSN (uma seqüência de conexão que usa um DSN do sistema) ou uma seqüência de conexão sem DSN com ADO e ODBC para abrir uma conexão de banco de dados em uma página ASP. As causas comuns desse erro estão listadas abaixo.

Usando um DSN ODBC

  • A conta de usuário Microsoft Windows NT 4.0 ou Windows 2000, que é usada para processar a solicitação para a página ASP não tem permissões suficientes para ler a chave do registro que armazena o DSN especificado informações de configuração.
  • O DSN do ODBC sistema especificado na seqüência de conexão ADO não existe no servidor IIS.
  • A variável ASP Application ou Session , que é inicializada em global.asa do aplicativo ASP arquivo (ou em uma página ASP que é acessada antes da página que contém o código de conexão de banco de dados) é usado para especificar a seqüência de conexão ADO. Essa variável de seqüência de caracteres de conexão não foi inicializado quando o código para abrir a conexão de banco de dados é executado. Para confirmar isso, adicione uma instrução Response.write antes da linha de código que abre a conexão de banco de dados para exibir a seqüência de conexão que é armazenada na variável.

Usando uma seqüência de conexão menor DSN

  • A conta de usuário Windows NT 4.0 ou Windows 2000, que é usada para processar a solicitação para a página ASP não tem permissões suficientes para ler a chave do registro que armazena o driver de ODBC especificada informações de configuração. O parâmetro de driver em um DSN - menos seqüência de caracteres de conexão Especifica o ODBC driver que é usado para estabelecer a conexão de banco de dados.
  • O nome do driver ODBC especificado na seqüência de conexão é escrito incorretamente ou especifica um driver que não está instalado no servidor IIS (Internet Information Server).
  • A variável ASP Application ou Session , que é inicializada em global.asa do aplicativo ASP arquivo (ou em uma página ASP que é acessada antes da página que contém o código de conexão de banco de dados) é usado para especificar a seqüência de conexão ADO. Essa variável de seqüência de caracteres de conexão não foi inicializado quando o código para abrir a conexão de banco de dados é executado. Para confirmar isso, adicione uma instrução Response.write antes da linha de código que abre a conexão de banco de dados para exibir a seqüência de conexão que é armazenada na variável.

Resolução

importante Esta seção, método ou tarefa contém etapas que informam sobre como modificar o registro. No entanto, sérios problemas poderão ocorrer se você modificar o registro incorretamente. Por isso, certifique-se que você execute essas etapas cuidadosamente. Para proteção adicional, fazer backup do registro antes de modificá-lo. Em seguida, você pode restaurar o registro se ocorrer um problema. Para obter mais informações sobre como fazer backup e restaurar o registro, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
322756Como fazer backup e restaurar o registro no Windows

Usando um DSN ODBC

Permissões insuficientes para ler a chave de registro DSN

Conceda a conta de usuário Windows NT 4.0 ou Windows 2000 acesso de leitura à chave do Registro ODBC DSN de sistema especificado da seguinte maneira:
  1. Determine qual conta é usada para processar a solicitação para a página ASP.
  2. No menu Iniciar , clique em Executar , digite regedt32.exe e, em seguida, clique em OK para iniciar o Editor do Registro.
  3. Na janela HKEY_LOCAL_MACHINE , vá para a chave HKLM\SOFTWARE\ODBC\ODBC.INI . A chave ODBC.ini contém uma subchave para cada DSN de sistema do ODBC é registrado no servidor.
  4. Clique em chave do Registro DSN para o DSN especificada na seqüência de conexão ADO.
  5. No menu segurança , clique em permissões .
  6. Adicione a conta de usuário que você identificou na etapa 1 à lista de usuários que podem acessar essa chave e marque a caixa de seleção Read para este usuário.
  7. Clique em Aplicar e, em seguida, feche Editor do Registro.

DSN especificada não existe no servidor IIS

Crie o DSN do ODBC sistema especificado no servidor IIS.

Global.asa código para inicializar a seqüência de conexão ADO não está sendo executado

  1. Verificar se a pasta de aplicativo IIS tiver sido configurada como um diretório virtual do IIS com permissões para executar scripts.
  2. Verifique se o arquivo global.asa está localizado no IIS diretório raiz do aplicativo.
  3. Se a pasta de aplicativo já está configurada como um IIS virtual diretório, remover e recriar o aplicativo de IIS.
  4. Consulte os artigos listados na seção "Referências" para determinar se qualquer um destes artigos se aplicam à sua situação específica.
  5. Contate o Atendimento Microsoft se o código no global.asa ainda não for exibido esteja em execução depois de executar as etapas anteriores.

Usando uma seqüência de conexão menor DSN

Permissões insuficientes para ler a chave de registro de driver ODBC especificada

Conceda a conta de usuário Windows NT 4.0 ou Windows 2000 acesso de leitura à chave do Registro ODBC driver especificado da seguinte maneira:
  1. Determine qual conta é usada para processar a solicitação para a página ASP.
  2. No menu Iniciar , clique em Executar , digite regedt32.exe e, em seguida, clique em OK para iniciar o Editor do Registro.
  3. Na janela HKEY_LOCAL_MACHINE , vá para a chave HKLM\SOFTWARE\ODBC\ODBCINST.INI . A chave ODBCINST.INI contém uma subchave para cada driver de ODBC instalado no servidor.
  4. Clique na chave de registro do driver para o driver especificado na seqüência de conexão ADO.
  5. No menu segurança , clique em permissões .
  6. Adicione a conta de usuário que você identificou na etapa 1 à lista de usuários que podem acessar essa chave e marque a caixa de seleção Read para este usuário.
  7. Clique em Aplicar e, em seguida, feche Editor do Registro.

Nome de driver é escrito incorretamente ou não está instalado no servidor IIS

Verifique se que o nome do driver ODBC esteja escrito corretamente no ADO seqüência de caracteres de conexão. Além disso, verifique se o driver especificado está instalado no servidor IIS. Para exibir uma lista de drivers de ODBC instalados em um sistema, consulte o administrador de fonte de dados ODBC (Odbcad32.exe) na guia drivers .

Global.asa código para inicializar a seqüência de conexão ADO não está sendo executado

  1. Verificar se a pasta de aplicativo IIS tiver sido configurada como um diretório virtual do IIS com permissões para executar scripts.
  2. Verifique se o arquivo global.asa está localizado no IIS diretório raiz do aplicativo.
  3. Se a pasta de aplicativo já está configurada como um IIS virtual diretório, remover e recriar o aplicativo de IIS.
  4. Consulte os artigos listados na seção "Referências" para determinar se qualquer um destes artigos se aplicam à sua situação específica.
  5. Contate o Atendimento Microsoft se o código no global.asa ainda não for exibido esteja em execução depois de executar as etapas anteriores.

Situação

Esse comportamento é por design.

Mais Informações

A conta de usuário Windows NT 4.0 ou Windows 2000 cujas credenciais são usadas para processar uma solicitação para uma página ASP é determinada pelo mecanismo de autenticação que o servidor Web usa para autenticar a solicitação do usuário. Por exemplo, se você usar autenticação anônima, as credenciais da conta anônimo do IIS configurada (a conta IUSR_ < NomeServidorWeb > conta por padrão) é usado para processar a solicitação do usuário. Quando você usa autenticação básica, o Microsoft Internet Explorer solicita que o usuário fornecer um válido Windows NT 4.0 ou Windows 2000 Network UserId e uma senha cujas credenciais são usadas para processar a solicitação. Para obter informações adicionais sobre os mecanismos de autenticação com suporte e como eles funcionam, consulte a documentação do IIS on-line.

Referências

Para obter informações adicionais, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
188715ASA global não disparando quando o Visual InterDev feitas IIS 4.0 aplicativo
288245PROBLEMA: O global.asa não disparado do servidor Web pessoal no Windows 98
265275FP2000: O global.asa não é executado na Web do FrontPage

Propriedades

ID do artigo: 306345 - Última revisão: sexta-feira, 11 de agosto de 2006 - Revisão: 5.4
A informação contida neste artigo aplica-se a:
  • Microsoft Active Server Pages 2.0
  • Microsoft Active Server Pages 3.0
  • Microsoft Internet Information Server 4.0
  • Microsoft Internet Information Services 5.0
  • Microsoft Data Access Components 2.0
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.1 Service Pack 1
  • Microsoft Data Access Components 2.1 Service Pack 2
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.5 Service Pack 1
  • Microsoft Data Access Components 2.5 Service Pack 2
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.6 Service Pack 1
  • Microsoft Data Access Components 2.7
Palavras-chave: 
kbmt kbprb KB306345 KbMtpt
Traduçã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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 306345

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com