一 目的:
處理目前原有系統上的已經開發的Oracle Procedure可以重複使用,不會浪費原有程式降低程式開發複雜度。
二 安裝軟體
2.1 微軟報表產生器:
可以從微軟官方網站下載此軟體,安裝步驟這裡就不在重述。
2.2 Oracle Instant Client Downloads
可以從Oracle官方網站下載此軟體,必須注意x64及32-bit的版本區分,也就是若是有其它軟體要透過這一ODAC軟體連到Oracle資料庫,必需要安裝相對應的版本(也就是都安裝32-bit是最保險的方式)。
三 建立自己資料及Procedure程式:
3.1 建立personnel table如下
CREATE TABLE personnel
(
id NUMBER (5) PRIMARY KEY,
name VARCHAR2 (20),
birthday DATE,
hireday DATE DEFAULT SYSDATE,
department VARCHAR2 (20)
)
TABLESPACE usr
塞入測試資料如下
INSERT INTO personnel (id,
name,
birthday,
hireday,
department)
VALUES (05,
'員工五',
TO_DATE('19101201', 'YYYYMMDD'),
TO_DATE('20111010', 'YYYYMMDD'),
'Sales');
基本資料如下展示如下表所示
3.2 建立Oracle 上的Procedure
CREATE OR REPLACE PROCEDURE ERP.sp_getemployees (
e_recordset OUT SYS_REFCURSOR)
IS
BEGIN
OPEN e_recordset FOR SELECT * FROM personnel;
END sp_getemployees;
/
其中 OUT SYS_REFCURSOR 是重點,在 Oracle 中讓你把資料集傳給前端,這樣就完成基本的procedure程式。
四 使用報表產生器
4.1 開啟微軟報表產生器
4.2 建立資料來源
資料來源中按下右鍵,點選入資料來源
填入連接Oracle資料庫的名稱TNSname、帳號及密碼,若是沒有任何問題可按下測試連線。
若是出現測試連線成功,表示與資料庫聯繫沒有問題。
4.3 建立資料集
於畫面中對著資料集按下右鍵,會出現加入資料集的提示視窗
修改資料的相關屬性,按照畫面提示動做執行
②資料來源的DataSource1也就是在剛剛建立的資料來源名稱。
最後按下⑤的查詢設計工具
接下來後會出現查詢設計工具的提視窗,請按下①,若是沒有其它錯誤會將資料呈現在②的視窗框中,若是確認無誤後請執行③確定按鈕,完成此部份動作。
接下來看到底下視窗,請按下確定按鈕
4.4 資料的排版及呈現方式
上面資料來源及資料集都作業無誤後,於畫面中會出現①中的資料集,也就是Oracle 中建立的Table欄位,接下來要針對頁面排版的動作,在插入中選擇資料表-->插入資料表
請拖拉畫面涵蓋整個右側工作區
按右鍵新增兩列資料行,因為我們的資料集中有五個資料表
最後,按下執行按鈕完成這一次報表的預覽動作。
報表預覽呈現
因為追蹤了「sql」這個Tag,系統通知有新的文章,才沒尼克這篇認真的好文,超讚!
才沒尼克這篇認真的好文
這文法好怪,不過我知道你的意思。
才沒"錯過"尼克這篇認真的好文
拿微軟的報表產生器去接 Oracle...
我只能給你 100 分
順帶請教一下
最終的產出(報表)是什麼型式?
大概要如何使用?
抱歉,注音打進去選字很困難,所以打的內容我自己讀都不是很通順。
最終產出是Web界面,可以轉成純HTML或Excel、PDF等等。
那個Web界面是由Reporting Service提供的,像這樣...
感謝Simon說明。
謝謝兩位說明
我原本是想請教「如何與程式結合」
以最終產出是 Web 為例
是否可以在既有網站中
加個頁面
依據使用者輸入參數去產生報表頁面?
還是只適合「獨立使用」
不適合與其他程式結合?
根據你的問題回覆:
感謝回答
今天又多學到一點知識了
雖然沒什麼用到的機會