Solução de problemas de permissão e mensagens de erro Microsoft e MySQL no Dreamweaver.

Observação:

a interface de usuário foi simplificada no Dreamweaver CC e posterior. Como resultado, você talvez não consiga localizar algumas das opções descritas neste artigo no Dreamweaver CC e posterior. Para obter mais informações, consulte este artigo (em inglês).

Solução de problemas de permissão

Uma dos problemas mais comuns é a insuficiência de permissões de arquivo ou de pasta. Caso o banco de dados esteja localizado em um computador com o Windows 2000 ou o Windows XP e você receba uma mensagem de erro ao tentar exibir uma página dinâmica em um navegador da Web ou na Visualização dinâmica, o erro talvez seja por conta de um problema de permissão.

A conta do Windows que tenta acessar o banco de dados não tem permissões suficientes. A conta pode ser a conta do Windows anônima (por padrão, IUSR_computername) ou uma conta de usuário específica, caso a página tenha sido protegida para acesso autenticado.

Você deve alterar as permissões para dar à conta IUSR_computername as permissões corretas de forma que o servidor Web possa acessar o arquivo de banco de dados. Além disso, a pasta que contém o arquivo de banco de dados também deve ter determinadas permissões definidas para que seja possível gravar nesse banco de dados.

Caso a página deva ser acessada anonimamente, dê à conta IUSR_computername controle total à pasta e ao arquivo de banco de dados, como descrito no procedimento abaixo.

Além disso, caso o caminho do banco de dados seja referenciado usando UNC (\\Servidor\Compartilhamento), verifique se Permissões de compartilhamento dão à conta IUSR_computername acesso total. Essa etapa se aplica mesmo que o compartilhamento esteja no servidor Web local.

Caso você copie o banco de dados de outro local, talvez ele não herde as permissões da pasta de destino e você tenha que alterar as permissões para o banco de dados.

Verificar ou alterar as permissões de arquivo do banco de dados (Windows XP)

  1. Verifique se você tem privilégios de administrador no computador.
  2. No Windows Explorer, localize o arquivo do banco de dados ou a pasta que contém o banco de dados, clique com o botão direito do mouse no arquivo ou na pasta e selecione Propriedades.
  3. Selecione a guia Segurança.

    Observação:

    Esta etapa só se aplica caso você tenha um sistema de arquivos NTFS. Se você tiver um sistema de arquivos FAT, a caixa de diálogo não terá uma guia Segurança.

  4. Caso a conta IUSR_computername não esteja listada na lista Nomes de grupo ou de usuário, clique no botão Adicionar para adicioná-la.
  5. Na caixa de diálogo Selecionar Usuários e Grupos, clique em Avançado.

    A caixa de diálogo é alterada para mostrar mais opções.

  6. Clique em Locais e selecione o nome do computador.
  7. Clique em Localizar agora para exibir uma lista dos nomes de conta associados ao computador.
  8. Selecione a conta IUSR_computername e clique em OK; depois, clique em OK novamente para limpar a caixa de diálogo.
  9. Para atribuir permissões totais à conta IUSR, selecione Controle total e clique em OK.

Verificar ou alterar as permissões de arquivo do banco de dados (Windows 2000)

  1. Verifique se você tem privilégios de administrador no computador.
  2. No Windows Explorer, localize o arquivo do banco de dados ou a pasta que contém o banco de dados, clique com o botão direito do mouse no arquivo ou na pasta e selecione Propriedades.
  3. Selecione a guia Segurança.

    Observação:

    Esta etapa só se aplica caso você tenha um sistema de arquivos NTFS. Se você tiver um sistema de arquivos FAT, a caixa de diálogo não terá uma guia Segurança.

  4. Caso a conta IUSR_computername não esteja listada dentre as contas do Windows na caixa de diálogo Permissões de arquivo, clique no botão Adicionar para adicioná-la.
  5. Na caixa de diálogo Selecionar usuários, computadores ou grupos, selecione o nome do computador no menu Pesquisar para exibir uma lista dos nomes da conta associados ao computador.
  6. Selecione a conta IUSR_computername e clique em Adicionar.
  7. Para atribuir permissões totais à conta IUSR, selecione Controle total no menu Tipo de acesso e clique em OK.

    Para obter mais segurança, as permissões podem ser definidas de forma que a permissão de Leitura permaneça desativada para a pasta da Web que contém o banco de dados. A navegação na pasta não será permitida, embora as páginas da Web continuem podendo acessar o banco de dados.

    Para obter mais informações sobre a conta IUSR e as permissões do servidor Web, consulte as seguintes TechNotes no Centro de Suporte da Adobe:

