动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP.NET技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ ASP.NET技巧 ]的信息



本月文章推荐
.灵活正确的实现.NET插件机制.
.一个通用的分页类.
.DataGrid同时具有分页和排序功能.
.ASP.Net2.0 WebPart趣味网页设计.
.创建ASP.NET程序时候发生错误"HT.
.为datagrid的自带分页添加首页、.
.在Asp.net用C#建立动态Excel(外文.
.利用WWF进行ASP.NET程序开发 .
.ASP.NET 2.0 Treeview Checkboxe.
.从数据库导出数据到word、excel、.
.ASP.NET中文件上传下载方法集合.
.XML 自定义串行化.
.怎样从ASP.NET 2.0中读取连接字符.
.DNGuard 一款DotNet内核级加密保.
.通过ASP.net程序创建域帐户故障.
.为Serv-U提供在线修改密码功能 .
.用JavaScript打造搜索工具栏.
.asp.net错误处理封装.
..Net 2.0 原汁原味读取注册表.
.ASP.NET WEB页面多语言支持解决方.

ASP.NET访问Oracle数据库的方法

发表日期:2004-3-7 |


引言

Microsoft .NET Framework Data Provider for Oracle(以下简称为.NET for Oracle)是一个.NET Framework的组件。这个组件为我们使用.NET访问Oracle数据库提供了极大的方便。那些使用.NET和Oracle的开发人员,相信会乐的手舞足蹈,因为他们再也不必使用那个并不十分“专业="的OLEDB来访问Oracle数据库了。这个组件的设计非常类似.NET中内置的Microsoft .NET Framework Data Provider for SQL Server和OLEDB。如果读者非常熟悉这两个内置的组件,那么相信您学习这个组件也是轻车熟路的。

本文针对的读者主要是那些考虑使用.NET技术访问Oracle数据库的程序员而编写,需要有一定的C#语言、ADO.NET技术和Oracle数据库基础知识。文中结合ASP.NET技术给出了相关示例以及具体的注释。当然,这并不意味着.NET for Oracle组件只能为编写ASP.NET程序提供服务,同样它还可以为使用.NET技术编写的Windows程序提供方便。

本文将简要介绍ASP.NET for Oracle的系统需求和安装以及核心类,之后重点详解使用此组件访问Oracle数据库的方法。其中包括.NET for Oracle对于各种Oracle数据库中的特殊数据类型的访问、各种核心类使用方法的介绍并且在文章的最后给出了示例等等。


--------------------------------------------------------------------------------

系统需求和安装

在安装.NET for Oracle之前,必须首先安装.NET Framework version 1.0。同时,还要确定安装了数据访问组件(MDAC 2.6及其以上版本,推荐版本是2.7)。既然是要访问Oracle数据库的数据,那么还需要安装Oracle 8i Release 3 (8.1.7) Client及其以上版本。目前Oracle9i已经发布,作者本人安装的是Oracle 9i,本文中所有的程序,都是在Oracle9i数据库环境下编写和调试完成的。

组件的安装非常方便,直接运行oracle_net.msi。在安装过程中无需任何设置,一路点击“NEXT="完成安装即可。默认安装将在C:\Program Files\ Microsoft.NET目录下建立一个名为OracleClient.Net的文件夹,其中包含以下六个文件,具体的注释如下表:

 

注意:Mtxoci8.dll文件并未安装在默认文件夹中,而是安装在系统目录中,例如:c:\Windows\System32目录中。

对于开发人员,其中至关重要的是System.Data.OracleClient.dll文件。这是.NET for Oracle组件的核心文件。使用时,开发人员可以通过安装oracle_net.msi来使用.NET for Oracle组件,这时系统会将此组件作为一个系统默认的组件来使用,就好像是我们所熟悉的System.Data.SqlClient和System.Data.OleDb组件一样。但是,需要注意的一点是:当开发人员完成了程序之后分发给用户使用时,出于对于软件易用性的考虑,我们是不希望当用户使用此软件之前,还要如同开发人员一样安装oracle_net.msi。这时开发人员可以在发布之前,将System.Data.OracleClient.dll文件复制到软件的bin目录下。这样用户就可无需安装oracle_net.msi而正常的使用软件所提供的功能了。(这种方法限于开发的程序不涉及分布式事务)


--------------------------------------------------------------------------------

核心类介绍

