姚强 2016-01-05
使用sqlsever 2000数据库数据源来做实例讲解,帆软报表FineReport数据连接中Jboss配置JNDI大概的过程和WEBSPHERE以及WEBLOGIC基本相同,用JDBC连接数据库制作报表,然后在数据库连接里将连接方式改成JNDI,然后在Jboss服务器中配置好JNDI资源,然后配置发布即可,本章节主要说明在后两步如何配置。
在jboss\server\default\deploy下新建文件夹,名为WebReport.war(也可通过将其打成war包来部署,这里不做讨论),将% FR_HOME%\WebReport文件夹下的WEB-INF复制到 WebReport.war中,然后配置好WEB-INF文件夹下的web.xml。
将sqlsever 2000数据库的JDBC驱动msbase.jar、mssqlserver.jar和msutil.jar三个文件拷贝到Jboss安装目录下的 %JBOSS_HOME%\server\default\lib下。
在Jboss\server\default\deploy文件夹下创建mssql-ds.xml文件,文件具体内容如下(可使用记事本创建):
1. <?xml version='1.0' encoding='UTF-8' ?>
2. <datasources>
3. <local-tx-datasource>
4. <jndi-name>MSSQL</jndi-name>
5. <connection-url>jdbc:microsoft:sqlserver://192.168.100.112:1433;DatabaseName=test</connection-
6. url>
7. <driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
8. <user-name>sa</user-name>
9. <password>dba</password>
10. <!-- sql to call when connection is created
11. <new-connection-sql>some arbitrary sql</new-connection-sql>
12. -->
13. <!-- sql to call on an existing pooled connection when it is obtained from pool
14. <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
15. -->
16. <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional)
17. -->
18. <metadata>
19. <type-mapping>MS SQLSERVER2000</type-mapping>
20. </metadata>
21. </local-tx-datasource>
22. </datasources>
注意:其中MSSQL是对应jndi的名字,可随意改变。192.168.100.112是测试用的服务器ip,根据实际情况设置。test是数据库名字,mssql-ds.xml只是对应sqlsever服务器的文件,如果是其他数据库要对应生成不同的xml文件。在jboss\docs\examples\jca路径中有相对应各个不同服务器的xml文件,只需在其基础上做修改即可用
在以前部署的WebReport.war/web-inf文件夹中创建Jboss-web.xml,具体内容如下:
1. <?xml version='1.0' encoding='UTF-8' ?>
2. <!DOCTYPE jboss-web
3. PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN"
4. "http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd">
5. <jboss-web>
6. <resource-ref>
7. <res-ref-name>MSSQL</res-ref-name>
8. <res-type>javax.sql.DataSource</res-type>
9. <jndi-name>java:/MSSQL</jndi-name>
10. </resource-ref>
11. </jboss-web>
其中MSSQL对应以前的jndi名字,可根据自己设定的JNDI名字来改变,其他不变。用记事本类似的工具,打开WebReport.war/WEB-INF文件夹中的web.xml,添加内容具体如下:
1. <resource-ref>
2. <description> Resource</description>
3. <res-ref-name>MSSQL</res-ref-name>
4. <res-type>javax.sql.DataSource</res-type>
5. <res-auth>Container</res-auth>
6. </resource-ref>