999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基礎水文數據庫導入導出工具設計與實現分析

2017-03-25 01:28:28周相麗賀旭東
河南水利與南水北調 2017年2期
關鍵詞:數據庫功能

□周相麗 □賀旭東

(1河南省信陽水文水資源勘測局;2河南省鄭州水文水資源勘測局)

基礎水文數據庫導入導出工具設計與實現分析

□周相麗1□賀旭東2

(1河南省信陽水文水資源勘測局;2河南省鄭州水文水資源勘測局)

在基礎水文數據庫維護過程中,經常需要在不同的數據庫系統及其版本間導入導出數據。Visual Studio Integrated Development Environment提供了功能齊全的代碼編寫、編譯、調試等工具,支持C#語言,可以快速方便地創建和部署Web應用程序、XML Web Services和傳統的客戶端應用程序。文章設計了基礎水文數據庫導入導出工具,并使用Visual C#及ADO.NET、Oracle Managed Data Access組件開發實現。

基礎水文數據庫;水文數據;ADO.NET

1 引言

在實際水文整編和數據庫維護工作中經常需要對數據庫中的水文原始、成果數據進行導入導出?,F有數據庫管理系統大多提供數據導入導出功能,可將數據庫及其對象從一個服務器實例移動或復制到另一個服務器實例。如Microsoft SQL Server提供SQL Server導入和導出向導(DTSWizard.exe)及SQL ServerManagementStudio,Oracle提供 OracleSQL Developer。部分水文業務軟件亦提供不同數據庫之間不同站年、不同數據項目的數據遷移,如南方片水文資料整匯編軟件。不過有些應用場景需要在不同的數據庫系統及其版本間遷移數據,如SQL Server與Oracle之間及SQL Server 2000、2005、2008之間,這時需要更通用的程序實現了。

2 NET Framework、Oracle 數據提供程序簡介

.NET Framework數據提供程序(.NET Framework data provider)、Oracle托管數據訪問組件(Oracle Data Provider for.NET Managed Driver)提供.NET環境下對關系數據庫的訪問。NET Framework、Oracle數據提供程序包含4個核心對象,如表1所示。這些對象用于連接至數據源、執行命令,提取數據集或更改數據源數據。

表1 數據提供程序核心對象表

3 導入導出工具的設計

3.1 用戶界面

工具是一個單文檔項目,程序界面簡潔,整個界面由菜單欄、TabContrl和ProgressBar組成。菜單欄包含文件、選項、查看及幫助四個菜單項。TabContrl包含兩個TabPage頁面,分別為首頁和數據維護頁面。首頁頁面由數據庫設置、數據路徑設置、文件列表和日志框構成。數據維護頁面由備份數據庫設置、可選測站列表框、年份列表框、成果表類型列表框和同步按鈕構成。

3.2 程序功能

基礎水文數據庫導入導出工具應具有連接至數據庫功能,站年、數據項目類型選擇功能以及數據遷移功能等功能。

連接至數據庫功能:可選擇源數據庫及目的數據庫類型,如可選擇SQL Server或Oracle數據庫,輸入用戶名和口令后點擊連接按鈕連接至數據庫。

站年、數據項目類型選擇功能:可選擇需遷移的測站列表、資料年份和數據項目類型。數據項目類型包括《基礎水文數據庫表結構及標識符標準》所列的成果數據庫表結構、南方片水文資料整匯編軟件定義的原始數據庫表結構以及用戶自定義擴展的數據庫表結構。主要數據庫表結構如表2所示。

數據遷移功能:按用戶所選源、目的數據庫及站年、數據項目類型將數據從源服務器實例移動或復制到目的服務器實例。

表2 主要數據庫表結構表

4 導入導出工具的實現

4.1 數據庫導入導出主要方法

①使用Sql(Oracle)Command、Sql(Oracle)DataAdapter和Sql (Oracle)Connection從源、目的數據庫中取得數據記錄,并分別填充至源、目的DataSet中。②比較源、目的DataSet中的記錄,并將較目的DataSet中新的記錄由源DataSet復制到目的DataSet。③使用目的DataSet的Sql(Oracle)DataAdapter.Update ()將修改過的目的DataSet記錄行返回目的數據庫。

4.2 實現步驟

4.2.1 連接至數據庫

使用 SQL、Oracle數據訪問組件提供的 Sql(Oracle) Connection類打開源、目的數據庫連接。SqlConnection連接字符串為:string.Format("Data Source={0};Pooling=false;User Id= {1};Password={2};",ORASRVR, UserId, Password);Oracle Connection連接字符串為:

string.Format("Data Source={0};Initial Catalog={1};User ID= {2};Password={3};",DataSource,InitialCatalog,UserID,Password)。

4.2.2 加載數據庫記錄集至DataSet

設置 Sql(Oracle)Parameter查詢參數,調用 Sql(Oracle) DataAdapter的Fill方法將記錄填充至DataSet中。Sql(Oracle) DataAdapter的MissingSchemaAction屬性設置為MissingSchema Action.AddWithKey,以使Sql(Oracle)DataAdapter創建DataSet的架構包括主鍵信息。

