Question

Je lance jboss en mode autonome et j'ai défini ma source de données dans le standalone.xml comme suit:

<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>

dans le dossier %jbosshome%\modules\com\microsoft\sqlserver\jdbc\, j'ai le sqljdb4.jar et le module.xml suivant:

<?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>

Quand je lance le jboss, cela me donne l'erreur suivante:

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

Quelqu'un sait ce que j'ai mal fait ou ce que je manque?

Était-ce utile?

La solution

a eu la même erreur que vous avant

au lieu de% jbosshome% \ modules \ com \ microsoft \ sqlserver \ jdbc \

essayez% jbosshome% \ modules \ com \ microsoft \ sqlserver \ jdbc \ main

et placez le .jar du pilote jdbc et le module.xml dessus.

Autres conseils

en utilisant Jboss AS 7.1.1, en plus de mettre le module dans %jbosshome%\modules\com\microsoft\sqlserver\jdbc\main, j'ai dû apporter une légère modification au xml - l'élément driver dans standalone.xml devrait être:

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

et le module.xml doit être:

<?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>

Avec Jboss 7.1.1, j'ai réussi à le faire fonctionner sans spécifier de module.

Il suffit de mettre sqljdbc4.jar dans le répertoire de déploiement: % JBOSSHOME% \ standalone \ deployments

La configuration nécessaire pour la source de données dans standalone.xml est la suivante:

<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>

J'ai utilisé cette configuration et cela a fonctionné correctement sur 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>

Bien sûr, si vous n'utilisez pas la DataSource distribuée, vous pouvez configurer la classe de pilote standard telle que définie précédemment.

Le fichier du module ressemble à ceci.

<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>

Le déploiement du fichier jar JDBC (par exemple sqljdbc41.jar) par la console d'administration devrait permettre de le sélectionner et de l'utiliser lors de la définition d'une nouvelle source de données.

c'est le travail pour moi. dans JBOSS 7, pilote MSSQL JDBC 6, type 4, nom de fichier: sqljdbc42.jar

  • Installez le nom du pilote: sqljdbc42.jar dans [JBoss HOME] \ modules \ com \ microsoft \ main
  • ajouter sous le même répertoire module.xml avec le contenu ci-dessous

    <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>
    
  • insérer la définition de la source de données dans standalone.xml dans le bloc <subsystem xmlns="urn:jboss:domain:datasources:4.0"> <datasources> comme ci-dessous

    <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>
    
  • insérer la définition du pilote dans standalone.xml dans le bloc <subsystem xmlns="urn:jboss:domain:datasources:4.0"> <drivers> comme ci-dessous

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

ps: "sqlserver2008" est le nom que vous souhaitez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top