电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

瀏覽:2日期:2023-11-10 13:17:03
簡介在.NET應用軟件開發人員看來,使用DB2與使用其它任何其它關系數據庫沒有區別。人們可以看到無數使用SQL Server以及甲骨文公司產品執行數據庫任務的例子,但關于使用包括.NET在內的微軟公司技術訪問DB2數據庫的文檔就遠沒有那么多了。目前,開發人員可以使用不同的訪問技術通過編程的方式將.NET客戶端連接到DB2上,這些代碼從根本上來說是基本相同的,但仍然存在一些我們需要考慮的有趣的限制。DB2架構慨覽DB2數據庫引擎的基本元素是數據庫對象、系統目錄、目錄和配置文件,所有的數據存取都通過SQL界面進行。我們可以只將DB2 Univeral Database(UDB)作為數據庫服務器運行,這不要求使用其它的產品,但對于遠程的客戶端而言,我們還需要其它一些產品。用.Net開發DB2數據庫應用程序(1)(圖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驅動程序配合使用。3、使用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=SAMPLEODBC連接字符串:DSN=DB2V8;UID=db2admin;PWD=db2adminBM Managed Provider連接字符串:Database=SAMPLE;User ID=db2admin;Password=db2admin;Server=IREK代碼級訪問的比較在開發DB2數據訪問代碼時,大多數的操作在很大程度上與訪問其它數據庫相同。下面我們對連接技術的一些代碼進行比較:在下面的每個代碼片斷中,我們將展示一些數據庫訪問和數據治理的技巧,請讀者注重每種技術的哪些步驟相同。我們首先創建連接對象,再創建一個命令對象。在這個簡單的例子中,我們只訪問這一特定數據庫表中指定行、列中的一個標量值。最后,我們執行該命令的ExecuteScalar()方法,返回該整數。使用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());功能的比較根據選擇的訪問技術和使用的數據庫版本,我們可以使用不同的功能。另外,根據需要完成的工作,我們還需要選擇連接策略。為了使讀者能夠更好的選擇連接技術,我整理出了一個能夠在決策中使用的路線圖。在路線圖中,我找出了一些對于大多數以數據庫為中心的軟件開發項目中通用的功能。在下面的圖表中,我對自己的心得進行了整理。我根據是否答應完成特定的數據庫任務對三種訪問技術中的每一種都進行了評估,評估的數據庫任務有:•Pass-thru SQL━━這一提供者是否支持通過動態開發的SQL語句形成的傳遞?•簡單的存儲過程━━這一提供者支持包括返回結果在內的調用基本的存儲過程嗎?•In、Out、InOut參數━━這一提供者支持調用存儲過程和利用參數傳遞變量數據嗎?•日期和貨幣━━這一提供者支持由特定廠商提供、可能造成問題的數據類型嗎?•LOBs━━這一提供者支持大對象數據類型的處理嗎?(圖pict02)根據使用的連接技術,我們能夠完成不同類型的任務,因為每種提供者都有自己可以完成的工作。有一些問題是我們值得注重的。例如,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網頁,一個網頁面向執行完全相同功能的測試,這將使我們把握分析不同連接技術情況下輸出的控制數據。(圖pict03)假如嚴格地從性能的角度來看,我們發現,Managed Provider在訪問DB2數據庫時的性能最高。在這一簡單的測試中,有二個重要的數字值得關注:每秒鐘的請求(RPS)能夠使我們感受到訪問的規模,OleDb和ODBC在這方面的表現基本相似,但Managed Provider的表現要好一些(大約高10%左右);收到最后一字節的時間(TTLB)是從終端用戶的角度看到的響應時間,在這一方面,Managed Provider的性能再次比OleDb和ODBC高出10%左右。最值得注重的是,盡管提供的功能不同,但OleDb和ODBC在有負荷的情況下的性能基本相同。IBM公司的Managed Provider的性能最好,而且提供了在訪問DB2 V8時最可靠的功能。但是,假如沒有DB2 Connect作中間體,它不支持DB2 V7以及更低的版本。結論對于應用軟件開發人員而言,使用DB2作后端與使用其它通過ADO或ADO.NET訪問的關系數據庫一樣簡單。ADO.NET為我們完成了所有抽象工作。在選擇DB2還是其它數據庫時,盡管存在架構方面的考慮,但作為開發人員,我們的工作應當是可猜測和可治理的。 上一頁1234
標簽: DB2 數據庫
主站蜘蛛池模板: 手板-手板模型-手板厂-手板加工-生产厂家,[东莞创域模型] | 东莞ERP软件_广州云ERP_中山ERP_台湾工厂erp系统-广东顺景软件科技有限公司 | 数控专用机床,专用机床,自动线,组合机床,动力头,自动化加工生产线,江苏海鑫机床有限公司 | 医用空气消毒机-医用管路消毒机-工作服消毒柜-成都三康王 | 北京西风东韵品牌与包装设计公司,创造视觉销售力! | 杭州月嫂技术培训服务公司-催乳师培训中心报名费用-产后康复师培训机构-杭州优贝姆健康管理有限公司 | 播音主持培训-中影人教育播音主持学苑「官网」-中国艺考界的贵族学校 | 优秀的临床医学知识库,临床知识库,医疗知识库,满足电子病历四级要求,免费试用 | 免费个人pos机申请办理-移动pos机刷卡-聚合收款码办理 | PVC快速门-硬质快速门-洁净室快速门品牌厂家-苏州西朗门业 | 艺术漆十大品牌_艺术涂料加盟代理_蒙太奇艺术涂料厂家品牌|艺术漆|微水泥|硅藻泥|乳胶漆 | PE拉伸缠绕膜,拉伸缠绕膜厂家,纳米缠绕膜-山东凯祥包装 | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-北京罗伦过滤技术集团有限公司 | 行吊_电动单梁起重机_双梁起重机_合肥起重机_厂家_合肥市神雕起重机械有限公司 | 鹤壁创新仪器公司-全自动量热仪,定硫仪,煤炭测硫仪,灰熔点测定仪,快速自动测氢仪,工业分析仪,煤质化验仪器 | 开业庆典_舞龙舞狮_乔迁奠基仪式_开工仪式-神挚龙狮鼓乐文化传媒 | DDoS安全防护官网-领先的DDoS安全防护服务商 | 环球电气之家-中国专业电气电子产品行业服务网站! | 不锈钢闸阀_球阀_蝶阀_止回阀_调节阀_截止阀-可拉伐阀门(上海)有限公司 | 流变仪-热分析联用仪-热膨胀仪厂家-耐驰科学仪器商贸 | 电梯乘运质量测试仪_电梯安全评估测试仪-武汉懿之刻 | YAGEO国巨电容|贴片电阻|电容价格|三星代理商-深圳市巨优电子有限公司 | 粉末包装机-给袋式包装机-全自动包装机-颗粒-液体-食品-酱腌菜包装机生产线【润立机械】 | 汽车整车综合环境舱_军标砂尘_盐雾试验室试验箱-无锡苏南试验设备有限公司 | 广州云仓代发-昊哥云仓专业电商仓储托管外包代发货服务 | 琉璃瓦-琉璃瓦厂家-安徽盛阳新型建材科技有限公司 | 佛山市钱丰金属不锈钢蜂窝板定制厂家|不锈钢装饰线条|不锈钢屏风| 电梯装饰板|不锈钢蜂窝板不锈钢工艺板材厂家佛山市钱丰金属制品有限公司 | 中央空调温控器_风机盘管温控器_智能_液晶_三速开关面板-中央空调温控器厂家 | 1000帧高速摄像机|工业高速相机厂家|科天健光电技术 | 100国际学校招生 - 专业国际学校择校升学规划 | 微波萃取合成仪-电热消解器价格-北京安合美诚科学仪器有限公司 | 蒸压釜_蒸养釜_蒸压釜厂家-山东鑫泰鑫智能装备有限公司 | 阿里巴巴诚信通温州、台州、宁波、嘉兴授权渠道商-浙江联欣科技提供阿里会员办理 | 信阳网站建设专家-信阳时代网联-【信阳网站建设百度推广优质服务提供商】信阳网站建设|信阳网络公司|信阳网络营销推广 | 淘剧影院_海量最新电视剧,免费高清电影随心观看 | 北京网络营销推广_百度SEO搜索引擎优化公司_网站排名优化_谷歌SEO - 北京卓立海创信息技术有限公司 | MVR蒸发器厂家-多效蒸发器-工业废水蒸发器厂家-康景辉集团官网 | 臭氧老化试验箱,高低温试验箱,恒温恒湿试验箱,防水试验设备-苏州亚诺天下仪器有限公司 | 储能预警-储能消防系统-电池舱自动灭火装置-四川千页科技股份有限公司官网 | 无线讲解器-导游讲解器-自助讲解器-分区讲解系统 品牌生产厂家[鹰米讲解-合肥市徽马信息科技有限公司] | 酒水灌装机-白酒灌装机-酒精果酒酱油醋灌装设备_青州惠联灌装机械 |