Solução de problemas de mensagens de erro Microsoft

Essas mensagens de erro Microsoft podem ocorrer quando você solicita uma página dinâmica do servidor caso use o Internet Information Server (IIS) com um sistema de banco de dados Microsoft como, por exemplo, o Access ou o SQL Server.

Observação:

A Adobe não dá suporte técnico a softwares de outros fabricantes como, por exemplo, o Microsoft Windows e o IIS. Caso essas informações não corrijam o problema, entre em contato com o suporte técnico da Microsoft ou visite o site de suporte Microsoft em http://support.microsoft.com/.

Para obter mais informações sobre erros 80004005, consulte “INFO: Guia de Solução de Problemas para erros 80004005 no Active Server Pages e no Microsoft Data Access Components (Q306518)” no site da Microsoft em http://support.microsoft.com/default.aspx?scid=kb;pt-br;Q306518.

[Referência] 80004005 – nome de fonte de dados não encontrado e nenhum driver padrão especificado

Esse erro ocorre quando você tenta exibir uma página dinâmica em um navegador da Web ou na Visualização dinâmica. A mensagem de erro pode variar de acordo com o banco de dados e o servidor Web. Entre outras variações da mensagem de erro estão:

  • 80004005—Falha em SQLSetConnectAttr do driver

  • 80004005—Erro geral ao não poder abrir a chave do Registro 'DriverId'

    Eis as causas possíveis e as soluções:

  • A página não consegue localizar o DSN. Verifique se um DSN foi criado tanto no servidor Web quanto na máquina local.

  • O DSN pode ter sido definido como um DSN de usuário, e não de sistema. Exclua o DSN de usuário e crie um DSN de sistema para substituí-lo.

Observação:

Caso você não exclua o DSN de usuário, os nomes de DSN duplicados produzem um novo erro ODBC.

Caso você use o Microsoft Access, o arquivo de banco de dados (.mdb) pode estar bloqueado. O bloqueio talvez se deva a um DSN com um nome diferente acessando o banco de dados. No Windows Explorer, procure o arquivo de bloqueio (.ldb) na pasta que contém o arquivo de banco de dados (.mdb) e exclua o arquivo .ldb. Caso haja outro DSN apontando para o mesmo arquivo de banco de dados, exclua o DSN a fim de evitar o erro no futuro. Reinicie o computador depois de fazer todas as alterações.

[Referência] 80004005 – não foi possível usar “(desconhecido)”; arquivo já em uso

Esse erro ocorre quando você usa um banco de dados do Microsoft Access e tenta exibir uma página dinâmica em um navegador da Web ou na Visualização dinâmica. Outra variação da mensagem de erro é “80004005—O mecanismo de banco de dados Microsoft Jet não pôde abrir o arquivo (desconhecido).”

A causa provável é um problema de permissão. Eis algumas causas específicas e as soluções:

  • A conta usada pelo Internet Information Server (normalmente, IUSR) talvez não tenha as permissões do Windows corretas para um banco de dados baseado em arquivo ou para a pasta que contém o arquivo. Verifique as permissões na conta do IIS (IUSR) no gerenciador de usuários.

  • Você talvez não tenha permissão para criar ou destruir arquivos temporários. Verifique as permissões quanto ao arquivo e à pasta. Verifique se você tem permissão para criar ou destruir algum arquivo temporário. Os arquivos temporários são normalmente criados na mesma pasta do banco de dados, embora o arquivo também possa ser criado em outras pastas como, por exemplo, /Winnt.

  • No Windows 2000, talvez seja necessário alterar o valor de tempo-limite para o DSN do banco de dados do Access. Para alterar o valor de tempo-limite, selecione Iniciar > Configurações > Painel de Controle > Ferramentas Administrativas > Fontes de Dados (ODBC). Clique na guia Sistema, realce o DSN correto e clique no botão Configurar. Clique no botão Opções e altere o valor Tempo limite da página para 5000.

    Caso os problemas persistam, consulte os seguintes artigos da Base de Dados de Conhecimento da Microsoft:

  • PRB: 80004005 “Não foi possível usar ‘(desconhecido)’; arquivo já em uso” em http://support.microsoft.com/default.aspx?scid=kb;pt-br;Q174943.

  • PRB: Falha de conectividade do Banco de dados do Microsoft Access Active em http://support.microsoft.com/default.aspx?scid=kb;pt-br;Q253604.

  • PRB: Erro “Não foi possível abrir arquivo desconhecido” usando o Access em http://support.microsoft.com/default.aspx?scid=kb;pt-br;Q166029.

