Erro de "System.Data.OleDb.OleDbException" quando você executa um aplicativo ASP.NET

O suporte para o Office 2003 terminou

A Microsoft terminou o suporte para o Office 2003 em 8 de abril de 2014. Esta alteração afetou as suas atualizações de software e opções de segurança. Saiba o que isto significa para você e como permanecer protegido.

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: 825738
Sintomas
Quando você se conectar a um banco de dados Microsoft Access de um Microsoft ASP.NET aplicativo, você receber a seguinte mensagem de erro:
System.Data.OleDb.OleDbException: Erro não especificado
Causa
O aplicativo ASP.NET que tem o elemento de representação definida como true no arquivo Web.config, e que tem o elemento autenticação definido para o Windows no arquivo Web.config, é executado sob a conta representada. O código no aplicativo ASP.NET se conecta a um banco de dados do Access. Quando a conexão é feita, o Microsoft Jet OLE cria arquivos temporários na pasta TEMP no seguinte diretório:
Configurações de \ASPNET\Local do documento e Settings\ ServerName
onde ServerName é o nome do servidor.

Se a conta de usuário representado não tiver permissões de leitura/gravação habilitadas na pasta Temp, você receberá a mensagem de erro mencionada na seção "Sintomas".
Resolução
Para resolver esse problema, habilite as permissões de leitura/gravação para a conta de usuário representado na pasta Temp. Para fazer isso, execute as seguintes etapas:
  1. No Windows Explorer, localize a seguinte pasta:
    Documento settings\ ServerName \ASPNET\Local settings\Temp
    onde ServerName é o nome do servidor.
  2. Clique com o botão direito na pasta TEMP e, em seguida, clique em Propriedades .
  3. Na caixa de diálogo Propriedades , clique na guia segurança .
  4. Na guia segurança , clique em Adicionar e, em seguida, digite ServerName \ UserAccount na caixa de texto Selecionar usuários ou grupos , onde ServerName é o nome do seu servidor, e onde UserAccount é o nome da conta representada. Clique em OK .
  5. Clique para selecionar as caixas de seleção gravação e leitura e, em seguida, clique em OK .
Situação
Esse comportamento é por design.
Mais Informações

Passos para reproduzir o problema

  1. Crie um novo aplicativo ASP.NET. Para fazer isso, execute as seguintes etapas:
    1. Inicie o Microsoft Visual Studio NET..
    2. Crie um novo .NET translation from VPE for Csharp Visual da Microsoft ou um aplicativo Web de ASP.NET .NET do Microsoft Visual Basic novo. Nomeie o projeto SampleApplication .
    3. O código em SampleApplication o arquivo para estabelecer conexão com o banco de dados do Access de gravação.
  2. Defina o modo de autenticação para o Windows . Para fazer isso, execute as seguintes etapas:
    1. No Solution Explorer, clique duas vezes em Web.config .
    2. Sob o <System.web> seção, modifique o elemento de autenticação da seguinte forma:
        <authentication mode="Windows" /> 
  3. Defina o elemento de representação como true . Para fazer isso, execute as seguintes etapas:
    1. Sob o <System.web> seção, adicione o elemento de representação da seguinte maneira:
      <identity impersonate="true" />
    2. Salve e feche o arquivo Web.config.
  4. No menu Build , clique em Criar SampleApplication .
  5. Defina o método de autenticação no aplicativo. Para fazer isso, execute as seguintes etapas:
    1. Clique em Iniciar e, em seguida, clique em Executar .
    2. Na caixa de texto Abrir , digite inetmgr e, em seguida, clique em OK .
    3. No IIS diálogo caixa, clique em Default Web Site .
    4. Clique com o botão direito do mouse em SampleApplication e, em seguida, clique em Propriedades .
    5. Na caixa de diálogo Propriedades de SampleApplication , clique na guia Segurança de diretório .
    6. Em Anonymous access and authentication control , clique em Editar .
    7. Na caixa de diálogo Métodos de autenticação , clique para selecionar a caixa de seleção Acesso anônimo . Verifique se a caixa de texto nome do usuário tem valor UserAccount, onde UserAccount é uma conta do Windows. Clique duas vezes em OK e feche a caixa de diálogo Internet Information Services .
    8. Certifique-se que leitura/gravação as permissões para UserAccount não estão habilitadas na seguinte pasta:
      Documento settings\ ServerName \ASPNET\Local Settings\Temp
    Observação IIS usa os seguintes métodos de autenticação para autenticar em um aplicativo ASP.NET:
    • Autenticação anônima : IIS usa a conta de usuário anônimo do IIS (a conta padrão é IUSR_ computername).
    • Autenticação integrada : IIS usa a conta de usuário do usuário que está conectado no momento.
    • Autenticação básica : IIS usa a conta especificada pelo usuário.
  6. Execute o aplicativo. Para fazer isso, digite http:// <ServerName > /SampleApplication/Webform1.aspx na barra de endereços do navegador da Web e em seguida, clique em Ir .

    Você pode ver a mensagem de erro mencionada na seção "Sintomas".
Referências
Para obter mais informações sobre representação ASP.NET, visite o seguinte site da Web Microsoft Developer Network (MSDN):Para obter mais informações, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
301195Como configurar a segurança para arquivos e pastas em uma rede (domínio) no Windows 2000
316675Não é possível conectar-se a banco de dados do ASP.NET

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 825738 - Última Revisão: 05/18/2007 08:20:36 - Revisão: 3.5

Microsoft .NET Framework 1.0, Microsoft ASP.NET 1.1, Microsoft ASP.NET 1.0, Microsoft Access 2000 Standard Edition, Microsoft Access 2002 Standard Edition, Microsoft Office Access 2003

  • kbmt kbprb kbconfig kbauthentication kbwebforms kbdatabase KB825738 KbMtpt
Comentários