KingSCADA3.0查詢關(guān)系數(shù)據(jù)庫_第1頁
KingSCADA3.0查詢關(guān)系數(shù)據(jù)庫_第2頁
KingSCADA3.0查詢關(guān)系數(shù)據(jù)庫_第3頁
KingSCADA3.0查詢關(guān)系數(shù)據(jù)庫_第4頁
KingSCADA3.0查詢關(guān)系數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

KingSCADA3.0查詢關(guān)系數(shù)據(jù)庫說明文檔此文檔由北京亞控公司提供,僅作為亞控內(nèi)部交流學(xué)習(xí)參考,北京亞控公司不對(duì)此文檔涉及的數(shù)據(jù)庫使用承擔(dān)任何使用責(zé)任,數(shù)據(jù)庫軟件的詳細(xì)說明請(qǐng)參考微軟提供的使用說明。目錄TOC\o"1-3"\h\z1.ODBC(開放數(shù)據(jù)庫互連)配置 11.1配置Access數(shù)據(jù)庫 11.2配置SQLServer2005數(shù)據(jù)庫 41.3參數(shù)示例 82.OLEDB(對(duì)象鏈接和嵌入數(shù)據(jù)庫)配置 92.1配置Access數(shù)據(jù)庫 92.2配置SQLServer2005數(shù)據(jù)庫 112.3參數(shù)示例 143.在KingSCADA3.0中使用關(guān)系庫中的數(shù)據(jù)。(以Access數(shù)據(jù)庫為例,下面兩種方法是訪問數(shù)據(jù)庫的頻繁程度選擇) 153.1偶爾訪問數(shù)據(jù)庫的情況 153.2需要頻繁訪問數(shù)據(jù)庫的情況 164.總結(jié) 18在KingSCADA3.0中,可以通過數(shù)據(jù)集系列函數(shù)查詢其他數(shù)據(jù)庫的信息,比如Access,SqlServer,MySql,Oracal,工業(yè)庫。下面以Access和SQLServer2005數(shù)據(jù)庫為例,展示在KingSCADA3.0中怎樣查詢關(guān)系數(shù)據(jù)庫中的信息。以下介紹兩種配置數(shù)據(jù)驅(qū)動(dòng)接口方式,這兩種方式擇一即可。KingSCADA3.0中支持兩種數(shù)據(jù)驅(qū)動(dòng)接口方式:ODBC與OLEDB。ODBC(開放數(shù)據(jù)庫互連)是Microsoft引進(jìn)的一種早期數(shù)據(jù)庫接口技術(shù)。它實(shí)際上是ADO的前身。早期的數(shù)據(jù)庫連接是非常困難的。每個(gè)數(shù)據(jù)庫的格式都不一樣,開發(fā)者得對(duì)他們所開發(fā)的每種數(shù)據(jù)庫的底層API有深刻的了解。因此,能處理各種各樣數(shù)據(jù)庫的通用的API就應(yīng)運(yùn)而生了。也就是現(xiàn)在的ODBC(OpenDatabaseConnectivity),ODBC是人們?cè)趧?chuàng)建通用API的早期產(chǎn)物。有許多種數(shù)據(jù)庫遵從了這種標(biāo)準(zhǔn),被稱為ODBC兼容的數(shù)據(jù)庫。OLEDB(對(duì)象鏈接和嵌入數(shù)據(jù)庫)位于ODBC層與應(yīng)用程序之間。在你的ASP頁面里,ADO是位于OLEDB之上的“應(yīng)用程序”。你的ADO調(diào)用先被送到OLEDB,然后再交由ODBC處理。你可以直接連接到OLEDB層,如果你這么做了,你將看到服務(wù)器端游標(biāo)(recordset的缺省的游標(biāo),也是最常用的游標(biāo))性能的提升。ODBC(開放數(shù)據(jù)庫互連)配置配置Access數(shù)據(jù)庫1.1.1在WINDOWS(以WINDOWSXP為例)控制面板中,雙擊管理工具中的“數(shù)據(jù)源(ODBC)”(或直接在運(yùn)行窗口輸入“odbcad32odbc”),出現(xiàn)ODBC數(shù)據(jù)源管理器如圖所示:ODBC數(shù)據(jù)源管理器1.1.2單擊“添加”按鈕,彈出“創(chuàng)建新數(shù)據(jù)源”數(shù)據(jù)源類型選擇窗口1.1.3選擇所需的數(shù)據(jù)庫類型(如:MicrosoftAccessDriver(*.mdb)),單擊“完成”設(shè)置數(shù)據(jù)源信息窗口1.1.4在“數(shù)據(jù)源名”中輸入新建的數(shù)據(jù)源名稱(如:DataSource,要牢記,在后面使用數(shù)據(jù)集函數(shù)的連接字符串參數(shù)“ConnectStr”時(shí)會(huì)用到),單擊“選擇”選擇連接的數(shù)據(jù)庫1.1.5在此對(duì)話框中選擇已建好的數(shù)據(jù)庫,將數(shù)據(jù)庫(例:failure.mdb)與數(shù)據(jù)源(SourceName創(chuàng)建的連接字符串即為"DSN=DataSource"。配置SQLServer2005數(shù)據(jù)庫1.2.1在WINDOWS(以WINDOWSXP為例)控制面板中,雙擊管理工具中的“數(shù)據(jù)源(ODBC)”(或直接在運(yùn)行窗口輸入“odbcad32odbc”),出現(xiàn)ODBC數(shù)據(jù)源管理器如圖所示:ODBC數(shù)據(jù)源管理器1.2.2單擊“添加”按鈕,彈出“創(chuàng)建新數(shù)據(jù)源”對(duì)話框,如圖所示:數(shù)據(jù)源類型選擇窗口1.2.3選擇所需的數(shù)據(jù)庫類型(如:SQLServer),單擊“完成設(shè)置數(shù)據(jù)源信息窗口1.2.4在“數(shù)據(jù)源名”中輸入新建的數(shù)據(jù)源名稱(如:DataSource,要牢記,在后面使用數(shù)據(jù)集函數(shù)的連接字符串參數(shù)“ConnectStr”時(shí)會(huì)用到),單擊“下一步選擇連接的數(shù)據(jù)庫1.2.5按照上面的截圖完成一個(gè)數(shù)據(jù)源創(chuàng)建的連接字符串即為"DSN=DataSource;DATABASE=db;UID=TD;PWD=1"。參數(shù)示例使用ODBC數(shù)據(jù)驅(qū)動(dòng)接口(系統(tǒng)DSN)方式,我們需要先配置好ODBC數(shù)據(jù)源,然后修改其中的關(guān)鍵項(xiàng)。●Access數(shù)據(jù)庫ConnectStr="DSN=DataSource";//ConnectStr是數(shù)據(jù)庫連接字符串?!馭qlServer數(shù)據(jù)庫ConnectStr="DSN=DataSource;DATABASE=db;UID=TD;PWD=1";//ConnectStr是數(shù)據(jù)庫連接字符串。

OLEDB(對(duì)象鏈接和嵌入數(shù)據(jù)庫)配置配置Access數(shù)據(jù)庫2.1.1新建一個(gè)文本文檔,將其后綴txt改為udl,注意2.1.2雙擊通用數(shù)據(jù)鏈接(.udl)文件。“數(shù)據(jù)鏈接屬性”對(duì)話框打開,顯示以下選項(xiàng)卡:“提供程序”、“連接”、“高級(jí)”和“所有2.1.3在“提供程序”選項(xiàng)卡上,選擇數(shù)據(jù)庫提供程序(MicrosoftJet4.0OLEDBProvider2.1.4在“連接”選項(xiàng)卡上,點(diǎn)擊選擇Access數(shù)據(jù)庫文件“failure.mdb”,點(diǎn)擊“測試連接”2.1.“Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\ProgramFiles\KingSCADA3.0\MyProjects\Data\failure.mdb;PersistSecurityInfo=False”即為連接字符串。以上2.1.1-2.1.5步驟也可不做,直接拷貝2.1.5

配置SQLServer2005數(shù)據(jù)庫2.2.1新建一個(gè)文本文檔,將其后綴txt改為udl,注意:可能會(huì)出現(xiàn)一個(gè)警告,指出更改文件擴(kuò)展名會(huì)導(dǎo)致文件變得不可用。忽略此警告。2.2.2雙擊通用數(shù)據(jù)鏈接(.udl)文件?!皵?shù)據(jù)鏈接屬性”對(duì)話框打開,顯示以下選項(xiàng)卡:“提供程序”、“連接”、“高級(jí)”和“所有”。2.2.3在“提供程序”選項(xiàng)卡上,選擇數(shù)據(jù)庫提供程序(MicrosoftOLEDBProviderforSQLServer)。然后選擇“下一步”。2.2.4在“連接”選項(xiàng)卡上,選擇SQLServer2005數(shù)據(jù)庫所在的機(jī)器名,在點(diǎn)擊“測試連接”,提示連接成功,點(diǎn)擊確定完成連接配置?;?.2.5在該udl文件單擊右鍵->打開方式->記事本,“Provider=SQLOLEDB.1;Password=1;PersistSecurityInfo=True;UserID=TD;InitialCatalog=db;DataSource=JSCHENYU”即為連接字符串。或:“Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=db;DataSource=JSCHENYU”即為連接字符串。以上2.2.1-2.2.5步驟也可不做,直接拷貝2.2.5中提供的連接字符串(注意:需要將DataSource改為正確的文件路徑以及文件名稱)。這樣通過兩種不同的數(shù)據(jù)庫連接方式,得到了連接字符串。下面是連接不同數(shù)據(jù)庫的字符串示例:參數(shù)示例使用OLEDB數(shù)據(jù)數(shù)據(jù)驅(qū)動(dòng)接口,不需要配置,修改相關(guān)配置信息即可?!馎ccess數(shù)據(jù)庫ConnectStr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\ProgramFiles\KingSCADA3.0\MyProjects\Data\failure.mdb;PersistSecurityInfo=False";●SqlServer數(shù)據(jù)庫ConnectStr="Provider=SQLOLEDB.1;Password=1;PersistSecurityInfo=True;UserID=TD;InitialCatalog=db;DataSource=JSCHENYU";或:ConnectStr="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=db;DataSource=JSCHENYU"。在KingSCADA3.0中使用關(guān)系庫中的數(shù)據(jù)。(以Access數(shù)據(jù)庫為例,下面兩種方法是訪問數(shù)據(jù)庫的頻繁程度選擇)偶爾訪問數(shù)據(jù)庫的情況3.1.1在KingSCADA3.0中新建一副畫面,取名“DataQuery”;3.1.2在畫面中添加一個(gè)報(bào)表圖素(名稱“Report1”),一個(gè)按鈕(名稱“Query”3.1.3在按鈕的“左鍵按下”中添加腳本如下:stringConnectStr,SqlStr;//定義兩個(gè)字符串變量ConnectStr="dsn=DataSource";//連接字符串,即通過ODBC配置得到的(詳見1.1.1-1.1.5),如果采用OLEDB方式,此處的ConnectStr=“Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\ProgramFiles\KingSCADA3.0\MyProjects\Data\failure.mdb;PersistSecurityInfo=False”SqlStr="select*fromhisdatafileinform";//SQL語句,從表“hisdatafileinform”中選擇數(shù)據(jù)。KDBGetDataset("Dataset1",ConnectStr,SqlStr);//此函數(shù)用于獲得一個(gè)符合條件的數(shù)據(jù)集"Dataset1",該方法從數(shù)據(jù)庫查詢一次之后就斷開與數(shù)據(jù)庫連接,適合不頻繁與數(shù)據(jù)庫連接的操作,如果需要頻繁的訪問數(shù)據(jù)庫,該函數(shù)不合適,會(huì)導(dǎo)致數(shù)據(jù)庫連接斷開,其他方法見2.1.1-2.1Report1.SetDataset1("Dataset1");//清除掉報(bào)表圖素中原有的數(shù)據(jù),將符合條件的數(shù)據(jù)集"Dataset1"顯示在Report1報(bào)表圖素中,默認(rèn)顯示的起始單元格是報(bào)表圖素中第一行第一列對(duì)應(yīng)的單元格。3.1.4點(diǎn)擊之后,運(yùn)行系統(tǒng),點(diǎn)擊“Query”可以看到查詢出來的數(shù)據(jù)如下圖:查詢結(jié)果查詢SQLServer2005數(shù)據(jù)庫同查詢Access數(shù)據(jù)庫類似,只是需要把ConnectStr改一下就行了。ConnectStr="DSN=DataSource;DATABASE=db;UID=TD;PWD=1";或:ConnectStr="Provider=SQLOLEDB.1;Password=1;PersistSecurityInfo=True;UserID=TD;InitialCatalog=db;DataSource=JSCHENYU";或:ConnectStr="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=db;DataSource=JSCHENYU";需要頻繁訪問數(shù)據(jù)庫的情況數(shù)據(jù)庫連接是一種關(guān)鍵的有限的昂貴的資源,對(duì)于一個(gè)簡單的數(shù)據(jù)庫應(yīng)用,由于對(duì)于數(shù)據(jù)庫的訪問不是很頻繁。這時(shí)可以簡單地在需要訪問數(shù)據(jù)庫時(shí),就新創(chuàng)建一個(gè)連接,用完后就關(guān)閉它,這樣做也不會(huì)帶來什么明顯的性能上的開銷。但是對(duì)于一個(gè)復(fù)雜的數(shù)據(jù)庫應(yīng)用,情況就完全不同了。頻繁的建立、關(guān)閉連接,會(huì)極大的減低系統(tǒng)的性能,甚至造成數(shù)據(jù)庫服務(wù)器堵塞,為了避免頻繁建立、關(guān)閉數(shù)據(jù)庫連接的開銷,我們提供獲取句柄方式對(duì)數(shù)據(jù)庫實(shí)現(xiàn)

連接復(fù)用。用戶可通過KDBGetConnectID方法建立一個(gè)數(shù)據(jù)庫連接,利用這個(gè)連接,用KDBGetDataset1方法向數(shù)據(jù)庫發(fā)送SQL命令,數(shù)據(jù)庫執(zhí)行完SQL命令,返回操作結(jié)果,并不關(guān)閉連接,準(zhǔn)備為下一次命令使用。通過獲取句柄方法,使得一個(gè)數(shù)據(jù)庫連接方法可以得到高效、安全的復(fù)用。下面為一個(gè)實(shí)例:3.2.1在KingSCADA3.0中新建一副畫面,取名“DataQuery2”3.2.2在畫面的“打開時(shí)”中添加腳本如下:stringConnectStr;//定義一個(gè)字符串變量。ConnectStr="dsn=DataSource";//連接字符串,即通過ODBC配置得到的(詳見1.1.1-1.1.5),如果采用OLEDB方式,此處的ConnectStr=“Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\ProgramFiles\KingSCADA3.0\MyProjects\Data\failure.mdb;PersistSecurityInfo=False”KDBGetConnectID(“strConnectID”,ConnectStr);//此函數(shù)用于連接數(shù)據(jù)庫,獲取連接句柄,保持與數(shù)據(jù)庫的連接與打開狀態(tài),只有執(zhí)行KDBDisConnect后才會(huì)與數(shù)據(jù)庫斷開連接。3.2.3在畫面中添加一個(gè)報(bào)表圖素(名稱“Report1”),一個(gè)按鈕(名稱“Query”在按鈕的“左鍵按下”中添加腳本如下:stringSqlStr;SqlStr="select*fromhisdatafileinform";//SQL語句,從表“hisdatafileinform”中選擇數(shù)據(jù)。KDBGetDataset1("Dataset2",“strConnectID”,SqlStr);//此函數(shù)用于通過連接句柄,從數(shù)據(jù)庫獲取數(shù)據(jù)集"Dataset2"。Report1.SetDataset1("Dataset2");//清除掉報(bào)表圖素中原有的數(shù)據(jù),將符合條件的數(shù)據(jù)集"Dataset1"顯示在Report1報(bào)表圖素中,默認(rèn)顯示的起始單元格是報(bào)表圖素中第一行第一列對(duì)應(yīng)的單元格。3.2.4在畫面中添加一個(gè)按鈕“DisConnect”,在“鼠標(biāo)左鍵按下”中添加腳本:KDBDisConnect(“strConnectID”);//斷開與數(shù)據(jù)庫的連接。3.2.5點(diǎn)擊之后,運(yùn)行系統(tǒng),點(diǎn)擊“Query”可以看到查詢出來的數(shù)據(jù),當(dāng)不需要與數(shù)據(jù)庫連接時(shí)可以點(diǎn)擊按鈕“DisConnect”斷開與數(shù)據(jù)庫的連接查詢SQLServer2005數(shù)據(jù)庫同查詢Access數(shù)據(jù)庫類似,只是需要把ConnectStr改一下就行了。ConnectStr="DSN=DataSource;DATAB

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論