知识库

推荐内容

快逸做的更好

产品优势

您的位置: 首页 > 知识库 > 安装部署 > 快逸报表数据源连接错误的排查步骤

快逸报表数据源连接错误的排查步骤

数据库的连接永远是WEB报表工具使用中发生错误频率最高的地方,这样的错误总会把用户卡在一个尴尬的位置,无法开始设计或者部署Web报表,错误原因又很难找出。

本文我们介绍在快逸报表中,如果出现了数据库联接的错误应该怎样排查,调试错误。

在使用快逸报表开发Web报表时,主要有两个阶段需要设置数据源,一个是用设计器设计报表时,另一个是设计完成后需要部署发布报表时,那么连接中出现的问题也就可以分为这两个阶段展开分析了。我们通过下面的步骤来逐一排查问题。

1. 设计器数据源连接问题

设计报表时连接数据库就是我们设计器中提供的数据源连接,逐一打开:配置-数据源-新建,然后我们选择最常用到的”关系数据库”,可以看到下图:

快逸设计器数据源配置界面

一般设计时候连接不上数据库都是由于上图中的配置项没有配置好造成的。现在我们就列举一些常见问题并总结其解决办法和应该注意的地方。

配置内容问题

配置内容中出错的问题都是些比较低级的问题,一般都是因为马虎造成的,比如用户名/密码写错,在比如url中:jdbc:JTurbo://192.168.0.1/[DB Name]/charset=GBK 数据库服务器ip地址、数据库名称写错,数据库名称的方括号没有去掉等等,这些都会造成数据库连接的失败。而这些都是认真检查一下就可以发现的,所以提醒用户一定要认真,不要着急。

总结:越低级的问题越容易被忽视,也越不容易被察觉,请用户留意细节

驱动问题

问题一:sql2000配置好各项内容并确定保存后,测试连接时弹出提示窗口:com.microsoft.sqlserver.jdbc.SQLServerDriver

这个问题是因为选择了错误的驱动和url
快逸报表中sql2000和sql2005被划分成了一类:SQLSVR,在数据库类型选择SQLSVR后会看到提供了两个驱动,com.microsoft.sqlserver.jdbc.SQLServerDriver是sql2005的驱动,sql2000的驱动和url分别是com.newatlanta.jturbo.driver.Driver;jdbc:JTurbo://192.168.0.1/[DB Name]/charset=GBK,选择这个就可以了。

问题二:sql2005测试连接报错:[JTurbo 3.0.1 JDBC 2.1 Driver]: Network error in connection – java.io.IOException: Connection was lost after reading 0 header bytes

原因:找不到相应的jdbc驱动
快逸报表以前的版本中没有提供sql2005的驱动,如果用户使用的是sql2005数据库,那就需要自己下载其驱动,并拷贝的快逸的jdbc包中才可以连接
这个驱动会在以后的版本中加上

总结:连接不上的问题很多都是因为驱动出的错
 快逸报表的jdbc包中没有您当前数据库的的驱动
 选择了错误的驱动
 驱动名称正确但是版本可能不匹配
这些原因都会导致数据库连接不成功,所以请大家确保在连接数据库以前准备好正确的数据库驱动

外界因素问题

外界因素问题是对非数据库本身问题的概括,其中包括:防火墙问题、端口问题、tcp\ip问题

有些时候我们的各项配置都正确,所有关于数据库的内容设置都无懈可击,但是却还是链接不了数据库,那就应该考虑一下这几个外界因素问题了

防火墙问题:把防火墙防御级别设置低一些,或者关掉防火墙测试一下,当然对于某些重要的pc机器考虑安全问题我们是不可以这样做的。

端口问题:有些数据库用到的端口在操作系统中可能没有开,例如sql2000的1433端口,我们可以在windows防火墙—例外—添加端口中添加一个数据库用到的端口。见下图

windows系统中增加数据库端口界面

tcp\ip问题:当提示这个错误的时候我们可以根据不同数据库来开启相应的服务,这里介绍一个sql2005的例子:打开 \Microsoft SQL Server 2005\配置工具\目录下的SQL Server Configuration Manager,选择mssqlserver协议,然后右边窗口有个tcp/ip协议,然后启动它,把sqlserver服务停了,然后再启动,这样就可以了。

设计器中数据源的连接问题我们就暂时总结这些,以后再慢慢补充,下面我们再看一下部署报表时候出现的数据源连结问题。

2. 部署发布时数据源问题

部署报表时数据源出现问题的可能性要比设计时候高很多,因为部署过程中关于数据源配置的地方有很多,操作过多出错的概率也就高了。当然,我们在部署时出现数据库连接的问题第一反应也应该是去检查上面文章中列出的错误可能,逐一排查确定不是那些原因后我们再来检查我们的部署环节。

部署中涉及到数据源连接的地方主要有两个:
1. 应用服务器数据库连接池的配置
2. 快逸相关文件的配置(主要是reportconfig.xml文件)

在快逸的部署教程中(设计器-帮助-使用手册-j2ee部署手册)我们已经对以上两个地方的配置及步骤和快作了详细的讲解,并且对一些常见问题也作了总结(j2ee部署手册– 6.3 数据库的连接问题),本文就不再重复,如果连接池配置或者文件配置出了问题,我们对照相应的教程一步步检查下就可以了。这里列出的是两个教程中没有提及但出现概率很高的问题。

A, 数据源名称需相同
在设计报表时,一般都是在快逸报表设计器中配置数据源时,我们需要设置一个数据源名称,然后在应用服务器的数据库连接池中我们也需要配置一个数据源名称,在reportconfig.xml文件中我们还需要一个数据源名称,这三个地方的数据源名称如果不同就会造成报表发布时找不到数据源或者连接不上的现象,所以我们一定要确保这3个地方的数据源名称相同。
设计器数据源:

快逸报表设计器中的数据源名称

连接池数据源:
因不同应用服务器配置的地方不同,这里不作截图。

reportconfig.xml数据源:

快逸报表部署配置文件中的数据源名称

B, 应用服务器版本不同的问题:例 tomcat 6的配置

tomcat是很常见的应用服务器,教程中也对4和5两个版本作了讲解,但是现在很多用户都已经开始用tomcat 6了,这里就说一下6版本的配置和以前版本的不同。

tomcat6.0的数据源配置和tomcat5的数据源配置略有区别,tomcat6的数据源配置要在tomcatHome/conf中的server.xml中配置,找到 在这之间插入:

< Context path=”/runqian” docBase=”runqian” debug=”0″ privileged=”true”>
< Resource name=”demo”
auth=”Container”
type=”javax.sql.DataSource”
maxActive=”10″
maxIdle=”30″
maxWait=”10000″
username=”sa”
password=”"
driverClassName=”org.hsqldb.jdbcDriver”
url=”jdbc:hsqldb:hsql://localhost/runqianDB”
/>
</ Context>
注意:和5.0.28不同,这里边的写法要用这种等号形式,关于报表方面的部署和原来一样。

以上就是我们总结的快逸报表数据源连接常出现的一些问题和解决排查方法,这篇文章我们会在以后不断地填充更新,发掘一些新的有代表性的问题并作总结,让用户查找起来更方便,解决问题更快速。

引自:报表工具知识库

发布日期:2009/06/11
本文分类: 安装部署