.NET for Oracle组件中用于组织类和其他类型的名字空间是System.Data.OracleClient。在此名字空间中,主要包含四个核心类,它们分别是:OracleConnection、OracleCommand、OracleDataReader、OracleDataAdapter。如果开发人员很了解ADO.NET技术,那么对于这四个类的使用将是耳熟能详的。这些内容非常简单,其具体使用方法几乎和SqlConnection、SqlCommand、SqlDataReader、SqlDataAdapter是一模一样的。这里就不再详细说明,读者将在后文中通过示例了解使用这些类的有关情况,这里只给出下表以供读者简要了解。

 

--------------------------------------------------------------------------------

举例说明

下面是一个使用.NET for Oracle组件操纵Oracle数据库的例子。在写程序之前,先要在Oracle数据库中建立一个表,并且加入一行数据。使用下面的语句。

建立一个名为OracleTypesTable的表
"create table OracleTypesTable (MyVarchar2 varchar2(3000),MyNumber number(28,4)
Primary key ,MyDate date,MyRaw RAW(255))";
插入一行数据
"insert into OracleTypesTable values ('test',4,to_date('2000-01-11
12:54:01','yyyy-mm-dd hh24:mi:ss'),'0001020304')";
下面的程序就是要通过.NET for Oracle组件来访问Oracle数据库,并且显示出这行数据。在程序中请注意前文中所说明的类,并且联想.NET中关于数据处理类的使用方法。

1. using System;
2.using System.Web;
3.using System.Web.UI;
4.using System.Web.UI.HtmlControls;
5.using System.Web.UI.WebControls;
6.using System.Data;
7.using System.Data.OracleClient;

8.public class pic2:Page {
9. public Label message;
10. public void Page_Load(Object sender,EventArgs e)
11. {
//设置连接字符串
12. string connstring="Data Source=eims;user=zbmis;password=zbmis;";
//实例化OracleConnection对象
13. OracleConnection conn=new OracleConnection(connstring);

14. try
15. {
16. conn.Open();
//实例化OracleCommand对象
17. OracleCommand cmd=conn.CreateCommand();

18. cmd.CommandText="select * from zbmis.OracleTypesTable";
19. OracleDataReader oracledatareader1=cmd.ExecuteReader();
//读取数据
20. while (oracledatareader1.Read()) {
//读取并显示第一行第一列的数据
21. OracleString oraclestring1=oracledatareader1.GetOracleString(0);
22. Response.Write("OracleString " +oraclestring1.ToString());

//读取并显示第一行第二列的数据
23. OracleNumber oraclenumber1 =oracledatareader1.GetOracleNumber(1);
24. Response.Write("OracleNumber "+oraclenumber1.ToString());

//读取并显示第一行第三列的数据
25. OracleDateTime oracledatetime1=oracledatareader1.GetOracleDateTime(2);
26. Response.Write("OracleDateTime " +oracledatetime1.ToString());

//读取并显示第一行第四列的数据
27. OracleBinary oraclebinary1=oracledatareader1.GetOracleBinary(3);
28. if(oraclebinary1.IsNull==false)
29. {
30. foreach(byte b in oraclebinary1.Value)
31. {
32. Response.Write("byte " +b.ToString());
33. }
34. }
35. }
//释放资源
36. oracledatareader1.Close();
37. }
38. catch(Exception ee)
39. {
//异常处理
40. message.Text=ee.Message;
41. }
42. finally
43. {
//关闭连接
44. conn.Close();
45. }
46. }
47.}
如果您对于.NET中数据操作的内容很熟悉,那么相信上面的程序是完全看得懂的。所以在这里分析上面代码意义不是很大。

请那些既使用.NET又使用Oracle的读者记住:.NET for Oracle组件的设计非常类似.NET中内置的Data Provider for SQL Server和OLEDB。

上一篇:有关TextBox中输入字符控制的一种解决办法 人气:13901
下一篇:关于ASP.NET在IIS一些问题的经验总结 人气:26175
浏览全部Oracle的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-23 Menalto Gallery v2.3 Rc1 多国语
2008-7-23 深度学习网址导航系统 v2.6.1
2008-7-23 因特达crm2008客户关系管理系统
2008-7-23 60度 CMS v1.0 Build 080723
2008-7-23 幻影动漫网视频系统(Ppdong) v1.
2008-7-23 好易祝福墙 2008
2008-7-23 APJE私服发布系统 v2.0 PHP版
2008-7-23 毕业论文在线指导系统源码
2008-7-23 Jacky法律在线网站源码
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