java报表软件FineReport数据库连接疑难问题解决方案汇总
来源:互联网 发布:自学java好难过 编辑:程序博客网 时间:2024/05/19 22:06
用户在使用FineReport报表时,客户端连接SQLSever、Oracle、Informix时常常会出现一些错误,笔者整理了一些疑难问题的解决方案。
1、 SQLServer数据库连接失败常见解决方案
客户端连接SQLServer(2000、2005等)常常会出现如下错误:com.microsoft.sqlserver.jdbc.SQLServerException: 到主机的TCP/IP 连接失败。
该错误可能由如下几个方面导致:
1.1 sp4安装包有没有装
这个主要是sqlserver2000,其他版本一般没有这个问题。sqlsp4补丁就是Microsoft SQL Server 2000 Service Pack 4 大多数版本为简体中文版。
SP4 包括用于以下 SQL Server 2000 组件的程序包:
Database 组件(下载1:SQL2000-KB884525-SP4-x86.EXE)更新 SQL Server 2000 的 32 位 Database 组件,包括数据库引擎、复制、客户端连接组件及工具。
Analysis Services 组件(下载2:SQL2000.AS-KB884525-SP4-x86.EXE)更新 SQL Server 2000 的 32 位 Analysis Services。
SQL Server 2000 Desktop Engine (MSDE) 组件(下载3:SQL2000.MSDE-KB884525-SP4-x86.EXE)对于 SQL Server 2000 的 32 位 MSDE 组件:
安装新的 MSDE 实例
升级现有 MSDE 实例
更新使用合并模块的应用程序。
打sp4后一般会出现登陆连接问题,看看SQL的服务有没有运行,没运行去我的电脑>管理>服务里面把MSSQLSERVER服务登录的用户名和密码改正确;有运行,进企业管理器,改SQL的登录方式为混合模式,设置sa密码,重新设置一次。 sqlserver 2000 sp3由于有bug,很多服务器打不了补丁,说sa连接失败,所以直接安装sp4升级补丁,升级之前建议先备份数据库。
1.2 数据库端的TCP/IP有没有启动
SQLServer2005默认情况下是禁用了TCP/IP连接,若连接SQLServer数据库出现TCP/IP连接失败,请确认数据库服务器的TCP/IP是否启用了。
SQLServer2000数据库启用方法:可以到系统服务里手动开启一下,下图所示位置的TCP/IP:
SQLServer2005数据库启用方法:在Microsoft SQL Server 2005\配置工具\目录下的SQL Server Configuration Manager界面设置,如下图:
1.3 服务器网络实用工具中TCP/IP协议有没有打开
如下图所示,在SQLServer2000中有个服务器网络实用工具需要如下设置,如果不打开也会报TCP/IP的错误,这也是一个要注意的地方,检错的时候不可遗漏。
对于SQLServer2005,可以在配置工具\SQL Server 外围应用配置器,在“SQL Server 2005外围应用配置器”页,单击“服务和连接的外围应用配置器”,然后单击展开“数据库引擎”,选中“远程连接”,在右边选中“本地连接和远程连接”,再选择要使用的协议:
1.4 防火墙有没有阻止
控制面板中的Windows防火墙阻止了连接,导致TCP/IP连接失败;本地的防火墙添加一下SQLServer数据库的端口即可:
注:以上是四种常见的解决方案,出现了TCP/IP连接失败的情况,可以按照这四个方法尝试解决。
2、SID不正确导致Oracle连不上
2.1连接ORACLE具体报错
Cannot create PoolableConnectionFactory (Listener refused the connection with the following error:ORA-12505, TNS:listener does not currently know of SID given in connect descrip
出现如上报错的主要原因是由于监听器不识别java应用程序中定义的数据库名称导致的,需要修改设计器中数据连接所定义的数据库名。ORACLE是通过外界提供的服务名来判断是否建立连接的,所以要保证设计器端跟数据库端的数据库名称匹配。
SID是一个数据库的唯一标识符!是你在建立一个数据库时系统自动赋予的一个初始ID,虽说他和数据库名(DB_NAME)都是一个数据库的唯一标识符,但是在作用上就有不小区别。SID主要用于在一些DBA操作以及与操作系统交互,从操作系统的角度访问实例名,必须通过ORACLE_SID,且它在注册表中也是存在的.而数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的。而SERVICE_NAME指的网络服务名,它是可以由自己意愿随意设置的,相当于为某个数据库实例取个别名方便自己记忆和访问。
如下图所示的红色边框中就是数据库的SID,如果这边的名称跟数据库中的不统一,就会报这样的错误。
2.2报错解决方案
ORACLE数据库的安装目录中通常包含这2个文件:tnsname.ora跟listener.ora。区分好这2个文件就能处理好这个报错所带来的问题。Tnsname.ora是客户端的配置文件,listener.org是监听程序的配置文件。在tnsname.org里面可以找到对应的数据库名(下图小红框中对应的就是orcl10g):
ORACLE提供了比较形象的图形界面:NET MANAGER,打开该界面,如下图所示,红框部分就是对应的
查看完毕之后就可以对设计器器中进行更正,是否与该名称统一。
3、Informix数据库连接
对于Informix数据库,定义数据连接处进行如下配置:
数据库:Others
驱动器:com.informix.jdbc.IfxDriver
url:jdbc:informix-sql://localhost:port/mydatabase:INFORMIXSERVER=mydatabase
用户名:username
密码:password
说明:
1. 因为没有内置Informix的jar包,所以需要先下载相应的JDBC驱动包放到lib下。
2. 选择了数据库类型是Others之后,默认会带出来ODBC的驱动写法。驱动器一定要改。
3. Informix在安装的时候需要定义一个用户名和密码,和Oracle的安装是类似的。所以定义连接的时候,用户名密码一定不是空的。如果有用户反映说没有用户名密码,也必须要创建一个,否则连接不成功。
- java报表软件FineReport数据库连接疑难问题解决方案汇总
- 帆软报表FineReport SQLServer数据库连接失败常见解决方案
- FineReport报表软件—纯JAVA
- Java报表软件图例展示之FineReport报表功能图
- java报表软件FineReport参数界面控件默认值逻辑优化
- Java 报表软件finereport手机端使用教程
- 初用FineReport报表软件感想
- 帆软报表FineReport数据库连接编码转换
- java报表MyEclipse部署FineReport
- FineReport中hadoop,hive数据库连接解决方案
- FineReport搭建物流报表平台的解决方案
- 从EXCEL到finereport报表软件
- 在FineReport报表软件中使用JNI
- 报表软件FineReport如何连接SAP HANA
- finereport报表
- FineReport报表
- FineReport报表软件与水晶报表功能对比
- Java报表工具Finereport使用小心得
- 最大子段和
- 一些可以用动态规划解的面试题
- CDMA、GPRS、EDGE、WIFI 、WiMax网速比较
- 关于linux下库的使用
- The Great Team(好题)
- java报表软件FineReport数据库连接疑难问题解决方案汇总
- vi命令
- JSP经典总结图表
- 浅谈lisp与shell中转义字符和正则表达 (二)
- hdu 1533
- form中get和post的区别
- uva 10720 - Graph Construction
- pthread_cond_signal和pthread_cond_wait简介
- UIUC同学Jia-Bin Huang收集的计算机视觉代码合集