Ответ 1
получил ту же ошибку, как вы раньше
вместо% jbosshome%\modules\com\microsoft\sqlserver\jdbc\
попробуйте% jbosshome%\modules\com\microsoft\sqlserver\jdbc\main
и поместите .jar драйвера jdbc и module.xml поверх.
Я запускаю jboss в автономном режиме и установил свой источник данных в standalone.xml
следующим образом:
<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>
в папке %jbosshome%\modules\com\microsoft\sqlserver\jdbc\
У меня есть sqljdb4.jar
и следующий 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>
Когда я запускаю jboss, он вызывает следующую ошибку:
> New missing/unsatisfied dependencies: service
> jboss.jdbc-driver.sqljdbc (missing)
Кто-нибудь знает, что я сделал неправильно или что мне не хватает?
получил ту же ошибку, как вы раньше
вместо% jbosshome%\modules\com\microsoft\sqlserver\jdbc\
попробуйте% jbosshome%\modules\com\microsoft\sqlserver\jdbc\main
и поместите .jar драйвера jdbc и module.xml поверх.
используя Jboss AS 7.1.1, а также поместив модуль в %jbosshome%\modules\com\microsoft\sqlserver\jdbc\main
, мне пришлось внести небольшое изменение в xml - элемент драйвера в файле standalone.xml должен быть:
<driver name="sqljdbc" module="com.microsoft.sqlserver.jdbc">
<driver-class>
com.microsoft.sqlserver.jdbc.SQLServerDriver
</driver-class>
</driver>
а module.xml должен быть:
<?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>
С Jboss 7.1.1 мне удалось заставить его работать без указания модуля.
Просто поместите sqljdbc4.jar в каталог развертывания: % JBOSSHOME%\Автономные\развертываний
Конфигурация, необходимая для источника данных в файле standalone.xml, выглядит следующим образом:
<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>
Я использовал эту конфигурацию и работал нормально на 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>
Конечно, если вы не используете распределенный DataSource, вы можете настроить обычный класс драйвера, как было определено ранее.
Файл модуля выглядит следующим образом.
<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>
Развертывание jar файла JDBC (например, sqljdbc41.jar) с помощью консоли администратора должно позволять выбирать и использовать его при определении нового источника данных.
это работа для меня. в JBOSS 7, MSSQL JDBC драйвер 6, тип 4, имя файла: sqljdbc42.jar
добавить в тот же каталог module.xml с содержимым ниже
<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>
Вставьте определение источника данных в файл standalone.xml в блоке <subsystem xmlns="urn:jboss:domain:datasources:4.0"> <datasources>
, как показано ниже
<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>
Вставьте определение драйвера в файл standalone.xml в блоке <subsystem xmlns="urn:jboss:domain:datasources:4.0"> <drivers>
, как показано ниже
<driver name="sqlserver2008" module="com.microsoft">
<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
</driver>
ps: "sqlserver2008" - это имя, которое вы хотите.