1. 概述编辑
Microsoft SQL Server 是关系型数据库管理系统,具有使用方便、可伸缩性好、与相关软件集成程度高等优点。
本章我们将介绍如何在 FineBI 中连接 Microsoft SQL Server 数据库。
注:数据连接各设置项详细介绍请参考 配置数据连接
2. 配置信息编辑
驱动器 | URL | 支持数据库版本 | 驱动下载 |
---|---|---|---|
com.microsoft.sqlserver .jdbc.SQLServerDriver | jdbc:sqlserver://ip:port;databaseName=xxx | SQL Server 2000 | sqljdbc.zip |
SQL Server 2005 SQL Server 2008 SQL Server 2012 SQL Server 2014 SQL Server 2016 | 内置 sqljdbc42.jar |
注:用户若是想要连接非默认实例,可以更改 URL 为:jdbc:sqlserver://ip:port;instanceName=实例名;databaseName=数据库名
该数据连接需要根据数据库版本的不一样选择驱动:
1)若使用 SQL Server2000 ,需要下载 sqljdbc.zip ,解压该压缩包,并将其放置到%FineBI%\webapps\webroot\WEB-INF\lib下,删除原内置的 sqljdbc42.jar 包,重启 FineBI 。
2)若为其他版本,则直接使用 FineBI 自带的驱动包 sqljdbc42.jar 即可。
3. 操作步骤编辑
3.1 新建数据连接
以管理员身份登录数据决策系统,点击管理系统>数据连接>数据连接管理,点击新建数据连接,如下图所示:
注:如果非管理员用户想要配置数据连接,需要管理员给其分配管理系统下数据连接节点的权限,具体操作请查看 数据连接控制
2)在「常用」选项下选Microsoft SQL Server,如下图所示:
3.2 配置数据连接
1)根据实际情况输入对应的数据连接信息,如下图所示:
注:一般情况下 SQL server 默认端口号为 1433,下面示例图中将端口号修改成 1435,用户可以使用语句exec sys.sp_readerrorlog 0, 1, 'listening'查看自己的端口号。
2)点击测试连接,或者在「模式」下点击点击连接数据库,若弹出连接成功提示框,则表示成功连接上数据库,如下图所示:
连接成功后,「模式」会自动选择默认值,如下图所示:
注1:模式建立的初衷是为了其他功能更容易读取数据库里的数据,选择「默认值」即可。
注2:连接多模式的数据库时使用 SQL 语句需要带上模式名前缀进行搜索,例如 SELECT * FROM [dbo].[asdfg]
3)点击右上角保存按钮。
3.3 效果查看
Microsoft SQL Server 数据库连接成功后,可在平台对其进行编辑、重命名、复制、删除等操作,如下图所示:
4. 注意事项编辑
1)使用 JDBC 数据连接并添加数据集,且数据库中字段的数据类型为datetime ,若出现时间在1900-01-01 08:00:00 到 1900-01-01 08:05:42 的字段,则添加的数据集都会变成 1900-01-01 08:05:43 ,因此像 1900-01-01 这样的临界数据应该尽可能避免使用。
2)Spider 引擎开启实时数据时:
SQL Server 2000 与 SQL Server 2005 版本中,不存在 date 类型,在取年月日时,jooq 中进行的 cast(datetimeCol as date) 会报错,用 convert(varchar(10),datetimeCol,120) 可正常运行;
time 类型在进行日期类型相关的转化时会报错。
3)配置数据连接报错:驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。
解决方案:打开%JAVA_HOME%\jre\lib\security\java.security文件,将3DES_EDE_CBC 删除或者注释掉,保存重启 FineBI 即可正常连接。
4)SQL Server 中不能使用 count(*) 语句,否则报错:62400001empty field names found