《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(yīng)用 > 紫金橋組態(tài)軟件與oracle數(shù)據(jù)庫的連接簡介
紫金橋組態(tài)軟件與oracle數(shù)據(jù)庫的連接簡介
紫金橋軟件技術(shù)有限公司
摘要: 盡管紫金橋組態(tài)軟件自身擁有一個(gè)強(qiáng)大的實(shí)時(shí)數(shù)據(jù)庫,但是鑒于關(guān)系數(shù)據(jù)庫在某些場合更加適用,所以組態(tài)軟件很多時(shí)候也需要與各種關(guān)系數(shù)據(jù)庫相連接,對關(guān)系數(shù)據(jù)庫進(jìn)行操作。
Abstract:
Key words :

概述
  盡管紫金橋組態(tài)軟件自身擁有一個(gè)強(qiáng)大的實(shí)時(shí)數(shù)據(jù)庫,但是鑒于關(guān)系數(shù)據(jù)庫在某些場合更加適用,所以組態(tài)軟件很多時(shí)候也需要與各種關(guān)系數(shù)據(jù)庫相連接,對關(guān)系數(shù)據(jù)庫進(jìn)行操作。Accesss、SQL Server等數(shù)據(jù)庫也許為我們所熟悉,但是一般我們較少接觸Oracle數(shù)據(jù)庫。Oracle數(shù)據(jù)庫是第一個(gè)開放式商品化的關(guān)系型數(shù)據(jù)庫,主要滿足銀行、金融、保險(xiǎn)等企事業(yè)單位對大型數(shù)據(jù)庫的需求。下面就筆者的經(jīng)驗(yàn),對紫金橋組態(tài)軟件與oracle數(shù)據(jù)庫的連接做簡要論述。
軟件環(huán)境
  一般而言,一個(gè)關(guān)系型數(shù)據(jù)庫系統(tǒng)是一個(gè)或者多個(gè)服務(wù)的集合,與具體的管理工具是不相干的。我們以oracle 10g home版本為例,假設(shè)oracle數(shù)據(jù)庫系統(tǒng)安裝在某一臺服務(wù)器上(假定IP為192.168.128.129),那么在需要訪問該數(shù)據(jù)庫的客戶機(jī)上需要安裝oracle 10g home版的客戶端。安裝完客戶端后,機(jī)器就帶有了一些管理工具,這些工具將方便我們的使用。同樣,該客戶機(jī)還需要安裝紫金橋組態(tài)軟件。
配置服務(wù)名
  為了便于使用的方便,一般我們把某一個(gè)oracle數(shù)據(jù)庫系統(tǒng)上的某一個(gè)特定數(shù)據(jù)庫或者全局?jǐn)?shù)據(jù)庫做一個(gè)映射,稱為“服務(wù)名”,然后使用服務(wù)名即可訪問數(shù)據(jù)庫。使用Net Manager管理工具:


選擇“編輯”->“創(chuàng)建…”后按照向?qū)韯?chuàng)建一個(gè)服務(wù):


“網(wǎng)絡(luò)服務(wù)名”填寫的即是需要全局引用的服務(wù)名。


此處“主機(jī)名”可以填寫Oracle數(shù)據(jù)庫所在的服務(wù)器IP地址,或者網(wǎng)絡(luò)名。


上面假定了Oracle數(shù)據(jù)庫服務(wù)器上的全局?jǐn)?shù)據(jù)庫名稱為“GlobalDBName”


在完成之前,可以根據(jù)需要測試數(shù)據(jù)庫的連接。點(diǎn)擊“完成”,新建的服務(wù)名即完成:

紫金橋組態(tài)軟件連接oracle數(shù)據(jù)庫
  眾所周知,在windows下,微軟有一個(gè)開放數(shù)據(jù)庫互連接口即ODBC,和一個(gè)數(shù)據(jù)庫訪問的的應(yīng)用程序接口即OLE/DB。
  ODBC方式
1. 建立數(shù)據(jù)源:“控制面板”->“性能和維護(hù)”->“管理工具”中找到“數(shù)據(jù)源 (ODBC)”或運(yùn)行“odbcad32.exe”


  雙擊打開,在“系統(tǒng)DSN”選項(xiàng)卡點(diǎn)擊“添加”


  選擇相關(guān)驅(qū)動程序,如“Microsoft ODBC for Oracle”


  然后填寫下面的設(shè)置:


此處“服務(wù)器”填寫前面“配置服務(wù)名”板塊中所配置的服務(wù)名。確定后,名為Ora1的數(shù)據(jù)源就建立完畢:


2. 紫金橋組態(tài)軟件連接數(shù)據(jù)源
  在任何腳本編輯區(qū),使用用函數(shù)SQLConnect(Long ConnectID, String SourceDesc) 來連接數(shù)據(jù)源,其中ConnectID為連接標(biāo)識,連接成功為一個(gè)非負(fù)的整數(shù),SourceDesc為數(shù)據(jù)源描述,可以通過選擇數(shù)據(jù)源自動生成:


選擇之前建立的數(shù)據(jù)源:


輸入密碼:


生成連接字符串:


連接成功后,即可使用紫金橋組態(tài)軟件的SQL腳本函數(shù)進(jìn)行數(shù)據(jù)庫的相關(guān)操作了。
  需要注意的是,數(shù)據(jù)源使用完畢不再使用時(shí),或者退出程序前,需要使用SQLDisconnect(Long ConnectID)函數(shù)釋放數(shù)據(jù)源。

OLE/DB方式
  該方式主要是在報(bào)表關(guān)系數(shù)據(jù)源點(diǎn)中使用。

1. 建立報(bào)表關(guān)系數(shù)據(jù)源點(diǎn)
  在紫金橋組態(tài)軟件開發(fā)界面的“數(shù)據(jù)庫”選項(xiàng)卡->“點(diǎn)組態(tài)”中,創(chuàng)建一個(gè)“報(bào)表關(guān)系數(shù)據(jù)源”點(diǎn),如下


聯(lián)結(jié)字符串選擇“聯(lián)結(jié)Oracle數(shù)據(jù)庫”,然后彈出對話框:

此處“服務(wù)名”填寫前面“配置服務(wù)名”板塊中所配置的服務(wù)名。這樣便自動生成了聯(lián)結(jié)字符串:

確定后,一個(gè)名為“Ora1”的報(bào)表關(guān)系源點(diǎn)就建好了。
2. 使用報(bào)表進(jìn)行關(guān)聯(lián)
  在紫金橋組態(tài)軟件開發(fā)界面的窗口中,創(chuàng)建一個(gè)自由報(bào)表對象,雙擊進(jìn)入其屬性設(shè)置,點(diǎn)擊“關(guān)系數(shù)據(jù)庫聯(lián)結(jié)設(shè)置”:

 

看到如下設(shè)置畫面:


  在“關(guān)系數(shù)據(jù)源點(diǎn)”處填寫先前建立的關(guān)系數(shù)據(jù)源點(diǎn)名稱“Ora1”,即把數(shù)據(jù)庫和自由報(bào)表關(guān)聯(lián)到了一起。
  若自由報(bào)表名稱為FreeReport1,則在窗口中可以使用“#FreeReport1.”+自由報(bào)表SQL函數(shù)的方式進(jìn)行數(shù)據(jù)庫相關(guān)操作,例如:#FreeReport1.SqlSelectCmd("select * from table1");

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。