web表格控制項FineReport教程:[14]JDBC應用

下面就通過web表格控制項FineReport來簡單介紹一下。

工具/原料

web表格控制項FineReport7.1.1
大小:148.2M 適用平台:windows/linux

方法/步驟

問題描述

使用FineReport連接dBase資料庫,在資料庫選擇的下拉選項中沒有dBase這種資料庫,此時,該如何連接dBase資料庫呢?

解決思路

手動將連接dBase資料庫需要使用到的jar放置到%FR_HOME%\WebReport\WEB-INF\lib下面,然後重啟設計器,新建JDBC數據連接,其資料庫下拉選項中選擇others,接著手動輸入其驅動URL以及用戶名密碼即可。

jar準備

連dbase資料庫除了要使用dbfdriver.jar之外,還要下載一個log4j.jar,下載下來之後,將其放到相應的lib下面,如下圖:

新建數據連接

重啟設計器,點擊伺服器>定義數據連接,新建一個JDBC數據連接,資料庫選擇others,驅動器輸入jstels.jdbc.dbf.DBFDriver2,URL手動輸入jdbc:jstels:dbf:D:/FineReport/WebReport/.,該路徑是dbase資料庫文件所在路徑,如下圖:

點擊測試連接,連接成功即可使用該資料庫中的數據了。

連接ODBC數據源

示例

假設ODBC數據源中存在一個名為FRDemo的數據源,如下圖所示:

在設計器中同樣點擊增加連接,連接名為odbctest,在資料庫的下拉框中選擇Others,最終的配置結果如下:

Domino資料庫連接

概述

Domino是文檔型資料庫而非關係型資料庫,連接Domino可以使用JDBC方式或者ODBC方式,使用JDBC方式需要安裝Lotus Domino Driver for JDBC並且此方法已經被IBM拋棄了多年,因此下面我們為大家介紹ODBC方式連接Domino資料庫。

連接步驟

Notes SQL安裝與設置

下載Notes SQL(IBM Lotus Notes SQL Driver)安裝包,並安裝完成。

在開始菜單中找到Notes SQL的快捷方式,點擊NotesSQL下的Notes SQL Authentication List Manager,如下圖所示:

用其來添加notes配置文件和id文件,如下圖所示:

添加環境變量

添加notes.ini所在目錄到系統path環境變量中,如下圖所示:

配置ODBC數據源

打開ODBC數據源管理器,選擇系統DSN,點擊添加按鈕,選擇「Lotus Notes SQL Driver (*.nsf)」,出現ODBC Lotus Notes Setup對話框,根據實際情況填寫即可,如下圖所示:

設計器中定義數據連接

點擊設計器伺服器>定義數據連接,新建一個JDBC數據連接,資料庫選擇:Others,驅動器選擇:sun.jdbc.odbc.JdbcOdbcDriver,URL填寫:jsbc:odbc:Domino(其中Demino為odbc數據源名稱),測試連接按鈕,提示連接成功,如下圖:

Informix資料庫連接

對於Informix資料庫,定義數據連接處進行如下配置:

資料庫:Others

驅動器:com.informix.jdbc.IfxDriver

URL:jdbc:informix-sqli://localhost:port/mydatabase:INFORMIXSERVER=mydatabase

用戶名:username

密碼:password

說明:

1. 在我們的WebReport工程下的WEB-INF\lib下,已有JDBC驅動包:Informix的jar包,其名字為ifxjdbc.jar。

2. 選擇了資料庫類型是Others之後,默認會帶出來ODBC的驅動寫法。驅動器一定要改。

3. Informix在安裝時需要定義一個用戶名和密碼,和Oracle的安裝是類似的。所以定義連接時,用戶名密碼一定不是空的。如果有用戶反映說沒有用戶名密碼,也必須要創建一個,否則是連接不成功的。

jdbc連接Informix中文顯示亂碼

informix不支持gbk,jdbc連接時,中文會顯示亂碼,報錯informix Locale not supported ,那麼怎麼才能使用jdbc連接informix呢?

解決思路

自己手動定義NEWCODESET設置。

如果informix的語言環境為GB18030,其jdbc的URL連結參數設置如下:

jdbc:informix-sqli://ip:8090/sky:INFORMIXSERVER=test;DB_LOCALE=zh_cn.GB18030-2000;CLIENT_LOCALE=zh_cn.GB18030-2000;NEWCODESET=GB18030,GB18030-2000,5488;DBDATE=Y4MD

hadoop,hive資料庫連接

描述

Hadoop是個很流行的分布式計算解決方案,Hive是基於hadoop的數據分析工具。一般來說我們對Hive的操作都是通過cli來進行,也就是Linux的控制台,但是,這樣做本質上是每個連接都存放一個元數據,各個之間都不相同,這樣的模式用來做一些測試比較合適,並不適合做產品的開發和應用。

因此,就產生Hive的JDBC連接的方式。

步驟

Hive提供了jdbc驅動,使得我們可以連接Hive並進行一些類關係型資料庫的sql語句查詢等操作,首先我們需要將這些驅動拷貝到報表工程下面,然後再建立連接,最後通過連接進行數據查詢。

拷貝jar包到FR工程

將hadoop里的hadoop-common.jar拷貝至報表工程appname/WEB-INF/lib下;

將hive里的hive-exec.jar、hive-jdbc.jar、hive-metastore.jar、hive-service.jar、libfb303.jar、log4j.jar、slf4j-api.jar、slf4j-log4j12.jar拷貝至報表工程appname/WEB-INF/lib下。

配置數據連接

啟動設計器,打開伺服器>定義數據連接,新建JDBC連接。

在Hive 0.11.0版本之前,只有HiveServer服務可用,在程序操作Hive之前,必須在Hive安裝的伺服器上打開HiveServer服務。而HiveServer本身存在很多問題(比如:安全性、並發性等);針對這些問題,Hive0.11.0版本提供了一個全新的服務:HiveServer2,這個很好的解決HiveServer存在的安全性、並發性等問題,所以下面我們分別介紹HiveServer和HiveServer2配置數據連接的方式。

HiveServer

資料庫驅動:org.apache.hadoop.hive.jdbc.HiveDriver;

URL:jdbc:hive://localhost:10000/default

註:hive服務默認埠為10000,根據實際情況修改埠;另外目前只支持默認資料庫名default,所有的Hive都支持。

測試連接,提示連接成功即可。

HiveServer2

資料庫驅動:org.apache.hive.jdbc.HiveDriver;

URL:jdbc:hive2://localhost:10000/default

註:該連接方式只支持Hive0.11.0及之後版本。

原作者:FineReport

本文內容整理自網絡, 文中所有觀點看法不代表淘大白的立場