[Referência] 80004005 – Falha no logon()

Esse erro ocorre quando você usa o Microsoft SQL Server e tenta exibir uma página dinâmica em um navegador da Web ou na Visualização dinâmica.

Esse erro é gerado pelo SQL Server caso você não aceite ou reconheça a conta do logon ou a senha enviada (caso você esteja usando a segurança padrão), ou caso uma conta do Windows não esteja mapeada para uma conta SQL (caso você esteja usando a segurança integrada).

Eis as soluções possíveis:

  • Caso você use a segurança padrão, o nome da conta e a senha talvez estejam incorretos. Tente usar a conta Admin do sistema e a senha (UID= “sa” e sem senha), que devem ser definidas na linha da sequência de caracteres de conexão. (Os DSNs não armazenam nomes de usuário e senhas.)

  • Caso você use segurança integrada, verifique a conta do Windows chamando a página e localize a conta SQL mapeada (caso haja alguma).

  • O SQL Server não permite sublinhados em nomes de conta SQL. Se alguém mapear manualmente a conta do Windows IUSR_machinename para uma conta SQL com o mesmo nome, haverá uma falha. Mapeie uma conta que usa um sublinhado para um nome de conta no SQL que não usa um sublinhado.

[Referência] 80004005 – operação deve usar uma consulta atualizável

Esse erro ocorre quando um evento atualiza um conjunto de registros ou insere dados em um conjunto.

Eis as causas possíveis e as soluções:

  • As permissões definidas na pasta que contém o banco de dados são muito restritivas. Os privilégios IUSR devem ser definidos como leitura/gravação.

  • As permissões no arquivo de banco de dados propriamente dito não têm privilégios de leitura/gravação em vigor.

  • O banco de dados deve estar localizado fora do diretório Inetpub/wwwroot. Embora possa exibir e pesquisar os dados, você talvez não consiga atualizá-los a menos que o banco de dados esteja localizado no diretório wwwroot.

  • O conjunto de registros se baseia em uma consulta não atualizável. Ingressos são bons exemplos de consultas não atualizáveis dentro de um banco de dados. Reestruture as consultas para que elas sejam atualizáveis.

    Para obter mais informações sobre esse erro, consulte “PRB: ASP 'Erro A consulta não é atualizável' ao atualizar o registro da tabela” na Base de Dados de Conhecimento Microsoft em http://support.microsoft.com/default.aspx?scid=kb;pt-br;Q174640.

[Referência] 80040e07 – tipo de dados não correspondente na expressão de critérios

Esse erro ocorre quando o servidor tenta processar uma página que contém um comportamento de servidor Inserir registro ou Atualizar registro, e o comportamento de servidor tenta definir o valor de uma coluna Data/hora de um banco de dados do Microsoft Access como uma sequência de caracteres vazia ("").

O Microsoft Access tem tipo de dados acentuado; ele impõe um conjunto de regras rigorosas em determinados valores de coluna. O valor de sequência de caracteres vazia na consulta SQL não pode ser armazenada em uma coluna Data/hora do Access. Atualmente, a única alternativa conhecida é evitar a inserção ou a exclusão de colunas Data/hora no Access com sequências de caracteres vazias ("") ou com qualquer outro valor que não corresponda à faixa de valores especificada para o tipo de dados.

[Referência] 80040e10 – parâmetros insuficientes

Esse erro ocorre quando uma coluna especificada na consulta SQL não existe na tabela do banco de dados. Compare os nomes da coluna na tabela do banco de dados com a consulta SQL. A causa desse erro costuma ser um erro tipográfico.

[Referência] 80040e10 – campo COUNT incorreto

Esse erro ocorre quando você visualiza uma página que contém um comportamento de servidor Inserir registro em um navegador da Web e tenta usá-lo para inserir um registro em um banco de dados do Microsoft Access.

