历史版本17 :SQL Server数据连接常见问题 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

Finereport 版本
11.0

1.2 应用场景

本文介绍 SQL Server数据连接 中,常见的问题及排查步骤。

2. TCP/IP 连接失败编辑

问题描述:

连接 SQL Server 数据库时,报错「com.microsoft.sqlserver.jdbc.SQLServerException: 到主机的 TCP/IP 连接失败」

2.1 检查 URL 是否正确

首先确认在定义数据连接那边的 URL 是否正确(保证 IP,端口以及数据库是正确的),如下图所示:

222

去除后面的 databaseName,测试是否成功,如果成功,则问题来源于后面的实例名,否则问题是前面的 TCP/IP 连接。

222

2.2 检查实例名是否一致

检查数据库实例名是否与 URL 中的 databaseName 一致。

222

2.3 是否允许远程连接服务器

222

2.4 检查用户状态

222

2.5 检查 TCP/IP 协议是否启动

222

2.6 检查数据库服务是否启动

222

2.7 检查网络配置

打开 SQL server 配置管理器,检查 SQL server 网络配置是否启用 Named Pipes 和 TCP/IP 。
222

2.8 查看对应的端口号是否正确

双击 TCP/IP右键-属性查看对应的端口号是否正确。
222

2.9 确认是否安装 sp4

这个主要是 SQL server 2000,其他版本一般没有这个问题。sqlsp4 补丁就是 Microsoft SQL Server 2000 Service Pack 4 ,大多数版本为简体中文版。

sp4 包括用于以下 SQL Server 2000 组件的程序包,可在网络上寻找资源下载。

数据库组件(下载文件:SQL2000-KB884525-SP4-x86.EXE):更新 SQL Server 2000 的 32 位数据库组件,包括数据库引擎、复制、客户端连接组件和工具。

Analysis Services 组件(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE):更新 SQL Server 2000 的 32 位 Analysis Services 组件。

SQL Server 2000 Desktop Engine (MSDE) 组件(下载文件:SQL2000.MSDE-KB884525-SP4-x86.EXE):对于 SQL Server 2000 的 32 位 MSDE 组件:

安装新的 MSDE 实例;

升级现有 MSDE 实例;

更新使用合并模块的应用程序。

打 sp4 后一般会出现登录连接问题,看看SQL的服务有没有运行,没运行就去我的电脑>管理>服务里面,把 MSSQLSERVER 服务登录的用户名和密码改正确;有运行,进企业管理器,改 SQL 的登录方式为混合模式,设置sa密码,重新设置一次。 sqlserver 2000 sp3由于有 bug,很多服务器打不了补丁,说sa连接失败,所以直接安装 sp4 升级补丁,升级之前建议先备份数据库。

3. SQL Server查询速度较慢编辑

问题描述:

使用 SQL Server 数据库,SQL 语句在数据库里查询异常的快,可是放到 FR 报表里面速度相对慢了。

3.1 SQL语句是否过于复杂

SQL Server 查询速度较慢,建议先检查 SQL 语句是否过于复杂、是否用了太多的链接查询,优化 SQL 语句来提高访问数据的速度。

详细点击: 优化报表取数

3.2 网络是否稳定

在访问或导出数据量较大模板时,还要检查网络速度,是否影响访问数据的快慢等。

3.3 SQLServer驱动包问题

排除以上因素,SQL Server 访问数据慢,那就是 SQL Server 驱动包的原因了,我们默认报表环境下面有两个 SQL Server 驱动(「sqljdbc.jar」和「jtds-1.2.2.jar」),有的时候「sqljdbc.jar」查询速度比较慢,那么就可以尝试换下「jtds-1.2.2.jar」驱动。

驱动所在路径如下图所示: 

使用「 jtds-1.2.2.jar」驱动连数据库有两种方式,下文介绍连接方式:

3.3.1设计器连接

使用「 jtds-1.2.2.jar」驱动连数据库,可直接新建数据连接,数据库类型选择「others」,手动输入「 URL 」和「驱动器」。

驱动:net.sourceforge.jtds.jdbc.Driver

URL:jdbc:jtds:sqlserver://IP:端口号/databaseName

操作详情参见: [设计器]JDBC连接数据库 

示例:

使用「jtds-1.2.2.jar」方式连接,配置信息如下图所示:

驱动:net.sourceforge.jtds.jdbc.Driver

URL:jdbc:jtds:sqlserver://192.168.5.48:1433/TESTjdbc:jtds:sqlserver://IP:端口号/databaseName

注:使用「sqljdbc.jar」驱动链接数据库,URL为jdbc:sqlserver://192.168.5.48:1433;databaseName=TEST

具体方法参见:[平台]Microsoft SQL Server数据连接

3.3.2 数据决策平台连接

1)以管理员身份登录数据决策系统,点击管理系统>数据连接>数据连接管理,点击新建数据连接如下图所示:

注:如果非管理员用户想要配置数据连接,需要管理员给其分配管理系统下数据连接节点的权限,具体操作请查看:数据连接控制

2)在「常用」选项下选Microsoft SQL Server,如下图所示:

1)根据实际情况输入对应的数据连接信息,如下图所示:

驱动:net.sourceforge.jtds.jdbc.Driver

URL:jdbc:jtds:sqlserver://IP:端口号/databaseName

企业微信截图_16238051278073.png

2)点击测试连接或者在「模式」下点击连接数据库,若弹出连接成功提示框,则表示成功连接上数据库,如下图所示:

4. SQL SERVER多实例名编辑

问题描述:

一般安装SQL SERVER都是使用默认实例名,但是有时候有特殊情况不能使用默认实例名,或者多个实例的时候,就不一样了。

解决方案:

修改地址参数即可建立非默认实例名的链接

默认的数据链接地址为:jdbc:sqlserver://localhost:1433;databaseName=数据库名

当非默认实例名时,修改为:jdbc:sqlserver://localhost\实例名:端口;databaseName=数据库名

注:非默认实例名使用的端口可能为1434,请注意防火墙之类是否有拦截或者占用