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>