准备工作:Finereport报表 6.2版本,Jboss 4.05(jdk1.4环境),sqlsever 2000服务器(测试时使用的数据库服务器,可根据自己需求变更选择数据库)
一、 首先开始项目的部署
在jbossserverdefaultdeploy下新建文件夹,名为WebReport.war(也可通过将其打成war包来部署,这里不做讨论),将Finereport报表6.2中WebReport文件夹下的Web-inf复制到WebReport.war中然后配置好web-inf文件夹下的web.xml,及resources文件夹下的datasource.xml,config.xml,privilege.xml(一般情况下默认即可,不用做具体设置)。
如图
这时如果用web浏览test报表的话我们只会得到一个报表的框架而没有任何数据。
接下来是配置的重点:
在boss"server"default"deploy文件夹下创建mssql-ds.xml文件,文件具体内容如下(可使用记事本创建):
MSSQL
jdbc:microsoft:sqlserver://192.168.100.112:1433;DatabaseName=test
com.microsoft.jdbc.sqlserver.SQLServerDriver
sa
dba
MS SQLSERVER2000
其中MSSQL是对应jndi的名字,可随意改变。
192.168.100.112是测试用的服务器ip,根据实际情况设置。
test是数据库名字。
注:mssql-ds.xml只是对应sqlsever服务器的文件,如果是其他数据库要对应生成不同的xml文件。
在jboss"docs"examples"jca路径中有相对应各个不同服务器的xml文件,只需在其基础上做修改即可用。
我们将sqlsever 2000的jdbc驱动msbase.jar、mssqlserver.jar和msutil.jar三个文件放置到JBOSS安装目录jboss"server"default"lib目录下。
注:如果是其他数据库,也只要将其对应的驱动放置到jboss"server"default"lib目录下即可。
在以前部署的WebReport.war/web-inf文件夹中创建jboss-web.xml
具体内容如下:
/p>
PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN"
"http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd">
MSSQL
javax.sql.DataSource
java:/MSSQL
其中两个斜体加粗的MSSQL对应以前的jndi的名字,其他不用改变。
用记事本类似的工具打开WebReport.war/web-inf文件夹中的web.xml在其中加入斜体加粗的部分:
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">
Template WebApp
ReportServer
com.fr.web.ReportServlet
0
ReportServer
/ReportServer
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.
MSSQL
javax.sql.DataSource
Container
保存,其中MSSQL和上面所说一致。
按上面的步骤配置好以后,我们打开浏览器浏览报表test,效果如下:
配置成功。
接下来我们看test.cpt这张报表是如何设计的
1.定义数据源时定义数据库sql2000,将其定义为jdbc连接,连接数据库sqlsever 2000里的数据库test(test是事先在服务器中创建好的数据库),如图。
2.选择数据库sql2000中数据源表sale,如图。
3.制作成简单的报表,效果如下。
4.看到效果连接成功后返回到步骤1定义数据源,选择已经定义好的数据库sql2000,选择jndi连接,在jndi的名字中输入MSSQL(名字可随意定义),如图。