成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

用.Net開發(fā)DB2數(shù)據(jù)庫應用程序(1)

瀏覽:8日期:2023-11-10 13:17:03
簡介在.NET應用軟件開發(fā)人員看來,使用DB2與使用其它任何其它關系數(shù)據(jù)庫沒有區(qū)別。人們可以看到無數(shù)使用SQL Server以及甲骨文公司產(chǎn)品執(zhí)行數(shù)據(jù)庫任務的例子,但關于使用包括.NET在內(nèi)的微軟公司技術訪問DB2數(shù)據(jù)庫的文檔就遠沒有那么多了。目前,開發(fā)人員可以使用不同的訪問技術通過編程的方式將.NET客戶端連接到DB2上,這些代碼從根本上來說是基本相同的,但仍然存在一些我們需要考慮的有趣的限制。DB2架構慨覽DB2數(shù)據(jù)庫引擎的基本元素是數(shù)據(jù)庫對象、系統(tǒng)目錄、目錄和配置文件,所有的數(shù)據(jù)存取都通過SQL界面進行。我們可以只將DB2 Univeral Database(UDB)作為數(shù)據(jù)庫服務器運行,這不要求使用其它的產(chǎn)品,但對于遠程的客戶端而言,我們還需要其它一些產(chǎn)品。用.Net開發(fā)DB2數(shù)據(jù)庫應用程序(1)(圖pict01)連接到DB2的方式?jīng)Q定了我們能夠完成的任務。有三種技術可以從.NET連接到DB2:1、使用OleDb .NET Managed Provider。假如運行的是DB2 V7或更低的版本以及COM對象是調(diào)用者時,微軟和IBM二家公司都建議使用OleDb數(shù)據(jù)提供者訪問大多數(shù)DB2數(shù)據(jù)。在.NET Framework中,OleDb提供商是通過COM InterOp表現(xiàn)出來的,并使用可用于ADO開發(fā)的驅(qū)動程序。2、使用ODBC .NET Managed Provider。這種方式提供了對本地ODBC驅(qū)動程序的訪問,與OLEDb .NET Data Provider提供對本地OLEDb提供者訪問的方式相同。ODBC .NET Data Provider是.NET Framework的一個附加組件,它能夠與所有兼容的ODBC驅(qū)動程序配合使用。3、使用IBM DB2 .NET Provider(β):這種方式提供了對將ADO.NET連接到DB2 V8.1的支持。DB2 .NET Data Provider是Visual Studio .NET Framework的一個內(nèi)插式附件,它能夠訪問在運行在不同硬件和操作系統(tǒng)平臺上的DB•數(shù)據(jù)庫服務器。目前,它仍然處于β測試階段,但IBM公司很快會發(fā)布正式產(chǎn)品。DB2 .Net Data Provider能夠?qū)⑹褂肁DO.NET開發(fā)的應用程序連接到下面的DB2數(shù)據(jù)庫服務器上: 1234下一頁 •運行在Windows、UNIX和Linux平臺上的DB2 Universal Database Version 8.1。•運行在z/OS、OS/390 V6.1以及使用DB2 Connect V8.1組件的更高版本的操作系統(tǒng)上的DB2 Universal Database。不同的連接字符串顯示出不同情況下的語法差別:OleDb連接字符串:Provider=IBMDADB2.1;User ID=db2admin;Password=db2admin;Data Source=SAMPLEODBC連接字符串:DSN=DB2V8;UID=db2admin;PWD=db2adminBM Managed Provider連接字符串:Database=SAMPLE;User ID=db2admin;Password=db2admin;Server=IREK代碼級訪問的比較在開發(fā)DB2數(shù)據(jù)訪問代碼時,大多數(shù)的操作在很大程度上與訪問其它數(shù)據(jù)庫相同。下面我們對連接技術的一些代碼進行比較:在下面的每個代碼片斷中,我們將展示一些數(shù)據(jù)庫訪問和數(shù)據(jù)治理的技巧,請讀者注重每種技術的哪些步驟相同。我們首先創(chuàng)建連接對象,再創(chuàng)建一個命令對象。在這個簡單的例子中,我們只訪問這一特定數(shù)據(jù)庫表中指定行、列中的一個標量值。最后,我們執(zhí)行該命令的ExecuteScalar()方法,返回該整數(shù)。使用Ole Db技術private OleDbConnection cn = new OleDbConnection(connectionString); OleDbCommand cmd = new OleDbCommand("SELECT COUNT(*) FROM STAFF", cn); int rc = Convert.ToInt32(cmd.ExecuteScalar());使用ODBCprivate OdbcConnection cn = new OdbcConnection(connectionString);OdbcCommand cmd = new OdbcCommand("SELECT COUNT(*) FROM STAFF", cn);int rc = Convert.ToInt32(cmd.ExecuteScalar());使用IBM的Managed Providerprivate DB2Connection cn = new DB2Connection(connectionString); 上一頁1234下一頁 DB2Command cmd = new DB2Command("SELECT COUNT(*) FROM STAFF", cn);int rc = Convert.ToInt32(cmd.ExecuteScalar());功能的比較根據(jù)選擇的訪問技術和使用的數(shù)據(jù)庫版本,我們可以使用不同的功能。另外,根據(jù)需要完成的工作,我們還需要選擇連接策略。為了使讀者能夠更好的選擇連接技術,我整理出了一個能夠在決策中使用的路線圖。在路線圖中,我找出了一些對于大多數(shù)以數(shù)據(jù)庫為中心的軟件開發(fā)項目中通用的功能。在下面的圖表中,我對自己的心得進行了整理。我根據(jù)是否答應完成特定的數(shù)據(jù)庫任務對三種訪問技術中的每一種都進行了評估,評估的數(shù)據(jù)庫任務有:•Pass-thru SQL━━這一提供者是否支持通過動態(tài)開發(fā)的SQL語句形成的傳遞?•簡單的存儲過程━━這一提供者支持包括返回結果在內(nèi)的調(diào)用基本的存儲過程嗎?•In、Out、InOut參數(shù)━━這一提供者支持調(diào)用存儲過程和利用參數(shù)傳遞變量數(shù)據(jù)嗎?•日期和貨幣━━這一提供者支持由特定廠商提供、可能造成問題的數(shù)據(jù)類型嗎?•LOBs━━這一提供者支持大對象數(shù)據(jù)類型的處理嗎?(圖pict02)根據(jù)使用的連接技術,我們能夠完成不同類型的任務,因為每種提供者都有自己可以完成的工作。有一些問題是我們值得注重的。例如,ODBC不支持DB2的存儲過程。因此,假如開發(fā)的應用軟件非常依靠于存儲過程,我們在選擇訪問技術時就不能考慮ODBC,而應當考慮OleDb或Managed Provider。OleDb不支持LOB數(shù)據(jù)類型,假如要存取LOB類型的數(shù)據(jù)(例如JPEG文件),我們可以使用ODBC或Managed Provider。目前,Managed Provider不能在DB2 V7或以前版本上運行,除非在應用程序和基于主機的DB2系統(tǒng)之間運行著DB2 Connect V8。 上一頁1234下一頁 有趣的是,在使用存儲過程的參數(shù)時,DB2 V7和OleDb有一個非常聞名的bug。我們能夠從存儲過程中返回數(shù)據(jù),但在OleDb+DB2 V7平臺上,我們不能在應用程序與存儲過程之間傳遞參數(shù)。性能比較為了衡量提供者的性能和向讀者提供指導,我們將定義一個有效的測試腳本,并對各種提供者的關健性能進行測試。為了比較各種連接技術的性能,我們開發(fā)了一些簡單的Web網(wǎng)頁,一個網(wǎng)頁面向執(zhí)行完全相同功能的測試,這將使我們把握分析不同連接技術情況下輸出的控制數(shù)據(jù)。(圖pict03)假如嚴格地從性能的角度來看,我們發(fā)現(xiàn),Managed Provider在訪問DB2數(shù)據(jù)庫時的性能最高。在這一簡單的測試中,有二個重要的數(shù)字值得關注:每秒鐘的請求(RPS)能夠使我們感受到訪問的規(guī)模,OleDb和ODBC在這方面的表現(xiàn)基本相似,但Managed Provider的表現(xiàn)要好一些(大約高10%左右);收到最后一字節(jié)的時間(TTLB)是從終端用戶的角度看到的響應時間,在這一方面,Managed Provider的性能再次比OleDb和ODBC高出10%左右。最值得注重的是,盡管提供的功能不同,但OleDb和ODBC在有負荷的情況下的性能基本相同。IBM公司的Managed Provider的性能最好,而且提供了在訪問DB2 V8時最可靠的功能。但是,假如沒有DB2 Connect作中間體,它不支持DB2 V7以及更低的版本。結論對于應用軟件開發(fā)人員而言,使用DB2作后端與使用其它通過ADO或ADO.NET訪問的關系數(shù)據(jù)庫一樣簡單。ADO.NET為我們完成了所有抽象工作。在選擇DB2還是其它數(shù)據(jù)庫時,盡管存在架構方面的考慮,但作為開發(fā)人員,我們的工作應當是可猜測和可治理的。 上一頁1234
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产精品综合| 亚洲一区二区三区四区中文 | 亚洲视频在线观看三级| 免费永久网站黄欧美| 国产一区 二区 三区一级| 日日骚欧美日韩| 激情深爱一区二区| 综合激情成人伊人| 天堂精品中文字幕在线| 夜夜夜久久久| 亚洲欧美欧美一区二区三区| 亚洲性人人天天夜夜摸| 国产欧美日韩久久| 欧美激情第六页| 国产三级精品视频| 99re免费视频精品全部| 538prom精品视频线放| 1024国产精品| 中文字幕一区二| 欧美三级在线| 成a人片国产精品| 久久综合九色综合久久久精品综合| 激情五月激情综合网| 91精品久久久久久久91蜜桃| 国产成人夜色高潮福利影视| 日韩精品在线网站| 91在线观看高清| 久久婷婷一区二区三区| 欧美黄污视频| 日韩美女啊v在线免费观看| 亚洲性图久久| 综合久久一区二区三区| 亚洲一区二区三区欧美| 性做久久久久久久久| 久久久精彩视频| 日本aⅴ免费视频一区二区三区| 欧美三级韩国三级日本一级| 九九国产精品视频| 日韩精品在线看片z| 欧美精品不卡| 亚洲精品欧美激情| 日本精品一区二区三区四区的功能| 美女久久久精品| 日韩午夜在线观看| 99久久精品免费看| 国产精品久久国产精麻豆99网站| 亚洲激情女人| 日韩精品一级中文字幕精品视频免费观看 | 色综合久久久久综合体| 美女视频网站黄色亚洲| 精品区一区二区| 亚洲国产二区| 天天综合网 天天综合色| 欧美精品高清视频| 色综合中文字幕| 亚洲四区在线观看| 久久亚洲高清| 国产老肥熟一区二区三区| 精品成人一区二区三区| 红杏aⅴ成人免费视频| 亚洲一区在线观看视频| 欧美色欧美亚洲另类二区| www.99精品| 中文字幕在线一区| 老司机精品导航| 成人激情校园春色| 亚洲精品久久久蜜桃| 欧美视频日韩视频在线观看| 93久久精品日日躁夜夜躁欧美| 亚洲精品五月天| 欧美午夜精品免费| 欧美.www| 日韩激情一二三区| 日韩精品中午字幕| 亚洲精品护士| 国产麻豆视频精品| 国产精品成人免费| 欧美在线制服丝袜| 欧美成人有码| 蜜臀a∨国产成人精品| 2021中文字幕一区亚洲| 国产模特精品视频久久久久| 国产99久久久久久免费看农村| 国产精品无人区| 在线免费不卡视频| 国产精品swag| 精品制服美女丁香| |精品福利一区二区三区| 欧美日韩一区二区在线观看 | 在线观看av一区| 91麻豆国产精品久久| 日韩不卡手机在线v区| 国产人妖乱国产精品人妖| 亚洲中字在线| 成人av网站在线观看免费| 亚洲一区二区三区四区在线免费观看| 日韩欧美一区二区不卡| 免费日韩av| 欧美成人日韩| 极品瑜伽女神91| 亚洲精品视频观看| 久久综合999| 欧美色爱综合网| 99re国产精品| 国产精品一级黄| 亚洲一区二区三区小说| 欧美精品一区二区蜜臀亚洲| 久久青青草原一区二区| 欧美日韩精品| 精品写真视频在线观看| 亚洲免费大片在线观看| 日韩欧美一二区| 色综合久久久久| 在线不卡欧美| 国产精品夜夜嗨| 五月婷婷欧美视频| 中文成人av在线| 制服.丝袜.亚洲.中文.综合| 校园春色综合网| 欧美日韩妖精视频| 国产精品亚洲专一区二区三区 | 欧美精品激情| 国产成人综合网站| 午夜精品久久久久久久99樱桃| 中文字幕av一区 二区| 日韩一级大片在线观看| 老司机精品久久| 在线免费观看欧美| 国产福利精品导航| 日韩av一区二区在线影视| 亚洲美女免费在线| 国产精品免费丝袜| 2020国产精品自拍| 日韩一区二区在线免费观看| 在线观看网站黄不卡| 亚洲欧洲在线一区| 欧美特黄一区| 粗大黑人巨茎大战欧美成人| 麻豆传媒一区二区三区| 一区二区久久久久| 国产精品蜜臀在线观看| 久久综合一区二区| 日韩片之四级片| 欧美日韩在线三区| 玖玖玖国产精品| 在线亚洲精品| 欧美国产综合| 99re66热这里只有精品3直播| 国产成人免费视频网站| 美女网站色91| 日产国产欧美视频一区精品| 亚洲一级二级三级| 一片黄亚洲嫩模| 伊人一区二区三区| 亚洲猫色日本管| 一区二区三区在线免费| 中文字幕一区二区在线观看| 久久精品男人的天堂| 日韩欧美国产一区二区三区| 欧美日韩一二区| 欧美色图在线观看| 欧美亚洲禁片免费| 欧美在线免费播放| 欧美日韩一区不卡| 欧美福利视频导航| 欧美一区二区在线观看| 欧美日本高清视频在线观看| 日本福利一区二区| 欧美在线视频日韩| 欧美日韩一二三区| 欧美高清激情brazzers| 欧美日韩成人高清| 51精品国自产在线| 欧美日韩国产一区| 欧美精品乱码久久久久久| 欧美猛男gaygay网站| 777午夜精品视频在线播放| 欧美日韩国产电影| 在线播放亚洲一区| 日韩欧美中文一区二区| 精品国产免费视频| 国产午夜精品理论片a级大结局| 国产嫩草影院久久久久| 国产精品久99| 亚洲精品福利视频网站| 亚洲1区2区3区4区| 男男成人高潮片免费网站| 精品无人码麻豆乱码1区2区| 狠狠网亚洲精品| 国产成人精品免费看| 99精品1区2区| 国一区二区在线观看| 亚洲作爱视频| 性欧美长视频| 欧美一a一片一级一片| 91精品国产乱码久久蜜臀| 日韩一区二区不卡| 久久综合网色—综合色88| 中文字幕第一区| 悠悠色在线精品|