El mensaje cuando lanzaba cualquier consulta era el mismo:
System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.
Existen dos posibilidades para este error.
Recordemos que estamos en una nueva máquina y que estamos tratando de acceder a la BD de Oracle desde nuestra aplicación de ASP.NET.
Las causas pueden ser dos muy diferentes:
- No se ha instalado el Microsoft OLE DB provider for Oracle.
- La carpeta de la instalación de Oracle no tiene permiso para el usuario de ASP.NET
Si se trata del primer caso, lo más seguro es que luego hay que atender también el segundo caso.
1. Instalar Microsoft OLE DB provider for Oracle.
Los enlaces de descarga se pueden encontrar en:
http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html
Es necesario conocer muy bien la máquina y el sistema operativo que se tiene en el servidor para seleccionar el enlace adecuado.
2. Dar permisos administrativos a la carpeta de Oracle
El procedimiento es sencillo:
- Dar permisos sobre la carpeta de Oracle a los usuarios “Authenticated Users” y “ASP.net”
- Loguearse a Windows con credenciales administrativas.
- Ir a la carpeta raíz de Oracle que generalmente se encuentra en: C:\Oracle.
- Ir a las propiedades de la carpeta y seleccionar la pestaña “Seguridad”.
- Click on “Authenticated Users” item in the “Name” list.
- Agregar los usuarios “Authenticated Users” y “ASP.net” y asignarles permisos de “Full Control”.
- Dar clic en el botón “Avanzado”, se eligen los usuarios mencionados anteriormente y se seleccionar las opciones “Permitir que los permisos heredables del primario se propaguen a este objeto y a todos los objetos secundarios. Incluirlos junto con las entradas indicadas aquí de forma explícita” y “Reemplazar las entradas de permisos en todos los objetos secundarios con aquellas entradas incluidas aquí y que sean relativas a los objetos secundarios”.
- Dar clic en OK y reiniciar el equipo para asegurarse de que los cambios surtan efecto.
NOTA IMPORTANTE
"Reiniciar la máquina."
Aquí no hay experiencia que valga... o se reinicia la máquina o todo lo mencionado en este artículo puede quedar en el papel con que vamos a limpiar los vídrios.