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

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

2、Web.config的配置:

  1<configuration>
  2<appsettings>
  3<!--数据库连接信息配置-->
  4<add key="Data Source" value="DB"></add>
  5<add key="User ID" value="USER"></add>
  6<add key="Password" value="000000"></add>
  7<add key="Max Pool Size" value="100"></add>
  8<add key="Min Pool Size" value="0"></add>
  9<add key="Pooling" value="true"></add>
 10</appsettings>
 11
 12…… 
 13
 143、Global.asax中创建OracleSession对象,代码如下: 
 15
 16using System;   
 17using System.Collections;   
 18using System.ComponentModel;   
 19using System.Web;   
 20using System.Web.SessionState; 
 21
 22namespace SparePart   
 23{   
 24/// <summary>   
 25/// Global 的摘要说明。   
 26/// </summary>   
 27public class Global : System.Web.HttpApplication   
 28{   
 29/// <summary>   
 30/// 必需的设计器变量。   
 31/// </summary>   
 32private System.ComponentModel.IContainer components = null;   
 33static public OracleInProcServer._OraSessionClassClass OraSession;   
 34static public OracleInProcServer.OraDatabase OraDataBase;   
 35
 36
 37public Global()   
 38{   
 39InitializeComponent();   
 40}   
 41  
 42protected void Application_Start(Object sender, EventArgs e)   
 43{   
 44OraSession=new OracleInProcServer._OraSessionClassClass();   
 45OraSession.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); 
 46
 47}   
 48  
 49protected void Session_Start(Object sender, EventArgs e)   
 50{   
 51Session["OraDatabase"] =(OracleInProcServer.OraDatabase)OraSession.get_GetDatabaseFromPool(30);   
 52} 
 53
 54protected void Application_BeginRequest(Object sender, EventArgs e)   
 55{ 
 56
 57} 
 58
 59protected void Application_EndRequest(Object sender, EventArgs e)   
 60{ 
 61
 62} 
 63
 64protected void Application_AuthenticateRequest(Object sender, EventArgs e)   
 65{ 
 66
 67} 
 68
 69protected void Application_Error(Object sender, EventArgs e)   
 70{   
 71  
 72} 
 73
 74protected void Session_End(Object sender, EventArgs e)   
 75{   
 76OracleInProcServer.OraDatabase OraDatabase=(OracleInProcServer.OraDatabase)Session["OraDatabase"];   
 77OraDatabase.Close(); 
 78
 79Session["OraDatabase"]=null;   
 80} 
 81
 82protected void Application_End(Object sender, EventArgs e)   
 83{   
 84  
 85}   
 86  
 87#region Web 窗体设计器生成的代码   
 88/// <summary>   
 89/// 设计器支持所需的方法 - 不要使用代码编辑器修改   
 90/// 此方法的内容。   
 91/// </summary>   
 92private void InitializeComponent()   
 93{   
 94this.components = new System.ComponentModel.Container();   
 95}   
 96#endregion   
 97}   
 98} 
 99
1004、简单应用(default.aspx): 
101
102using System;   
103using System.Collections;   
104using System.ComponentModel;   
105using System.Data;   
106using System.Drawing;   
107using System.Web;   
108using System.Web.SessionState;   
109using System.Web.UI;   
110using System.Web.UI.WebControls;   
111using System.Web.UI.HtmlControls; 
112
113namespace SparePart   
114{   
115/// <summary>   
116/// WebForm1 的摘要说明。   
117/// </summary>   
118public class Default : System.Web.UI.Page   
119{   
120private void Page_Load(object sender, System.EventArgs e)   
121{   
122// 在此处放置用户代码以初始化页面   
123OracleInProcServer.OraDatabase OraDatabase=(OracleInProcServer.OraDatabase)Session["OraDatabase"];   
124OracleInProcServer.OraDynaset OraRs;   
125OracleInProcServer.OraFields OraFs;   
126OracleInProcServer.OraField OraF; 
127
128OraRs=(OracleInProcServer.OraDynaset)OraDatabase.get_CreateDynaset("select * from test",0);   
129OraDatabase.ExecuteSQL("insert into test(username,password) values ('你们','密码')");   
130Response.Write("<table border="1">");   
131while (!OraRs.EOF)   
132{   
133OraFs=(OracleInProcServer.OraFields)OraRs.Fields;   
134OraF=(OracleInProcServer.OraField)OraFs["username"]; 
135
136Response.Write("<tr><td>姓名</td><td>");   
137Response.Write(OraF.Value); 
138
139Response.Write("</td><td>密码</td><td>");   
140OraF=(OracleInProcServer.OraField)OraFs["password"]; 
141
142Response.Write(OraF.Value);   
143Response.Write("</td></tr>");   
144OraRs.MoveNext();   
145}   
146Response.Write("</table>");   
147OraRs.Close();   
148  
149} 
150
151#region Web 窗体设计器生成的代码   
152override protected void OnInit(EventArgs e)   
153{   
154//   
155// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。   
156//   
157InitializeComponent();   
158base.OnInit(e);   
159}   
160  
161/// <summary>   
162/// 设计器支持所需的方法 - 不要使用代码编辑器修改   
163/// 此方法的内容。   
164/// </summary>   
165private void InitializeComponent()   
166{   
167this.Load += new System.EventHandler(this.Page_Load); 
168
169}   
170#endregion   
171}   
172}</configuration>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus