2011-12-06 31 views
14

tôi chạy JBoss trong chế độ độc và đã thiết lập nguồn dữ liệu của tôi trong standalone.xml như sau:JBoss 7 AS nguồn dữ liệu cho SQLServer

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

trong thư mục %jbosshome%\modules\com\microsoft\sqlserver\jdbc\ Tôi có sqljdb4.jar và sau 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> 

Khi tôi bắt đầu JBoss nó mang lại cho tôi những lỗi sau:

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

Bất cứ ai biết những gì tôi đã làm không chính xác hoặc những gì tôi đang thiếu?

Trả lời

4

có những lỗi tương tự như bạn trước khi

thay vì% jbosshome% \ modules \ com \ microsoft \ SQLServer \ jdbc \

thử% jbosshome% \ modules \ com \ microsoft \ SQLServer \ jdbc \ chính

và nhưng .jar của trình điều khiển jdbc và module.xml vượt quá.

+1

Tôi đã làm điều này và nó vẫn không hoạt động cho tôi trong JBoss 7.0.2.Thêm –

11

sử dụng Jboss AS 7.1.1, cũng như đặt các module trong %jbosshome%\modules\com\microsoft\sqlserver\jdbc\main tôi đã phải làm một sự thay đổi nhỏ về xml - các yếu tố tài xế trong standalone.xml nên là:

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

và các mô-đun .xml phải là:

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

Tôi vẫn nhận được 14: 55: 59,408 INFO [org.jboss.as.controller] (Trình điều khiển khởi động chủ đề) Báo cáo trạng thái dịch vụ Phụ thuộc bị thiếu/không hài lòng mới: dịch vụ jboss.jdbc-driver.sqljdbc (mất tích) –

+0

Chúc mừng cho điều đó - nó đã giúp! Điều duy nhất tôi đã thay đổi là thẻ trong standalone.xml là: TedEd

5

Với Jboss 7.1.1 Tôi đã quản lý để hoạt động mà không chỉ định mô-đun.

Chỉ cần đặt sqljdbc4.jar vào thư mục triển khai: % JBOSSHOME% \ độc \ triển khai

Cấu hình cần thiết cho nguồn dữ liệu trong standalone.xml là như sau:

<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

Sử dụng tên file jar như lái xe tên và bỏ qua phần cũng làm việc cho tôi. Trình điều khiển máy chủ SQL là JDBC Type 4 tuân thủ và nó là đủ để triển khai nó. – homaxto

1

tôi đã sử dụng cấu hình này và nó đã hoạt động OK trên 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> 

Tất nhiên nếu bạn không sử dụng DataSource được phân phối, bạn có thể định cấu hình trình điều khiển thông thường c lass như đã định trước.

Tệp mô-đun trông như thế này.

<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

Triển khai tệp jar JDBC (ví dụ: sqljdbc41.jar) bởi bảng điều khiển dành cho quản trị viên nên cho phép chọn và sử dụng nó khi xác định nguồn dữ liệu mới.

0

đây là công việc dành cho tôi. trong JBOSS 7, MSSQL trình điều khiển JDBC 6, loại 4, tên file: sqljdbc42.jar

  • Cài đặt tên tài xế: sqljdbc42.jar trong [JBoss HOME] \ modules \ com \ microsoft \ chính
  • thêm vào cùng một mô-đun thư mục.xml với nội dung dưới đây định nghĩa nguồn dữ liệu

    <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> 
    
  • chèn để standalone.xml trong khối <subsystem xmlns="urn:jboss:domain:datasources:4.0"> <datasources> như sau

    <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> 
    
  • định nghĩa tài xế chèn để standalone.xml trong khối <subsystem xmlns="urn:jboss:domain:datasources:4.0"> <drivers> như sau

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

ps: "sqlserver2008 "là tên như bạn muốn.

Các vấn đề liên quan