Esse artigo descreve algumas das etapas comuns a serem
realizadas para solucionar um problema de conexão com um banco de dados Oracle
de um aplicativo em ASP (Active Server Pages). Algumas das mensagens de erro
mais comuns são:
Microsoft OLE DB Provider for ODBC
Drivers error '80004005' [Oracle][ODBC][Ora]ORA-12154: TNS:Não foi possível
resolver o nome do serviço/vdir/nome_do_arquivo.asp, linha xxx.
-e-
O cliente Oracle(tm) e os componentes de
rede não foram encontrados. Esses componentes são fornecidos pela Oracle
Corporation e fazem parte da instalação do software cliente da Oracle versão
7.3 (ou superior).
Você ficará impossibilitado de usar esse driver
até que esses componentes estejam instalados.
A seguir, está uma lista de etapas gerais a serem
executadas ao investigar um problema de conectividade entre ASP e um banco de
dados Oracle.
- Primeiro verifique se você pode conectar-se ao Oracle e
recuperar dados usando o utilitário Oracle's SQL Plus (um utilitário de
solicitação com base em linhas de comando). Se não for possível conectar-se por
essa ferramenta, você poderá ter uma instalação ou configuração incorreta dos
componentes clientes do Oracle ou não usou corretamente o utilitário SQL Net
Easy Config ou Oracle Net8 Easy Config para criar um alias para o servidor
Oracle. Você deve trabalhar com o administrador do banco de dados Oracle para
verificar se os componentes necessários foram instalados e configurados
corretamente.
- Se o cliente Oracle foi instalado recentemente no
computador do IIS (Internet Information Server), certifique-se de que o
computador tenha sido reinicializado pelo menos uma vez. Em alguns casos após a
instalação, o componente do Oracle, SQL Plus, funciona corretamente, mas a
conectividade pelo IIS não funciona até que você tenha reiniciado seu
computador.
- Procure por múltiplas cópias do arquivo OCIW32.dll no
servidor IIS. Deve existir somente uma cópia dessa arquivo .dll no computador,
e ela deve estar na subpasta \Bin da pasta base do Oracle. Se encontrar outras
cópias, renomeie essas cópias com uma extensão .bak e teste novamente a
conectividade. É aconselhável a reinicialização dos serviços IIS após renomear
quaisquer cópias adicionais do arquivo .dll que encontrar.
- Verifique se está executando as versões recomendadas dos
componentes do Oracle. Você pode verificar isso pelo seguinte artigo da Base de
Dados de Conhecimento da Microsoft:
193225
(http://support.microsoft.com/kb/193225/PT-BR/
)
Como configurar o IIS para conectar-se ao Oracle por ASP e ADO
Se você precisar de patches, é possível obtê-los
pelo site FTP da Oracle
ftp://Oracle-ftp.oracle.com
(ftp://Oracle-ftp.oracle.com)
.
Para obter informações adicionais sobre com obter e instalar esses patches,
consulte seu administrador de banco de dados ou entre em contato com o Suporte
técnico da Oracle. (O Suporte técnico da Microsoft não oferece suporte para a
configuração desses componentes da Oracle.) - Verifique se os componentes clientes do Oracle estão
instalados localmente no servidor IIS. Apesar de ser possível que outros
aplicativos funcionem sem que os componentes do Oracle estejam instalados
localmente, isso causa problemas quando você trabalha com aplicativos em ASP. A
Microsoft recomenda que esses componentes sejam instalados no servidor IIS;
outras configurações personalizadas não recebem suporte.
- Observe as variáveis de ambiente do sistema no computador
IIS e verifique a variável PATH. Se houverem quaisquer nomes de
compartilhamento remoto ou unidades mapeadas que apontem para o local que
contém os componentes Oracle, remova-os. Você deve reiniciar o computador para
que qualquer alteração feita tenha efeito.
- Observe novamente as variáveis de ambiente do sistema no
computador IIS e verifique a variável PATH. Verifique se a pasta \Bin no
diretório base do Oracle está incluída como parte da variável de ambiente PATH.
Em uma instalação padrão, essa é a pasta Orant\Bin. Novamente, você deve
reiniciar o computador para que qualquer alteração feita tenha
efeito.
- Tente conectar-se com o Microsoft ODBC para driver Oracle e
o Microsoft OLEDB Provider para Oracle. Aqui estão exemplos de sintaxe de
sequência de conexão para cada um:
'Microsoft OLEDB Provider for Oracle
"Provider=MSDAORA.1;Data Source=Your_TNSNames_Alias;User ID=User;Password=Password"
'Microsoft ODBC for Oracle DSN-Less
"Provider=MSDASQL;DRIVER={Microsoft ODBC for ORACLE};UID=User;PWD=Password;Server=Your_TNSNames_Alias"
'Microsoft ODBC for Oracle using a DSN
"DSN=Your_DSN_Name;UID=User;PWD=Password"
- Desativar autenticação SQL*Net. Para fazer isso, edite o
arquivo SQLNET.ora. Esse arquivo de configuração é normalmente armazenado na
subpasta Network\Admin da pasta base do Oracle. Adicione as seguintes linhas a
esse arquivo:
SQLNET.AUTHENTICATION_SERVICES = (none)
SQLNET.AUTHENTICATION = (none)
Reinicie o serviço IIS após fazer essas alterações. - Adicione a conta IUSR_nome da
máquina e a conta IWAM_nome da máquina
à pasta base do Oracle. Forneça controle total às duas contas.
Para
fazer isso, clique com o botão direito do mouse na pasta base do Oracle no
Windows Explorer. Clique em Propriedades e na guia Segurança. Adicione as contas apropriadas e forneça a elas controle total.
Reinicie o computador.
Os
produtos de terceiros mencionados neste artigo são produzidos por empresas
independentes da Microsoft. A Microsoft não oferece garantia, implícita ou não,
em relação ao desempenho ou à confiabilidade desses
produtos.
A Microsoft fornece informações para o contato com terceiros para
ajudá-lo a encontrar suporte técnico. Essas informações para contato podem ser
alteradas sem aviso prévio. A Microsoft não garante a precisão dessas
informações para contato com terceiros.