|
最近为客户开发一个mis系统,java技术,b/s结构.客户要求系统的报表采用水晶报表. 怎样在jsp中实现水晶报表呢?找遍了所有的资料,水晶报表的web实现倒是很多,但都讲的是微软的.net方案.jsp中如何实现水晶报表的动态显示呢? 经过一段时间的痛苦摸索,现在把我的方案介绍给大家,希望各位大哥批评指正我的问题: 需要动态的显示水晶报表,并且要根据我传递的一个参数(BH)的值动态的显示数据.并且要可以把水晶报表导出为word,excel,pdf等格式
我的解决方案: 一:下载 crystal reports 10 for BEA weblogic workshop 二:安装crystal reports 10 for BEA weblogic workshop; 三:如果安装成功,则在C:\Program Files\Common Files\Crystal Decisions\2.5\bin目录下,可以找到CRDB_JavaServer.ini文件.该文件很重要,里面的内容 关系到水晶报表如何访问数据库.我的水晶报表采用jdbc的方式访问oracle数据库,配置如下:
[Common] PATH = C:\bea\jdk141_05\bin CLASSPATH = C:\Projects\Drivers\jdbc\classes12.jar; C:\Projects\Drivers\jdbc\msbase.jar; C:\Projects\Drivers\jdbc\mssqlserver.jar; C:\Projects\Drivers\jdbc\msutil.jar; C:\Projects\Drivers\jdbc\common.jar; C:\Projects\Drivers\jdbc\db2fs.jar; C:\Projects\Drivers\jdbc\db2java.zip; C:\Projects\Drivers\jdbc\db2jcc.jar; C:\Projects\Drivers\jdbc\weblogic.jar; D:/Progra~1/IBM/WebSph~1/Applic~1\v5.1.1\runtimes\base_v51\lib\naming.jar; D:/Progra~1/IBM/WebSph~1/Applic~1\v5.1.1\runtimes\base_v51\lib\namingclient.jar; D:/Progra~1/IBM/WebSph~1/Applic~1\v5.1.1\runtimes\base_v51\lib\namingserver.jar; D:/Progra~1/IBM/WebSph~1/Applic~1\v5.1.1\runtimes\base_v51\lib\cmImpl.jar; D:/Progra~1/IBM/WebSph~1/Applic~1\v5.1.1\runtimes\base_v51\lib\j2cImpl.jar; C:/projects/drivers/jdbc/weblogic.jar; C:\Program Files\Common Files\Crystal Decisions\2.5\bin\CRDBJavaServer.jar; C:\bea\weblogic81\server\lib\ojdbc14.jar
IORFileLocation = ${TEMP} JavaServerTimeout = 1800 JVMMaxHeap = 64000000 JVMMinHeap = 32000000
[CRDB_JDBC] CacheRowSetSize = 100 JDBCURL = jdbc:oracle:thin:@192.168.1.99:1521:pwsc JNDIURL = JDBCUserName = testuser JDBCDriverName = oracle.jdbc.driver.OracleDriver JNDIUserName = weblogic JNDIConnectionFactory = JNDIInitContext = / GenericJDBCDriverBehavior = DB2
[CRDB_XML] PREREADNBYTE = 5000 CacheRowSetSize = 100 XMLLOCALURL = SCHEMALOCALURL = XMLHTTPURL = SCHEMAHTTPURL = USETEMPFile = TRUE
以上是配置文件,需要说明的是: 1:由于我采用的是jdbc的方式访问数据库,所以CLASSPATH中一定要把C:\bea\weblogic81\server\lib\ojdbc14.jar加进去,它是jdbc的驱动 2:[CRDB_JDBC]中的:JDBCURL = jdbc:oracle:thin:@192.168.1.99:1521:pwsc 是我要访问的数据库名称.JDBCUserName = testuser是设置用户名, JDBCDriverName = oracle.jdbc.driver.OracleDriver是jdbc驱动名称
四:在水晶报表编辑器中编辑我要用的报表.由于我需要动态的给报表传递参数,所以我在报表中设置了一个参数字段,水晶报表根据这个参数字段,就可以显示相应的
上一篇:JDBC连接Oracle数据库常见问题及解决方法
下一篇:提高String和StringBuffer性能的技巧
|