亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

用.Net開發DB2數據庫應用程序(1)

2024-07-21 02:41:20
字體:
來源:轉載
供稿:網友
  簡介  在.NET應用軟件開發人員看來,使用DB2與使用其它任何其它關系數據庫沒有區別。人們可以看到無數使用SQL Server以及甲骨文公司產品執行數據庫任務的例子,但關于使用包括.NET在內的微軟公司技術訪問DB2數據庫的文檔就遠沒有那么多了?! ∧壳埃_發人員可以使用不同的訪問技術通過編程的方式將.NET客戶端連接到DB2上,這些代碼從根本上來說是基本相同的,但仍然存在一些我們需要考慮的有趣的限制?! B2架構慨覽  DB2數據庫引擎的基本元素是數據庫對象、系統目錄、目錄和配置文件,所有的數據存取都通過SQL界面進行。我們可以只將DB2 Univeral Database(UDB)作為數據庫服務器運行,這不要求使用其它的產品,但對于遠程的客戶端而言,我們還需要其它一些產品。  (圖pict01)  連接到DB2的方式決定了我們能夠完成的任務。有三種技術可以從.NET連接到DB2:  1、使用OleDb .NET Managed PRovider。假如運行的是DB2 V7或更低的版本以及COM對象是調用者時,微軟和IBM二家公司都建議使用OleDb數據提供者訪問大多數DB2數據。在.NET Framework中,OleDb提供商是通過COM InterOp表現出來的,并使用可用于ADO開發的驅動程序。  2、使用ODBC .NET Managed Provider。這種方式提供了對本地ODBC驅動程序的訪問,與OLEDb .NET Data Provider提供對本地OLEDb提供者訪問的方式相同。ODBC .NET Data Provider是.NET Framework的一個附加組件,它能夠與所有兼容的ODBC驅動程序配合使用?! ?、使用IBM DB2 .NET Provider(β):這種方式提供了對將ADO.NET連接到DB2 V8.1的支持。DB2 .NET Data Provider是Visual Studio .NET Framework的一個內插式附件,它能夠訪問在運行在不同硬件和操作系統平臺上的DB•數據庫服務器。目前,它仍然處于β測試階段,但IBM公司很快會發布正式產品。DB2 .Net Data Provider能夠將使用ADO.NET開發的應用程序連接到下面的DB2數據庫服務器上: 1234下一頁   •運行在Windows、UNIX和linux平臺上的DB2 Universal Database Version 8.1。  •運行在z/OS、OS/390 V6.1以及使用DB2 Connect V8.1組件的更高版本的操作系統上的DB2 Universal Database。  不同的連接字符串顯示出不同情況下的語法差別:  OleDb連接字符串:Provider=IBMDADB2.1;User ID=db2admin;PassWord=db2admin;Data Source=SAMPLE  ODBC連接字符串:DSN=DB2V8;UID=db2admin;PWD=db2admin  BM Managed Provider連接字符串:Database=SAMPLE;User ID=db2admin;Password=db2admin;Server=IREK  代碼級訪問的比較  在開發DB2數據訪問代碼時,大多數的操作在很大程度上與訪問其它數據庫相同。下面我們對連接技術的一些代碼進行比較:  在下面的每個代碼片斷中,我們將展示一些數據庫訪問和數據治理的技巧,請讀者注重每種技術的哪些步驟相同。我們首先創建連接對象,再創建一個命令對象。在這個簡單的例子中,我們只訪問這一特定數據庫表中指定行、列中的一個標量值。最后,我們執行該命令的ExecuteScalar()方法,返回該整數?! ∈褂肙le Db技術  private OleDbConnection cn = new OleDbConnection(connectionString); OleDbCommand cmd = new OleDbCommand("SELECT COUNT(*) FROM STAFF", cn); int rc = Convert.ToInt32(cmd.ExecuteScalar());  使用ODBC  private OdbcConnection cn = new OdbcConnection(connectionString);  OdbcCommand cmd = new OdbcCommand("SELECT COUNT(*) FROM STAFF", cn);  int rc = Convert.ToInt32(cmd.ExecuteScalar());  使用IBM的Managed Provider  private DB2Connection cn = new DB2Connection(connectionString); 上一頁1234下一頁   DB2Command cmd = new DB2Command("SELECT COUNT(*) FROM STAFF", cn);  int rc = Convert.ToInt32(cmd.ExecuteScalar());  功能的比較  根據選擇的訪問技術和使用的數據庫版本,我們可以使用不同的功能。另外,根據需要完成的工作,我們還需要選擇連接策略?! 榱耸棺x者能夠更好的選擇連接技術,我整理出了一個能夠在決策中使用的路線圖。在路線圖中,我找出了一些對于大多數以數據庫為中心的軟件開發項目中通用的功能?! ≡谙旅娴膱D表中,我對自己的心得進行了整理。我根據是否答應完成特定的數據庫任務對三種訪問技術中的每一種都進行了評估,評估的數據庫任務有:  •Pass-thru SQL━━這一提供者是否支持通過動態開發的SQL語句形成的傳遞?  •簡單的存儲過程━━這一提供者支持包括返回結果在內的調用基本的存儲過程嗎?  •In、Out、InOut參數━━這一提供者支持調用存儲過程和利用參數傳遞變量數據嗎?  •日期和貨幣━━這一提供者支持由特定廠商提供、可能造成問題的數據類型嗎?  •LOBs━━這一提供者支持大對象數據類型的處理嗎? ?。▓Dpict02)  根據使用的連接技術,我們能夠完成不同類型的任務,因為每種提供者都有自己可以完成的工作。有一些問題是我們值得注重的。  例如,ODBC不支持DB2的存儲過程。因此,假如開發的應用軟件非常依靠于存儲過程,我們在選擇訪問技術時就不能考慮ODBC,而應當考慮OleDb或Managed Provider。OleDb不支持LOB數據類型,假如要存取LOB類型的數據(例如JPEG文件),我們可以使用ODBC或Managed Provider。目前,Managed Provider不能在DB2 V7或以前版本上運行,除非在應用程序和基于主機的DB2系統之間運行著DB2 Connect V8。 上一頁1234下一頁   有趣的是,在使用存儲過程的參數時,DB2 V7和OleDb有一個非常聞名的bug。我們能夠從存儲過程中返回數據,但在OleDb+DB2 V7平臺上,我們不能在應用程序與存儲過程之間傳遞參數?! ⌒阅鼙容^  為了衡量提供者的性能和向讀者提供指導,我們將定義一個有效的測試腳本,并對各種提供者的關健性能進行測試。為了比較各種連接技術的性能,我們開發了一些簡單的Web網頁,一個網頁面向執行完全相同功能的測試,這將使我們把握分析不同連接技術情況下輸出的控制數據。 ?。▓Dpict03)  假如嚴格地從性能的角度來看,我們發現,Managed Provider在訪問DB2數據庫時的性能最高。在這一簡單的測試中,有二個重要的數字值得關注:每秒鐘的請求(RPS)能夠使我們感受到訪問的規模,OleDb和ODBC在這方面的表現基本相似,但Managed Provider的表現要好一些(大約高10%左右);收到最后一字節的時間(TTLB)是從終端用戶的角度看到的響應時間,在這一方面,Managed Provider的性能再次比OleDb和ODBC高出10%左右?! ∽钪档米⒅氐氖牵M管提供的功能不同,但OleDb和ODBC在有負荷的情況下的性能基本相同。IBM公司的Managed Provider的性能最好,而且提供了在訪問DB2 V8時最可靠的功能。但是,假如沒有DB2 Connect作中間體,它不支持DB2 V7以及更低的版本?! 〗Y論  對于應用軟件開發人員而言,使用DB2作后端與使用其它通過ADO或ADO.NET訪問的關系數據庫一樣簡單。ADO.NET為我們完成了所有抽象工作。在選擇DB2還是其它數據庫時,盡管存在架構方面的考慮,但作為開發人員,我們的工作應當是可猜測和可治理的。 上一頁1234
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产经典一区二区| 欧美成人一区在线| 51精品国产黑色丝袜高跟鞋| 亚洲18私人小影院| 久久成人精品电影| 庆余年2免费日韩剧观看大牛| 欧美在线视频一区二区| 久久亚洲精品一区二区| 亚洲男人天堂久| 日韩成人性视频| 亚洲免费小视频| 精品国产一区二区在线| 精品丝袜一区二区三区| 亚洲午夜av久久乱码| 亚洲色图欧美制服丝袜另类第一页| 伊人成人开心激情综合网| 欧美亚洲激情在线| 亚洲人成网7777777国产| 色悠悠久久88| 亚洲成人网在线观看| 国产在线观看精品一区二区三区| 69av在线视频| 综合网日日天干夜夜久久| 国模精品视频一区二区三区| 欧美与欧洲交xxxx免费观看| 日产精品99久久久久久| 日韩精品在线观看一区二区| 国产成人a亚洲精品| 国产精品自拍小视频| 欧美日韩黄色大片| 91po在线观看91精品国产性色| 中文字幕久热精品视频在线| 亚洲一区制服诱惑| 精品视频久久久| 欧美日韩xxxxx| 国产精品jvid在线观看蜜臀| 清纯唯美亚洲激情| 国产精欧美一区二区三区| 国产91在线高潮白浆在线观看| 国产精品网站入口| 日本午夜人人精品| 1769国内精品视频在线播放| 成人h视频在线观看播放| 精品国产福利在线| 久久在线免费观看视频| 91理论片午午论夜理片久久| 国产在线拍揄自揄视频不卡99| 国产综合久久久久久| 国产欧美日韩丝袜精品一区| 日韩欧美有码在线| 国产中文字幕日韩| 欧美最猛黑人xxxx黑人猛叫黄| 97av视频在线| 亚洲欧洲在线视频| 久久亚洲春色中文字幕| 精品国内产的精品视频在线观看| 亚洲第一视频网站| 色婷婷亚洲mv天堂mv在影片| 国产成人+综合亚洲+天堂| 国模视频一区二区| 最近2019中文免费高清视频观看www99| 狠狠色狠色综合曰曰| 国色天香2019中文字幕在线观看| 久久躁狠狠躁夜夜爽| 色婷婷成人综合| 欧美第一黄网免费网站| 久久久国产影院| 国产精品视频大全| 国内精品美女av在线播放| 久久久噜噜噜久久久| 欧美在线一级va免费观看| 久久亚洲精品网站| 一本一本久久a久久精品综合小说| 国产精品电影在线观看| 国产精品视频区| 日本午夜人人精品| 久热精品视频在线| 欧美精品在线免费| 亚洲男人天堂视频| 亚洲黄色片网站| 国产精品流白浆视频| 这里只有精品视频| 伊人伊人伊人久久| 欧美老肥婆性猛交视频| 亚洲精品在线91| 国产精品久久久久久久电影| 亚洲国产精品久久久久久| 日韩av不卡电影| 亚洲精品免费av| 欧美日韩福利在线观看| 亚洲精品电影网在线观看| 91国内揄拍国内精品对白| 精品久久久久久久久久ntr影视| 欧洲成人免费视频| 国产97在线观看| 亚洲欧美制服中文字幕| 国产91在线播放| 国产精品高潮呻吟视频| 中文字幕亚洲一区二区三区五十路| 久久亚洲电影天堂| 国产精品欧美日韩久久| 欧美一级淫片videoshd| 91视频免费网站| 亚洲天堂av在线免费观看| 日韩av在线网页| 欧美日韩高清区| 欧美日韩亚洲视频一区| 国产成人精彩在线视频九色| 亚洲美女中文字幕| 亚洲精品天天看| 夜夜狂射影院欧美极品| 一区二区三区在线播放欧美| 91国产视频在线播放| 国产拍精品一二三| 美女啪啪无遮挡免费久久网站| 久久久国产成人精品| 欧美日韩国产中文精品字幕自在自线| 97成人在线视频| 国产丝袜视频一区| 久久99精品久久久久久琪琪| 红桃av永久久久| 久久综合88中文色鬼| 亚洲成人精品av| 欧美裸体xxxxx| 精品亚洲一区二区三区在线播放| 亚洲成人久久一区| 欧美极品少妇xxxxⅹ免费视频| www.日韩.com| 欧美综合在线第二页| 亚洲精品720p| 不用播放器成人网| 欧美日韩国内自拍| 亚洲最新视频在线| 国模精品视频一区二区三区| 91人成网站www| 视频在线观看一区二区| 亚洲欧美中文另类| 国产香蕉一区二区三区在线视频| 亚洲天堂开心观看| 欧美自拍视频在线观看| 欧美丝袜一区二区| 国产精品亚洲网站| 日韩高清电影好看的电视剧电影| 亚洲毛茸茸少妇高潮呻吟| 亚洲va码欧洲m码| 久久精品国产久精国产思思| 久久躁狠狠躁夜夜爽| 日本国产精品视频| 日韩精品极品视频| 亚洲精品99999| 久久久免费精品| 懂色av一区二区三区| 日本午夜在线亚洲.国产| 伊人一区二区三区久久精品| 欧美电影在线观看完整版| 亚洲成人a级网| 精品国产老师黑色丝袜高跟鞋| 久热精品视频在线免费观看| 精品视频在线播放免| 欧美成人免费全部观看天天性色| 国产精品一区电影| 在线观看不卡av| 亚洲网站在线看| 日韩欧美精品在线观看|