Romper el grupo de conexiones JNDI (configure el grupo de conexiones a través de la interfaz de administración en Tomcat5.5)
Autor:Eve Cole
Fecha de actualización:2009-07-03 16:56:20
Rompiendo el grupo de conexiones JNDI - -
Después de varios días de arduo trabajo, finalmente puedo conectarme al grupo de conexiones. He hecho referencia a muchas publicaciones de héroes al respecto. Ahora escribiré aquí varios problemas que han surgido en los últimos días:
1. Coloque los tres controladores jdbc (debe) en tomcat_homecommon, que se puede descargar del sitio web de Microsoft. El nombre de usuario predeterminado del SQLSERVER2k instalado es sa y la contraseña está vacía, pero no importa si la contraseña está vacía. Significa que no hay contraseña, por lo que debes definir el nombre de usuario y la contraseña en tu URL. Lo mejor es restablecer la contraseña. Si hay un error que no se puede citar, generalmente es porque la ruta no está escrita correctamente. La ruta de Tomcat es tomcat_homewebapps, pero use 5.5 .x, simplemente siga el método a continuación. No es necesario configurar la ruta y no es necesario configurar la referencia en youwebappWEB-INFweb.xml. La configuración server.xml de la versión tomcat5.5.x es diferente de la configuración de tomcat5.0. Los siguientes son tres métodos de configuración en tomcat5.5.x. Si la configuración es incorrecta, javax.naming.NameNotFoundException: Nombre. no está vinculado en este contexto Método de error 1. Grupo de conexiones de base de datos global
1. Configure el grupo de conexiones a través de la interfaz de administración o agréguelo directamente a GlobalNamingResources en tomcatconfserver.xml
<Recurso nombre="jdbc/mydb" tipo="javax.sql.DataSource" contraseña="mypwd" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" maxIdle="2" maxWait="5000" validationQuery="select 1" nombre de usuario="sa" url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb" maxActive="4"/>
2. Agregue lo siguiente al contexto de tomcatwebappsmyappMETA-INFcontext.xml:
<ResourceLink global="jdbc/mydb" nombre="jdbc/mydb" tipo="javax.sql.DataSource"/>
Eso es todo.
Método 2. Grupo de conexiones de bases de datos globales
1. Igual que arriba
2. Agregue lo siguiente al contexto de tomcatconfcontext.xml:
<ResourceLink global="jdbc/mydb" nombre="jdbc/mydb" tipo="javax.sql.DataSource"/>
Método 3: el grupo de conexiones de la base de datos local solo necesita agregarse al contexto de tomcatwebappsmyappsMETA-INFcontext.xml:
<Recurso nombre="jdbc/mydb" tipo="javax.sql.DataSource" contraseña="mypwd" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" maxIdle="2" maxWait="5000" validationQuery="select 1" nombre de usuario="sa" url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb" maxActive="4"/>
Descripción del parámetro:
driveClassName: el nombre completo de la clase de controlador JDBC;
maxActive: la cantidad máxima de instancias disponibles que se pueden asignar desde el grupo de conexiones al mismo tiempo;
maxIdle: el número máximo de conexiones que pueden estar inactivas en el grupo de conexiones al mismo tiempo;
maxWait: tiempo de espera máximo, en milisegundos;
contraseña: contraseña de usuario;
url: conexión URL a JDBC;
usuario: nombre de usuario;
validationQuery: se utiliza para consultar conexiones inactivas en el grupo.
Los tres métodos anteriores están disponibles en Tomcat 5.5.4. Además, el controlador jdbc de SQL Server es SQL Server JDBC (sp3) descargado del sitio web de Microsoft.
4. Error org.apache.tomcat.dbcp.dbcp.SQLNestedException: No se puede crear PoolableConnectionFactory ([Microsoft][Controlador SQLServer 2000 para JDBC]Error al establecer el socket). Este es un pequeño problema porque mi servicio SQLSERVER2K se ha cambiado a manual, por lo que debe iniciar SQLSERVER2K manualmente después de cada inicio. Dado que comenzó sin recordarlo, se informan algunos errores, por lo que si usa SQLSERVER2K con frecuencia, es mejor no cambiarlo al inicio manual.