Pessoal
Tenho uma aplicação que usa JPA e Hibernate, em um Glassfish.
Configurei dois datasources no meu Glassfish, um para MySQL e outro para SQLServer:
...
<jdbc-resource enabled="true" jndi-name="jdbc/scpdDS" object-type="user" pool-name="scpdMySQL"/>
<jdbc-resource enabled="true" jndi-name="jdbc/scpdDSSqlServer" object-type="user" pool-name="scpdSqlServer"/>
...
<jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="false" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="60000" name="scpdMySQL" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.DataSource" statement-timeout-in-seconds="-1" steady-pool-size="8" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="false">
<property name="serverName" value="localhost"/>
<property name="DatabaseName" value="scpd"/>
<property name="PortNumber" value="3306"/>
<property name="User" value="root"/>
<property name="Password" value=""/>
<property name="URL" value="jdbc:mysql://localhost:3306/scpd"/>
</jdbc-connection-pool>
<jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="com.microsoft.sqlserver.jdbc.SQLServerDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="60000" name="scpdSqlServer" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.DataSource" statement-timeout-in-seconds="-1" steady-pool-size="8" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="false">
<property name="user" value="sa"/>
<property name="password" value="adminadmin"/>
<property name="serverName" value="DIEGO\SQLEXPRESS"/>
<property name="portNumber" value="1433"/>
<property name="databaseName" value="scpd"/>
</jdbc-connection-pool>
...
De dentro do Admin Console do Glassfish, ambas as conexões funcionam (ambas retornam com sucesso quando dou um ping).
Porém, quando vou rodar a aplicação em si, através do MySQL, funciona perfeitamente, mas através do SQLServer, dá o seguinte erro:
Parece que não consegue achar o datasource, mas o nome que estou usando é o mesmo que registrei no Glassfish.
O que pode estar causando isto?
Caso ajude, meu hibernate.cfg.xml:
<hibernate-configuration>
<session-factory name="hibernate/sessionFactory">
<!-- <property name="connection.datasource">jdbc/scpdDS</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property> -->
<property name="connection.datasource">jdbc/scpdDSSqlServer</property>
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
...
Apenas comento/descomento as linhas do MySQL e SQLServer.
Alguém pode me ajudar?
Obrigado