4.2.3 復制DataSet記錄并更新目的數據庫

DataSet為存放于內存中的數據緩存,DataTable為內存中的數據表。System.Data命名空間DataTable類提供Select()方法用以獲取DataRow對象數組。構造適當的查詢表達式便可返回目的數據庫所需記錄,如查詢降雨量摘錄表過程主要語句可定義如下。

string expression=string.Format("STCD=‘{0}’and BGTM=‘{1}’ and ENDTM=‘{2}’",STCD,BGTM,ENDTM);DataRow []datarow=

dataset.Tables["TBL"].Select(expression)。待將查詢到的datarow復制至目的DataSet后,便可使用目的DataSet的Sql(Oracle) DataAdapter .Update()方法,將記錄更新至目的數據庫。為提高應用程序的性能,Sql(Oracle)DataAdapter.UpdateBatchSize屬性可設置為0(表示服務器可處理的最大批大?。┗蛉我缓线m數據以減少批量更新服務器的次數。主要更新語句如下。

Sql(Oracle)DataAdapter.UpdateBatchSize=UpdateNumber;Sql (Oracle)DataAdapter.Update(DataSet,TableName);DataSet.ccept Changes();Sql(Oracle)Transaction.Commit()。

5 結語

文章設計并實現了基礎水文數據庫導入導出工具。軟件界面簡潔、操作簡便,包括站年、數據項目類型選擇以及數據遷移等功能。借助本軟件,可以跨越數據庫系統和版本,在SQL Server、Oracle之間或同一數據庫管理系統不同版本之間任意導入導出數據。系統實現主要應用Sql(Oracle) Connection、Sql(Oracle)Command、Sql(Oracle)DataAdapter等對象,讀者在文章基礎上不難構建自己的數據庫導入導出軟件。

編輯:趙 鑫

P337

:B

:1673-8853(2017)02-0038-02

2016-11-16

猜你喜歡
數據庫功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
關于非首都功能疏解的幾點思考
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達功能
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
中西醫結合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 日日拍夜夜嗷嗷叫国产| 久久人人爽人人爽人人片aV东京热 | 波多野结衣一区二区三视频 | 97色婷婷成人综合在线观看| 国产一区在线观看无码| 欧洲一区二区三区无码| 4虎影视国产在线观看精品| 国产美女叼嘿视频免费看| 亚洲美女一级毛片| 国产主播在线一区| 亚洲婷婷在线视频| 国产精品久久国产精麻豆99网站| www亚洲天堂| 久草性视频| 亚洲第一黄色网址| 欧美亚洲欧美区| 色国产视频| 天天摸夜夜操| 99热这里只有精品免费| 亚洲男人天堂网址| 综合色婷婷| 亚洲综合18p| 国产色偷丝袜婷婷无码麻豆制服| 国产成年女人特黄特色毛片免| 农村乱人伦一区二区| 亚洲精品视频在线观看视频| 国产激爽爽爽大片在线观看| 中文字幕欧美成人免费| av免费在线观看美女叉开腿| 美女黄网十八禁免费看| 日本不卡在线视频| 无码国产偷倩在线播放老年人| 操国产美女| 久久久久久高潮白浆| 国产精品香蕉在线观看不卡| 亚洲国产欧洲精品路线久久| 波多野结衣AV无码久久一区| 亚洲成肉网| 91网站国产| 国产精品流白浆在线观看| 国产国产人成免费视频77777| 国产91蝌蚪窝| aⅴ免费在线观看| 久久大香伊蕉在人线观看热2| 亚洲国模精品一区| 夜夜爽免费视频| 欧美日韩成人| 亚洲乱强伦| 波多野结衣一区二区三区四区| 麻豆国产原创视频在线播放| 免费国产小视频在线观看| 国产一区二区免费播放| 国产精品熟女亚洲AV麻豆| 2048国产精品原创综合在线| 久无码久无码av无码| 久久a级片| 国产乱码精品一区二区三区中文 | www.youjizz.com久久| 性69交片免费看| 国产精品大尺度尺度视频| 亚洲综合亚洲国产尤物| 久久国产亚洲欧美日韩精品| 国产精品思思热在线| 大乳丰满人妻中文字幕日本| 久久这里只有精品66| 特级做a爰片毛片免费69| 亚洲国内精品自在自线官| 欧美国产视频| 国产综合亚洲欧洲区精品无码| 亚洲成在线观看| 欧美一级高清免费a| 亚洲天堂网在线观看视频| av大片在线无码免费| 欧美色综合网站| 三级国产在线观看| 成人国产精品一级毛片天堂| 无码国产伊人| 欧美怡红院视频一区二区三区| 伊人色天堂| 亚洲aaa视频| 国产真实乱子伦视频播放| 国产亚洲精品97在线观看|