FineReport共享Jboss4.05(jdk1.4)中JNDI数据源

准备工作:Finereport 6.2,Jboss 4.05(jdk1.4环境),sqlsever 2000服务器(测试时使用的数据库服务器,可根据自己需求变更选择数据库)。 一、首先开始项目的部署 在jbossserverdefaultdeploy下新建文件夹,名为WebReport.war(也可通过将其打成war包来部署,这里不做讨论),将Finereport6.1中WebReport文件夹下的Web-inf复制到WebReport.war中然后配置好web-inf文件夹下的web.xml,及resources文件夹下的datasource.xml,config.xml,privilege.xml(一般情况下默认即可,不用做具体设置)。 如图: finereport报表工具多数据源图1 这时如果用web浏览test报表的话我们只会得到一个报表的框架而没有任何数据。 接下来是配置的重点:在boss server default deploy文件夹下创建mssql-ds.xml文件。文件具体内容如下(可使用记事本创建): <?xml version="1.0" encoding="UTF-8" ?> <datasources> <local-tx-datasource> <jndi-name>MSSQL</jndi-name> <connection-url> jdbc:microsoft:sqlserver://192.168.100.112:1433;DatabaseName=test </connection-url> <driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class> <user-name>sa</user-name> <password>dba</password> <!-- sql to call when connection is created <new-connection-sql>some arbitrary sql</new-connection-sql> --> <!-- sql to call on an existing pooled connection when it is obtained from pool <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql> --> <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) --> <metadata> <type-mapping>MS SQLSERVER2000</type-mapping> </metadata> </local-tx-datasource> </datasources> 其中MSSQL是对应jndi的名字,可随意改变。192.168.100.112是测试用的服务器ip,根据实际情况设置。test是数据库名字。
注:mssql-ds.xml只是对应sqlsever服务器的文件,如果是其他数据库要对应生成不同的xml文件。
在jboss docs examples jca路径中有相对应各个不同服务器的xml文件,只需在其基础上做修改即可用。 finereport报表工具多数据源图2 我们将sqlsever 2000的jdbc驱动msbase.jar、mssqlserver.jar和msutil.jar三个文件放置到JBOSS安装目录jboss server default lib目录下。注:如果是其他数据库,也只要将其对应的驱动放置到jboss server default lib目录下即可。 finereport报表工具多数据源图3 在以前部署的WebReport.war/web-inf文件夹中创建jboss-web.xml
具体内容如下:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd"> <jboss-web> <resource-ref> <res-ref-name> MSSQL </res-ref-name> <res-type>javax.sql.DataSource</res-type> <jndi-name>java:/ MSSQL </jndi-name> </resource-ref> </jboss-web> 其中两个斜体加粗的MSSQL对应以前的jndi的名字,其他不用改变。 finereport报表工具多数据源图4 用记事本类似的工具打开WebReport.war/web-inf文件夹中的web.xml在其中加入斜体加粗的部分: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <display-name>Template WebApp</display-name> <servlet> <servlet-name>ReportServer</servlet-name> <servlet-class>com.fr.web.ReportServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>ReportServer</servlet-name> <url-pattern>/ReportServer</url-pattern> </servlet-mapping> <resource-ref> <description> Resource reference to a factory for java.sql.Connection instances that may be used for talking to a particular database that is configured in the server.xml file. </description> <res-ref-name>MSSQL</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </web-app> 保存,其中MSSQL和上面所说一致。 finereport报表工具多数据源图5 按上面的步骤配置好以后,我们打开浏览器浏览报表test,效果如下: finereport报表工具多数据源图6 配置成功!!! 二、 接下来我们看test.cpt这张报表是如何设计的
  1. 定义数据源时定义数据库sql2000,将其定义为jdbc连接,连接数据库sqlsever 2000里的数据库test(test是事先在服务器中创建好的数据库),如图:
    finereport报表工具多数据源图7
  2. 选择数据库sql2000中数据源表sale,如图:
    finereport报表工具多数据源图8
  3. 制作成简单的报表,效果如下:
    finereport报表工具多数据源图9
  4. 看到效果连接成功后返回到步骤1定义数据源,选择已经定义好的数据库sql2000,选择jndi连接,在jndi的名字中输入MSSQL(名字可随意定义),如图:
    finereport报表工具多数据源图10
立即发现·数据价值

推荐阅读

→ 信息化管理系统在企业中的价值 → 可视化分析平台对企业作用几何? → 帆软报表平台的使用方法 → 甘特图(Gantt chart)深度解析 → 生产报表的自动化实现方案 → 融资?不要!上市?不急!这个帆软有点酷…… → FineReport报表和水晶报表的比较 → BIRT报表深度解析之BIRT中国企业级用户流失之谜 → 一款简单、实时、酷炫的图表制作软件 → 3张报表搞定财务分析
版权所有©2017 南京帆软软件有限公司 | 苏ICP备14031611号-3
返回顶部