2011-12-06 19 views
14

corro JBoss en modo autónomo y he puesto mi fuente de datos en el standalone.xml a lo siguiente:JBoss 7 AS origen de datos para SQL Server

<datasource jndi-name="MyDenaliDS" pool-name="MyDenaliDs_Pool" enabled="true" jta="true" 
                use-java-context="true" use-ccm="true"> 
    <connection-url> 
     jdbc:sqlserver://myip:1433;databaseName=mydb;integratedSecurity=true 
    </connection-url> 
    <driver> 
     sqljdbc 
    </driver> 
    <security> 
     <user-name> 
      username 
     </user-name> 
     <password> 
      password 
     </password> 
    </security> 
</datasource> 
<drivers> 
    <driver name="sqljdbc" module="com.microsoft.sqlserver.jdbc"> 
     <driver-class> 
      com.microsoft.sqlserver.jdbc.SQLServerDataSource 
     </driver-class> 
    </driver>      
</drivers> 

en la carpeta %jbosshome%\modules\com\microsoft\sqlserver\jdbc\ tengo el sqljdb4.jar y la siguiente module.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<module name="com.microsoft.sqlserver.jdbc" xmlns="urn:jboss:module:1.0"> 
    <resources> 
     <resource-root path="sqljdbc4.jar"/> 
    </resources> 
    <dependencies> 
     <module name="javax.api"/> 
     <module name="javax.transaction.api"/> 
    </dependencies> 
</module> 

Cuando inicio el jboss me da el siguiente error:

> New missing/unsatisfied dependencies: service 
> jboss.jdbc-driver.sqljdbc (missing) 

¿Alguien sabe qué he hecho incorrecto o qué me estoy perdiendo?

Respuesta

4

tiene el mismo error como antes

en lugar de% jbosshome% \ modules \ com \ Microsoft \ SQLServer \ jdbc \

intento% jbosshome% \ modules \ com \ Microsoft \ SQLServer \ jdbc \ principal

y pero el .jar del controlador jdbc y el module.xml aquí.

+1

Hice esto y todavía no funciona para mí en JBoss 7.0.2.Final –

11

utilizando JBoss AS 7.1.1, así como poner el módulo en %jbosshome%\modules\com\microsoft\sqlserver\jdbc\main que tenía que hacer un pequeño cambio en el código XML - el elemento conductor en standalone.xml debe ser:

<driver name="sqljdbc" module="com.microsoft.sqlserver.jdbc"> 
     <driver-class> 
      com.microsoft.sqlserver.jdbc.SQLServerDriver 
     </driver-class> 
</driver> 

y el módulo .xml debería ser:

<?xml version="1.0" encoding="UTF-8"?> 

<module xmlns="urn:jboss:module:1.1" name="com.microsoft.sqlserver.jdbc"> 

    <resources> 
     <resource-root path="sqljdbc4.jar"/> 
    </resources> 
    <dependencies> 
     <module name="javax.api"/> 
     <module name="javax.transaction.api"/> 
     <module name="javax.servlet.api" optional="true"/> 
    </dependencies> 

</module> 
+0

Todavía estoy recibiendo 14: 55: 59,408 INFO [org.jboss.as.controller] (Cabezal de arranque del controlador) Informe de estado del servicio Nuevas dependencias faltantes/insatisfechas: servicio jboss.jdbc-driver.sqljdbc (faltante) –

+0

¡Salud! ¡Ayudó! Lo único que cambió fue la etiqueta dentro del standalone.xml sea: TedEd

5

Con Jboss 7.1.1 logré que funcionase sin especificar el módulo.

Sólo hay que poner sqljdbc4.jar en el directorio de despliegue: % JBOSSHOME% \ \ independientes despliegues

de configuración necesarios para la fuente de datos en standalone.xml es el siguiente:

<datasource jndi-name="java:jboss/datasources/myPool" pool-name="myPool" enabled="true" use-java-context="true"> 
    <connection-url>jdbc:sqlserver://127.0.0.1:1433;databaseName=myName;</connection-url> 
    <driver>sqljdbc4.jar</driver> 
    <pool> 
     <min-pool-size>10</min-pool-size> 
     <max-pool-size>100</max-pool-size> 
     <prefill>true</prefill> 
    </pool> 
    <security> 
     <user-name>myUser</user-name> 
     <password>myPassword</password> 
    </security> 
    <statement> 
     <prepared-statement-cache-size>32</prepared-statement-cache-size> 
     <share-prepared-statements>true</share-prepared-statements> 
    </statement> 
