jboss 7 AS datasource for sqlserver

前端 未结 6 1391
轻奢々
轻奢々 2020-12-29 07:55

I run jboss in standalone mode and have set my datasource in the standalone.xml to the following:



        
相关标签:
6条回答
  • 2020-12-29 08:02

    this is the work for me. in JBOSS 7, MSSQL JDBC driver 6, type 4, file name:sqljdbc42.jar

    • Install the driver name:sqljdbc42.jar in [JBoss HOME]\modules\com\microsoft\main
    • add under the same directory module.xml with content below

      <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>
      
    • insert datasource definition to standalone.xml in block <subsystem xmlns="urn:jboss:domain:datasources:4.0"> <datasources> as below

      <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>
      
    • insert driver definition to standalone.xml in block <subsystem xmlns="urn:jboss:domain:datasources:4.0"> <drivers> as below

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

    ps: "sqlserver2008" is the name as you wish.

    0 讨论(0)
  • 2020-12-29 08:03

    Deploying JDBC jar file (e.g. sqljdbc41.jar) by admin console should allow to select and use it when defining a new data source.

    0 讨论(0)
  • 2020-12-29 08:09

    using Jboss AS 7.1.1, as well as putting the module in %jbosshome%\modules\com\microsoft\sqlserver\jdbc\main I had to make a slight change to the xml - the driver element in standalone.xml should be :

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

    and the module.xml should be:

    <?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 讨论(0)
  • 2020-12-29 08:22

    got the same error like you before

    instead of %jbosshome%\modules\com\microsoft\sqlserver\jdbc\

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

    and put the .jar of the jdbc driver and the module.xml overthere.

    0 讨论(0)
  • 2020-12-29 08:22

    With Jboss 7.1.1 I managed to get it working without specifying module.

    Just put sqljdbc4.jar into deployment directory: %JBOSSHOME%\standalone\deployments

    Configuration needed for datasource in standalone.xml is as follows:

    <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>
    
    0 讨论(0)
  • 2020-12-29 08:29

    I used this configuration and it worked OK on 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>
    

    Of course if you're not using the distributed DataSource you can configure the regular driver class as previously defined.

    The module file looks like this.

    <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 讨论(0)
提交回复
热议问题