Solución de problemas de asuntos relacionados con la base de datos
A continuación encontrará los pasos para la solución general de problemas de asuntos relacionados con la base de datos. En la sección Tablas de la base de datos del Geoportal encontrará información específica sobre las tablas de las bases de datos y las columnas que contienen. Si los elementos generales a continuación no le ayudan a solucionar el problema, entonces consulte los elementos específicos para verificar el tipo de software del sistema de la base de datos:
Solución general de problemas de la base de datos- Error: "No se puede crear PoolableConnectionFactory..." o "No se puede cargar la clase del controlador JDBC...": Compruebe lo siguiente:
- Si usa Tomcat, compruebe que la configuración del archivo geoportal.xml de la carpeta \\TOMCAT\conf\Catalina\localhost es correcta. Compruebe que los valores de driverClassName, url jdbc, nombre de usuario y contraseña son correctos, que no se han introducido espacios en blanco y que no falta ningún carácter ni las comillas correspondientes.
- Verifique que se haya copiado el controlador jdbc correcto para la base de datos en la ubicación indicada en el contenedor servlet. Si usa Tomcat, consulte la tabla del controlador de la base de datos jdbc en la Sección 8 de la Guía de instalación del Geoportal para determinar donde controladores debe usar con cada base de datos, así como la orientación para determinar en donde copiar el controlador. Para otro software de aplicación servlet, consulte las guías de instalación respectivas de esos entornos, que se encuentran en la carpeta <Geoportal distribution directory>\Documentation\Installation.
- Verifique el puerto que usa la base de datos. Si el puerto no coincide con el especificado en la información de conexión jdbc (p. ej., el archivo geoportal.xml de Tomcat0, o si su base de datos asigna el número de puerto de forma dinámica), cambie los puertos asignados de forma dinámica a una configuración estática y cambie el puerto que se haya asignado en el archivo geoportal.xml. Una herramienta muy útil para notificar el estado de los puertos es una utilidad de comandos en línea llamada PortQry.
SQL Server 2005 y 2008
Compruebe que TCP/IP está activado como protocolo
- Inicie el Administrador de configuración de SQL Server del menú Inicio > Microsoft SQL Server 200x > Herramientas de configuración > Administrador de configuración de SQL Server.
- Habilite el protocolo IP. Para ello, vaya al árbol Configuración de red de SQL Server y, a continuación, elija Protocolos de MSSQLSERVER. Haga clic con el botón derecho en TCP/IP y seleccione Habilitar.
Compruebe que se ha asignado el puerto correcto para TCP/IP
- Siga los pasos indicados anteriormente para seleccionar TCP/IP en el Administrador de configuración de SQL Server.
- Haga clic con el botón derecho en TCP/IP y seleccione Propiedades.
- Haga clic en la pestaña Direcciones IP. Desplácese en los IP que se mencionan y verifique la asignación del número de puerto para el equipo que aloja la base de datos y el puerto TCP. Este puerto se debe usar en el archivo geoportal.xml de la url jdbc.
- Si el puerto se asigna de forma dinámica, entonces debe cambiar esta configuración en el software de la base de datos de forma que no se asigne dinámicamente y luego use el puerto designado para la información de la conexión de jdbc.
Compruebe que su servidor admite la autenticación de Windows y de SQL ServerSi su servidor solo admite la autenticación de Windows, el usuario que cree la secuencia de comandos no podrá iniciar sesión para diseñar tablas. Se mostrará un error en el archivo build_schema.log diciendo que no se ha podido iniciar la sesión del usuario. Para consultar el modo de autenticación de seguridad, y cambiarlo si procede (según Microsoft, consulte http://msdn.microsoft.com/es-es/library/ms188670.aspx ), siga estos pasos:
- Inicie sesión en SQL Server Management Studio.
- En el Explorador de objetos de SQL Server Management Studio, haga clic con el botón derecho en el servidor y, a continuación, haga clic en Propiedades.
- En la página Seguridad, en Autenticación de servidor, marque el botón de opción Modo de autenticación de Windows y SQL Server si no está seleccionado, y haga clic en Aceptar.
- En el cuadro de diálogo de SQL Server Management Studio, haga clic en Aceptar para proceder con la solicitud de reinicio de SQL Server.
Compruebe que SQL Server no se está ejecutando en una unidad comprimida: según el sitio web de soporte de Microsoft Developer Network, a partir de la versión SQL Server 2005, ya no es posible crear una base de datos de lectura/escritura en un sistema de archivos comprimidos. Si los scripts de la base de datos del Geoportal se ejecutan en un entorno de archivo comprimido, se producirán errores.
PostgreSQL
- No se ha declarado la información de TCP/IP: compruebe que TCP/IP se ha especificado como un parámetro en el archivo pg_hba.conf. Será necesario que introduzca un nuevo parámetro al final del archivo. La sintaxis es la siguiente:
TIPO N° BASE DE DATOS USUARIO DIRECCIÓN CIDR MÉTODO host
todos
todos
<dirección IP del servidor de base de datos>/32
trust
- Listen_addresses no se han cambiado desde el 'localhost' predeterminado: en el archivo postgresql.conf, cambie la sección listen_addresses en la sección de configuración de conexión para habilitar las direcciones IP en las que se desea escuchar.
p. ej.: listen_addresses = "*" (* indica todo)
Si se cambian los archivos pg_hba.conf y postgresql.conf, será necesario reiniciar el servicio postgres y el motor de servlet (Tomcat, Glassfish o Weblogic). Para obtener más información sobre los archivos pg_hba.conf y postgresql.conf, consulte la sección Autenticación de clientes de la documentación de PostgreSQL.