</datasource> 
+1

Utilizando el nombre de archivo jar como piloto nombre y omitiendo la parte también funcionó para mí. El controlador de SQL Server cumple con JDBC Tipo 4 y es suficiente para implementarlo. – homaxto

1

que utiliza esta configuración y funcionó bien en AS7

<datasource jndi-name="java:jboss/datasources/stagingDS" pool-name="stagingDS" enabled="true" use-java-context="true"> 
    <connection-url>jdbc:sqlserver://linp-sqlrpt-01;databaseName=pmdm</connection-url> 
    <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class> 
    <driver>sqlserver</driver> 
    <security> 
     <user-name>username</user-name> 
     <password>password</password> 
    </security> 
</datasource> 

<drivers> 
    <driver name="sqlserver" module="com.microsoft.jdbc"> 
     <xa-datasource-class>com.microsoft.sqlserver.jdbc.SQLServerXADataSource</xa-datasource-class> 
    </driver> 
</drivers> 

Por supuesto, si no está utilizando el DataSource distribuido, puede configurar el controlador regular c muchacha como se definió previamente.

El archivo del módulo se ve así.

<module xmlns="urn:jboss:module:1.1" name="com.microsoft.jdbc"> 
    <properties> 
     <property name="jboss.api" value="private"/> 
    </properties> 

    <resources> 
     <resource-root path="sqljdbc4.jar"/> 
    </resources> 

    <dependencies> 
     <module name="javax.api"/> 
     <module name="javax.transaction.api"/> 
     <module name="javax.servlet.api" optional="true"/> 
    </dependencies> 
</module> 
0

archivo jar Implementación de JDBC (por ejemplo sqljdbc41.jar) mediante la consola de administración debe permitir seleccionar y utilizarlo en la definición de una nueva fuente de datos.

0

este es el trabajo para mí. en JBOSS 7, MSSQL JDBC conductor 6, tipo 4, nombre de archivo: sqljdbc42.jar

  • Instalar el nombre del controlador: sqljdbc42.jar en [JBoss PRINCIPAL] \ modules \ com \ Microsoft \ principal
  • agregar bajo el mismo módulo de directorio.xml con el contenido por debajo de

    <module xmlns="urn:jboss:module:1.1" name="com.microsoft"> 
    <resources> 
    <resource-root path="sqljdbc42.jar"/> 
    </resources> 
    <dependencies> 
    <module name="javax.api"/> 
    <module name="javax.xml.bind.api"/> 
    <module name="javax.transaction.api"/> 
    </dependencies> 
    </module> 
    
  • inserto definición de origen de datos a standalone.xml en el bloque <subsystem xmlns="urn:jboss:domain:datasources:4.0"> <datasources> como abajo

    <datasource jta="true" jndi-name="java:jboss/datasources/iwebDS" pool-name="MSSQLDS" enabled="true" use-ccm="true"> 
    <connection-url>jdbc:sqlserver://172.24.17.52:1803;DatabaseName=IWEB_IWEBSIT</connection-url> 
    <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class> 
    <driver>sqlserver2008</driver> 
    <pool> 
    <min-pool-size>10</min-pool-size> 
    <initial-pool-size>10</initial-pool-size> 
    <max-pool-size>100</max-pool-size> 
    <flush-strategy>FailingConnectionOnly</flush-strategy> 
    </pool> 
    <security> 
    <user-name>[sqlserver user]</user-name> 
    <password>[sqlserver password]</password> 
    </security> 
    <validation> 
    <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker"/> 
    <background-validation>true</background-validation> 
    </validation> 
    </datasource> 
    
  • definición conductor inserto a standalone.xml en el bloque <subsystem xmlns="urn:jboss:domain:datasources:4.0"> <drivers> como abajo

    <driver name="sqlserver2008" module="com.microsoft"> 
    <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class> 
    </driver> 
    

ps: "sqlserver2008 "es el nombre que deseas.

Cuestiones relacionadas