概述
盡管紫金橋組態軟件自身擁有一個強大的實時數據庫,但是鑒于關系數據庫在某些場合更加適用,所以組態軟件很多時候也需要與各種關系數據庫相連接,對關系數據庫進行操作。Accesss、SQL Server等數據庫也許為我們所熟悉,但是一般我們較少接觸Oracle數據庫。Oracle數據庫是第一個開放式商品化的關系型數據庫,主要滿足銀行、金融、保險等企事業單位對大型數據庫的需求。下面就筆者的經驗,對紫金橋組態軟件與oracle數據庫的連接做簡要論述。
軟件環境
一般而言,一個關系型數據庫系統是一個或者多個服務的集合,與具體的管理工具是不相干的。我們以oracle 10g home版本為例,假設oracle數據庫系統安裝在某一臺服務器上(假定IP為192.168.128.129),那么在需要訪問該數據庫的客戶機上需要安裝oracle 10g home版的客戶端。安裝完客戶端后,機器就帶有了一些管理工具,這些工具將方便我們的使用。同樣,該客戶機還需要安裝紫金橋組態軟件。
配置服務名
為了便于使用的方便,一般我們把某一個oracle數據庫系統上的某一個特定數據庫或者全局數據庫做一個映射,稱為“服務名”,然后使用服務名即可訪問數據庫。使用Net Manager管理工具:
選擇“編輯”->“創建…”后按照向導來創建一個服務:
“網絡服務名”填寫的即是需要全局引用的服務名。
此處“主機名”可以填寫Oracle數據庫所在的服務器IP地址,或者網絡名。
上面假定了Oracle數據庫服務器上的全局數據庫名稱為“GlobalDBName”
在完成之前,可以根據需要測試數據庫的連接。點擊“完成”,新建的服務名即完成:
紫金橋組態軟件連接oracle數據庫
眾所周知,在windows下,微軟有一個開放數據庫互連接口即ODBC,和一個數據庫訪問的的應用程序接口即OLE/DB。
ODBC方式
1. 建立數據源:“控制面板”->“性能和維護”->“管理工具”中找到“數據源 (ODBC)”或運行“odbcad32.exe”
雙擊打開,在“系統DSN”選項卡點擊“添加”
選擇相關驅動程序,如“Microsoft ODBC for Oracle”
然后填寫下面的設置:
此處“服務器”填寫前面“配置服務名”板塊中所配置的服務名。確定后,名為Ora1的數據源就建立完畢:
2. 紫金橋組態軟件連接數據源
在任何腳本編輯區,使用用函數SQLConnect(Long ConnectID, String SourceDesc) 來連接數據源,其中ConnectID為連接標識,連接成功為一個非負的整數,SourceDesc為數據源描述,可以通過選擇數據源自動生成:
選擇之前建立的數據源:
輸入密碼:
生成連接字符串:
連接成功后,即可使用紫金橋組態軟件的SQL腳本函數進行數據庫的相關操作了。
需要注意的是,數據源使用完畢不再使用時,或者退出程序前,需要使用SQLDisconnect(Long ConnectID)函數釋放數據源。
OLE/DB方式
該方式主要是在報表關系數據源點中使用。
1. 建立報表關系數據源點
在紫金橋組態軟件開發界面的“數據庫”選項卡->“點組態”中,創建一個“報表關系數據源”點,如下
聯結字符串選擇“聯結Oracle數據庫”,然后彈出對話框:
此處“服務名”填寫前面“配置服務名”板塊中所配置的服務名。這樣便自動生成了聯結字符串:
確定后,一個名為“Ora1”的報表關系源點就建好了。
2. 使用報表進行關聯
在紫金橋組態軟件開發界面的窗口中,創建一個自由報表對象,雙擊進入其屬性設置,點擊“關系數據庫聯結設置”:
看到如下設置畫面:
在“關系數據源點”處填寫先前建立的關系數據源點名稱“Ora1”,即把數據庫和自由報表關聯到了一起。
若自由報表名稱為FreeReport1,則在窗口中可以使用“#FreeReport1.”+自由報表SQL函數的方式進行數據庫相關操作,例如:#FreeReport1.SqlSelectCmd("select * from table1");