Você talvez esteja tentando inserir um registro em um campo de banco de dados que apresenta um ponto de interrogação (?) no nome. O ponto de interrogação é um caractere especial para alguns mecanismos de banco de dados, inclusive o Microsoft Access, e não deve ser usado em nomes de tabela de banco de dados ou em nomes de campo.

Abra o sistema de banco de dados e exclua o ponto de interrogação (?) dos nomes de campo e atualize os comportamentos de servidor na página que se referem ao campo.

[Referência] 80040e14 – erro de sintaxe na instrução INSERT INTO

Esse erro ocorre quando o servidor tenta processar uma página que contenha um comportamento de servidor Inserir registro.

Esse erro normalmente resulta de um ou mais dos seguintes problemas com o nome de um campo, objeto ou variável no banco de dados:

  • O uso de uma palavra reservada como nome. A maioria dos bancos de dados tem um conjunto de palavras reservadas. Por exemplo, “data” é uma palavra reservada e não pode ser usada em nomes de coluna em um banco de dados.

  • O uso de caracteres especiais no nome. Entre os exemplos de caracteres especiais estão:

    . / * : ! # & - ?

  • O uso de um espaço no nome.

    O erro também pode ocorrer quando uma máscara de entrada é definida para um objeto no banco de dados, e os dados inseridos não correspondem à mascara.

    Para corrigir o problema, evite o uso de palavras reservadas como, por exemplo, “data”, “nome”, “seleção”, “onde” e “nível” ao especificar nomes de coluna no banco de dados. Além disso, elimine os espaços e os caracteres especiais.

    Consulte as seguintes páginas da Web para obter listas de palavras reservadas para sistemas de banco de dados comuns:

  • Microsoft Access em http://support.microsoft.com/default.aspx?scid=kb;pt-br;Q209187

  • MySQL em http://dev.mysql.com/doc/mysql/en/reserved-words.html

[Referência] 80040e21 – erro de ODBC ao inserir ou atualizar

Esse erro ocorre quando o servidor tenta processar uma página que contenha um comportamento de servidor Atualizar registro ou Inserir registro. O banco de dados não pode lidar com a operação de atualização ou de inserção que o comportamento de servidor está tentando realizar.

Eis as causas possíveis e as soluções:

  • O comportamento de servidor está tentando atualizar um campo de numeração automática da tabela do banco de dados ou inserir um registro em um campo de numeração automática. Como os campos de numeração automática são preenchidos automaticamente pelo sistema de banco de dados, qualquer tentativa de preenchê-los externamente usando um valor resultará em falha.

  • Os dados que o comportamento de servidor está atualizando ou inserindo são do tipo errado para o campo de banco de dados como, por exemplo, inserir um campo booliano (sim/não), inserir uma sequência de caracteres em um campo numérico ou inserir uma sequência de caracteres formatada incorretamente no campo Data/hora.

[Referência] 800a0bcd – BOF ou EOF é verdadeiro

Esse erro ocorre quando você tenta exibir uma página dinâmica em um navegador da Web ou na Visualização dinâmica.

O problema ocorre quando a página tenta exibir dados de um conjunto de registros vazio. Para resolver o problema, aplique o comportamento de servidor Mostrar região para que o conteúdo dinâmico seja exibido na página da seguinte forma:

  1. Realce o conteúdo dinâmico na página.

  2. No painel Comportamentos de servidor, clique no botão de adição (+) e selecione Mostrar região > Mostrar região se conjunto de registros não estiver vazio.

  3. Selecione o conjunto de registros fornecendo o conteúdo dinâmico e clique em OK.

  4. Repita as etapas de 1 a 3 para cada elemento de conteúdo dinâmico na página.

Solução de problemas de mensagens de erro MySQL

Uma mensagem de erro que você recebe normalmente ao testar uma conexão de banco de dados do PHP com o MySQL 4.1 é “Client does not support authentication protocol requested. Consider upgrading MySQL client.”

Você talvez tenha que reverter para uma versão anterior do MySQL ou instalar o PHP 5 e copiar algumas DLLs (bibliotecas de links dinâmicos). Para obter instruções detalhadas, consulte Configuração de um ambiente de desenvolvimento PHP.

Esta obra está licenciada sob uma licença não adaptada da Creative Commons Attribution-Noncommercial-Share Alike 3.0  As publicações do Twitter™ e do Facebook não são cobertas pelos termos do Creative Commons.

Avisos legais   |   Política de privacidade online