2011-12-01 29 views
22

Estoy intercambiando una base de datos de derby por una de MySQL. Tenía todo funcionando antes, pero después de lo que pensé que era la configuración correcta recibo el error:Conectar una base de datos MySQL a Glassfish classpath no está establecido o classname es incorrecto

Causado por: javax.resource.ResourceException: El nombre de clase es incorrecto o classpath no está establecido para: com.mysql.jdbc .jdbc2.optional.MysqlDataSource

salida de error completo de la consola:

Caused by: javax.resource.ResourceException: Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource 
at com.sun.gjc.common.DataSourceObjectBuilder.getDataSourceObject(DataSourceObjectBuilder.java:292) 
at com.sun.gjc.common.DataSourceObjectBuilder.constructDataSourceObject(DataSourceObjectBuilder.java:114) 
at com.sun.gjc.spi.ManagedConnectionFactory.getDataSource(ManagedConnectionFactory.java:1292) 
at com.sun.gjc.spi.DSManagedConnectionFactory.getDataSource(DSManagedConnectionFactory.java:148) 
at com.sun.gjc.spi.DSManagedConnectionFactory.createManagedConnection(DSManagedConnectionFactory.java:101) 
at com.sun.enterprise.resource.allocator.LocalTxConnectorAllocator.createResource(LocalTxConnectorAllocator.java:87) 

he doble registrado algunos de los nombres, el conjunto de conexiones y otra resources.I've también agregó las .jars conductor de MySQL a la biblioteca de glassfish en ambos proyectos. La base de datos definitivamente funcionaba correctamente a través de eclipse porque pude ver tablas y mostrar los recursos dentro del contexto de la base de datos de eclipse. Entonces sé que al menos ESOS conductores están trabajando correctamente. También el archivo persistence.xml se ve bien. hace referencia a la referencia de jndi jdbc/mydatabase como debería y se selecciona JTA por defecto como el tipo de gestión.

¿Alguien tiene otra sugerencia? Gracias

+0

Dice casi lo mismo: Ping Connection Pool para mysqlstatuspool ha fallado. Error de ping Excepción: el nombre de la clase es incorrecto o classpath no está configurado para: com.mysql.jdbc.jdbc2.optional.MysqlDataSource. Consulte el archivo server.log para obtener más información. Ping fall Exception – Randnum

+0

Nunca tuve que configurar manualmente el classpath para este grupo de conexiones cuando estaba usando la base de datos de derby, así que espero que si alguien piensa que es lo que tengo que hacer ellos pueden explicar dónde está el recurso y cómo exactamente para hacer eso. – Randnum

+0

el nombre de clase de fuente de datos: com.mysql.jdbc.jdbc2.optional.MysqlDataSource se autogeneró en la ventana de administración, por lo que no seleccioné eso y no sé de dónde vino. – Randnum

Respuesta

35

I've also added the MySQL driver .jars to the library of glassfish in both projects.

Aparentemente no se hizo bien. El archivo JAR debe ir en la carpeta /glassfish/domains/[domainname]/lib/ext de la instalación de Glassfish, donde [domainname] suele tener como valor predeterminado domain1. Puede y no debe configurarlo desde el lado de Eclipse.

+0

Ok, no lo agregué de esa manera. Lo agregué haciendo clic con el botón derecho en la biblioteca de glassfish en eclipse y en las bibliotecas de usuario seleccionando la nueva biblioteca de conectores y seleccionando mi jar desde allí.Intentaré tu sugerencia. Gracias – Randnum

+1

Deshacer esos cambios. – BalusC

+0

Gracias BalusC funcionó muy bien. – Randnum

21

Parece que estoy respondiendo muy tarde, pero las personas que se estarían refiriendo a este hilo pueden encontrar útil la siguiente información. Así que estoy publicando aquí:

  1. Descargar el tarro conector de http://dev.mysql.com/downloads/connector/j/5.0.html
  2. descomprimir el paquete y copiar mysql-connector-java-Verno-bin.jar
  3. pasado lo mismo en [Directorio de instalación de GlassFish]/dominios/[nombre de dominio]/lib
  4. reiniciar su dominio y ping para comprobar la conexión de JDBC Connection Pools

Hay que ir. Si su MySql se está ejecutando, hará ping al DB con éxito

+3

Al reiniciar el dominio no se actualizaron todas las propiedades adicionales del grupo de conexiones. (Creé el grupo antes de copiar el contenedor). Puede ser útil que alguien sepa que solo debe recrear el grupo después de copiar el contenedor. Todo funcionó para mí después de que hice eso. – w3bshark

5

Copié el archivo jar a $glassfish_install_folder\glassfish\lib, después de eso funcionó. Yo uso glassfish 4.0.

Compruebe esto link de oracle.

Cuestiones relacionadas