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 引言

在實際水文整編和數據庫維護工作中經常需要對數據庫中的水文原始、成果數據進行導入導出。現有數據庫管理系統大多提供數據導入導出功能,可將數據庫及其對象從一個服務器實例移動或復制到另一個服務器實例。如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(表示服務器可處理的最大批大小)或任一合適數據以減少批量更新服務器的次數。主要更新語句如下。

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例
主站蜘蛛池模板: 国产精品va| 99精品国产自在现线观看| 中文字幕无码av专区久久| 98精品全国免费观看视频| 久久99精品久久久久纯品| 伊人狠狠丁香婷婷综合色| 国产99在线| 久久成人18免费| 性视频久久| 9966国产精品视频| 国产精品久久久精品三级| 丰满人妻久久中文字幕| 极品国产一区二区三区| 国产精品30p| 欧美无专区| 欧美国产三级| 丝袜国产一区| 久久夜色精品国产嚕嚕亚洲av| 97在线公开视频| 亚洲天堂.com| 国产va在线| 不卡的在线视频免费观看| 狠狠综合久久| 99热这里都是国产精品| 亚洲国产精品不卡在线| 丰满人妻一区二区三区视频| 色屁屁一区二区三区视频国产| 国产亚洲精品yxsp| 日本成人一区| 国产女同自拍视频| 超清人妻系列无码专区| 亚洲无码精彩视频在线观看| 91丝袜乱伦| 亚洲av成人无码网站在线观看| 精品久久久久久成人AV| 99草精品视频| 日韩一区二区三免费高清| 国产高颜值露脸在线观看| 亚洲成人网在线播放| 黄色网页在线播放| 亚洲首页在线观看| 97亚洲色综久久精品| 成人字幕网视频在线观看| 亚洲香蕉在线| 亚洲视频在线观看免费视频| 丁香综合在线| 亚洲综合一区国产精品| 超碰免费91| 午夜a级毛片| 国产精品永久免费嫩草研究院| 国产一区成人| 国产18页| 91精品小视频| 97视频免费在线观看| 夜夜操天天摸| 国产精品三级av及在线观看| 欧洲极品无码一区二区三区| 97久久人人超碰国产精品| 亚洲国语自产一区第二页| 波多野结衣第一页| 国产黄色视频综合| 真实国产乱子伦高清| 色屁屁一区二区三区视频国产| 777午夜精品电影免费看| 最新国产精品第1页| 国产美女在线观看| 国产人成网线在线播放va| 天天躁狠狠躁| 久久九九热视频| 久久无码av三级| 91精品综合| 88av在线| 久久大香伊蕉在人线观看热2| www中文字幕在线观看| 亚洲人成网站色7777| 日韩不卡高清视频| 97久久免费视频| 日韩av无码精品专区| 成人日韩精品| 亚洲欧洲日韩国产综合在线二区| 国产永久无码观看在线| 亚洲中文字幕无码爆乳|