在ASP.NET(C#)中使用Oralce Object For OLE 2.3连接Oracle 8.0.5数据库!

asp.net|object|oracle|数据|数据库

 
1、先在WEB应用程序项目中添加引用:Interop.OracleInProcServer

2、Web.config的配置:

<configuration>
  <appSettings>
 
 <!--数据库连接信息配置-->
 <add key="Data Source" value="DB" />
 <add key="User ID" value="USER" />
 <add key="Password" value="000000" />
 <add key="Max Pool Size" value="100" />
 <add key="Min Pool Size" value="0" />
 <add key="Pooling" value="true" />
 
  </appSettings>

……

3、Global.asax中创建OracleSession对象,代码如下:

using System;
using System.Collections;
using System.ComponentModel;
using System.Web;
using System.Web.SessionState;

namespace SparePart
{
 /// <summary>
 /// Global 的摘要说明。
 /// </summary>
 public class Global : System.Web.HttpApplication
 {
  /// <summary>
  /// 必需的设计器变量。
  /// </summary>
  private System.ComponentModel.IContainer components = null;
  static public OracleInProcServer._OraSessionClassClass OraSession;
  static public OracleInProcServer.OraDatabase OraDataBase;

  public Global()
  {
   InitializeComponent();
  } 
  
  protected void Application_Start(Object sender, EventArgs e)
  {
   OraSession=new OracleInProcServer._OraSessionClassClass();
   OraSession.CreateDatabasePool(Convert.ToInt32(System.Configuration.ConfigurationSettings.AppSettings["Min Pool Size"]),Convert.ToInt32(System.Configuration.ConfigurationSettings.AppSettings["Max Pool Size"]),30,System.Configuration.ConfigurationSettings.AppSettings["Data Source"],System.Configuration.ConfigurationSettings.AppSettings["User ID"]+"/"+System.Configuration.ConfigurationSettings.AppSettings["Password"],0);

  }
 
  protected void Session_Start(Object sender, EventArgs e)
  {
   Session["OraDatabase"] =(OracleInProcServer.OraDatabase)OraSession.get_GetDatabaseFromPool(30);
  }

  protected void Application_BeginRequest(Object sender, EventArgs e)
  {

  }

  protected void Application_EndRequest(Object sender, EventArgs e)
  {

  }

  protected void Application_AuthenticateRequest(Object sender, EventArgs e)
  {

  }

  protected void Application_Error(Object sender, EventArgs e)
  {
   
  }

  protected void Session_End(Object sender, EventArgs e)
  {
   OracleInProcServer.OraDatabase OraDatabase=(OracleInProcServer.OraDatabase)Session["OraDatabase"];
   OraDatabase.Close();

   Session["OraDatabase"]=null;
  }

  protected void Application_End(Object sender, EventArgs e)
  {
   
  }
   
  #region Web 窗体设计器生成的代码
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {   
   this.components = new System.ComponentModel.Container();
  }
  #endregion
 }
}

4、简单应用(default.aspx):

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace SparePart
{
 /// <summary>
 /// WebForm1 的摘要说明。
 /// </summary>
 public class Default : System.Web.UI.Page
 {
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   OracleInProcServer.OraDatabase OraDatabase=(OracleInProcServer.OraDatabase)Session["OraDatabase"];
   OracleInProcServer.OraDynaset OraRs;
   OracleInProcServer.OraFields OraFs;
   OracleInProcServer.OraField OraF;

   OraRs=(OracleInProcServer.OraDynaset)OraDatabase.get_CreateDynaset("select * from test",0);
   OraDatabase.ExecuteSQL("insert into test(username,password) values ('你们','密码')");
   Response.Write("<table border=1>");
   while (!OraRs.EOF)
      {
     OraFs=(OracleInProcServer.OraFields)OraRs.Fields;
     OraF=(OracleInProcServer.OraField)OraFs["username"];

     Response.Write("<tr><td>姓名</td><td>");
     Response.Write(OraF.Value);

     Response.Write("</td><td>密码</td><td>");
     OraF=(OracleInProcServer.OraField)OraFs["password"];

     Response.Write(OraF.Value);
     Response.Write("</td></tr>");
     OraRs.MoveNext();
      }
   Response.Write("</table>");
   OraRs.Close();
   
  }

  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {   
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion
 }
}

时间: 2024-10-02 18:27:33

在ASP.NET(C#)中使用Oralce Object For OLE 2.3连接Oracle 8.0.5数据库!的相关文章

在ASP.NET(C#)中使用Oralce Object For OLE 2.3连接Oracle 8

  1.先在WEB应用程序项目中添加引用:Interop.OracleInProcServer2.Web.config的配置:<configuration>  <appSettings>  <!--数据库连接信息配置--> <add key="Data Source" value="DB" /> <add key="User ID" value="USER" /> &

在ASP中利用Oracle Object for OLE访问Oracle 8

object|oracle|访问 ASP(Active Server Pages)是微软公司为开发互联网络应用程序所提出的工具之一,它是一种类似HTML(Hypertext Markup Language超文本标记语言).Script与CGI(Common Gateway Interface通用网关接口)的结合体,但是其运行效率却比CGI更高.程序编制也比HTML更方便且更有灵活性,程序安全性及保密性远比Script好.因此ASP是目前网页开发技术中最容易学习.灵活性最大的开发工具. ASP内置

艾伟_转载:VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇

本系列文章导航 VS 2010 和 .NET 4.0 系列之<ASP.NET 4 中的SEO改进 >篇 VS 2010 和 .NET 4.0 系列之<干净的Web.Config文件 >篇 VS 2010 和 .NET 4.0 系列之<起始项目模板>篇 VS 2010 和 .NET 4.0 系列之<多定向支持>篇 VS 2010 和 .NET 4.0 系列之<多显示器支持>篇 VS 2010 和 .NET 4.0 系列之<代码优化的Web开发

VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇

本系列文章导航 VS 2010 和 .NET 4.0 系列之<ASP.NET 4 中的SEO改进 >篇 VS 2010 和 .NET 4.0 系列之<干净的Web.Config文件 >篇 VS 2010 和 .NET 4.0 系列之<起始项目模板>篇 VS 2010 和 .NET 4.0 系列之<多定向支持>篇 VS 2010 和 .NET 4.0 系列之<多显示器支持>篇 VS 2010 和 .NET 4.0 系列之<代码优化的Web开发

ASP.NET页面中去除VIEWSTATE视图状态乱码

首先声明下这篇文章:本文章的发表于2014-10-11日,原作者和版权所有:KoalaAPI(还是本人啦),原链接:http://www.cnblogs.com/KoalaAPI/p/4018727.html(曾被删除!) 保存页的所有视图状态信息和控件状态信息. 作者在早期参与的项目中曾遇到这样的需求:基于SEO技术的开发,当因为时没有接触的MVC框架的 Razor 引擎,所以只能用ASP.NET引擎,如果使用ASP.NET引擎的服务器端控件,那么在ASP.NET页面中就会生成 __Views

在ASP.NET页面中推荐使用覆写而不是事件处理

asp.net|页面 English Version: http://dflying.dflying.net/1/archive/101_prefer_overrides_to_event_handlers_in_aspnet_page.html 这个是我们熟悉的Page_Load()方法.实际上它是一个Event Handler,当定义在System.Web.UI.Page中的Load事件触发时,它开始执行. // use event handlerprotected void Page_Lo

asp.net forums中定时器的应用

asp.net|定时 在Asp.Net中使用定时器,破宝之前已有Blog写过<在 ASP.NET 中使用计时器(Timer)>,这里主要针对Asp.Net Forums来说一下其具体实现. 在Asp.Net Forums中,对定时器有如下应用:1. 更新论坛统计信息2. 定时索引指定条数的帖子3. 定时群发队列中的邮件 Forums中对定时器的调用是放在自定义HttpModule的Init方法中(如果您没有使用HttpModule,也可以在Globals.aspx中的Application_O

在ASP.NET程序中存储和调用word文件

asp.net|word|程序 本文通过一个实例概要讲解如何在ASP.NET程序中配合SQL Server2000进行word文件的存储和调用过程(没有使用VBA ). (1) 建立数据库 首先,我们在数据库中建立一个表,表中有三个字段,fileName(varchar,50),postTime(datetime,8), fileContent(image,16),分别存储文件名称,上传时间和word文件的具体内容,其中fileName为主键.具体的SQL脚本如下: CREATE TABLE [

ASP.NET程序中常用编程代码(一)

asp.net|编程|程序 1.为按钮添加确认对话框 Button1.Attributes.Add("onclick","return confirm('确认?')");button.attributes.add("onclick","if(confirm('are you sure...?')){return true;}else{return false;}") 2.删除表格选定记录 //获得DataGrid主键int i