1,在web服务器上安装Oracle数据库客户端,这是连接Oracle数据库的基础(但,不一定是必须的)。
2,在客户端的Net Manager 中进行配置服务的名称,配置如图(这一点非常的重要以后的链接全都在这个服务名称的基础上进行的)

3,ASP链接服务的链接字符串和方法如下:
<%
connstr= "Provider=MSDAORA.1;Password=***;User ID=***;Data Source=ipcheck;"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
%>
4,ASP.net(C#) 链接数据库 可以使用这篇文章介绍的方式
添加
<appSettings>
<addkey="SysDSN"value="DataSource=ServerName;UserID=userid;Password=password;Unicode=True"/>
</appSettings>
再者,就可以添加一个myclass文件夹,之后在其中建个类文件,默认命名空间是myClass
类文件名为conn.cs
由于VS.NET2005不默认支持oracle数据库,所以要添加其引用:在解决方案资源管理器里添加引用:System.Data.OracleClient(仔细找找噢~在.NET选项卡中)
内容(不断更新):
1
usingSystem;
2
usingSystem.Data;
3
usingSystem.Configuration;
4
usingSystem.Web;
5
usingSystem.Web.Security;
6
usingSystem.Web.UI;
7
usingSystem.Web.UI.WebControls;
8
usingSystem.Web.UI.WebControls.WebParts;
9
usingSystem.Web.UI.HtmlControls;
10
usingSystem.Data.OracleClient;
11
12
namespaceUser.Data
13

{
14
publicclassconn
15

{
16
17
构造函数#region构造函数
18
/**////<summary>
19
///构造函数(默认)
20
///</summary>
21
publicconn()
{}
22
23
/**////<summary>
24
///构造函数
25
///</summary>
26
///<paramname="connString">连接字符串(类型:string)</param>
27
///例子:"DataSource=ServerName;UserID=userid;Password=password;Unicode=True"
28
publicconn(stringconnString)
29

{
30
this.ConnectionString=connString;
31
}
32
33
#endregion
34
35
私有变量#region私有变量
36
37
/**////<summary>
38
///表示针对数据库执行的SQL语句或存储过程
39
///</summary>
40
privateSystem.Data.OracleClient.OracleCommandcmd;
41
42
/**////<summary>
43
///表示一个到数据库的打开的连接
44
///</summary>
45
privateSystem.Data.OracleClient.OracleConnectioncon;
46
47
/**////<summary>
48
///表示要在数据库中生成的事务
49
///</summary>
50
privateSystem.Data.OracleClient.OracleTransactiontran;
51
52
/**////<summary>
53
///表示用于填充System.Data.DataSet和更新数据库的一组数据命令和到数据库的连接。
54
///</summary>
55
privateSystem.Data.OracleClient.OracleDataAdapteradapter;
56
57
/**////<summary>
58
///提供从数据源读取数据行的只进流的方法
59
///</summary>
60
privateSystem.Data.OracleClient.OracleDataReaderreader;
61
62
/**////<summary>
63
///表示内存中数据的一个表
64
///</summary>
65
privateSystem.Data.DataTabledt;
66
67
/**////<summary>
68
///表示数据在内存中的缓存
69
///</summary>
70
privateSystem.Data.DataSetds;
71
/**////<summary>
72
///连接字符串
73
///</summary>
74
stringConnectionString="";
75
76
/**////<summary>
77
///返回与打开的数据库连接
78
///</summary>
79
privateSystem.Data.OracleClient.OracleConnectionopenedCon
80

{
81
get
82

{
83
this.openCon();//固定地打开数据库与之连接
84
returnthis.con;
85
}
86
//connectiongString是由固定的,存放在Web.config文件的AppSetting节点下,因此无需set访问器
87
}
88
#endregion
89
90
私有方法#region私有方法
91
/**////<summary>
92
///打开与数据库的连接
93
///</summary>
94
privatevoidopenCon()
95

{
96
try
97

{
98
if(this.con==null)
99

{
100
//使用using可以使该连接可以调用Dispose方法来释放资源
101
//using(this.con=newOracleConnection())
102
//{
103
this.con=newOracleConnection();
104
//设置数据库连接属性为web.config中的设置的值(默认)
105
//或者设置为构造函数中指定的connString的值
106
this.con.ConnectionString
107
=(this.ConnectionString=="")?System.Configuration.ConfigurationManager.AppSettings["SysDSN"]:this.ConnectionString;
108
this.con.Open();
109
//}
110
//System.Web.HttpContext.Current.Response.Write("数据库连接成功!");//Test
111
}
112
elseif(con.State==ConnectionState.Closed)
113

{
114
this.con.Open();
115
}
116
}
117
catch
118

{
119
System.Web.HttpContext.Current.Response.Write("数据库连接失败,请与管理员联系!");
120
System.Web.HttpContext.Current.Response.End();
121
}
122
}
123
124
/**////<summary>
125
///获取或设置将在其中执行System.Data.OracleClient.OracleCommand的
126
///System.Data.OracleClient.OracleTransaction。
127
///因为OracleConnection不支持并行事务。所以在添加事务前必须要检查是否为空!
128
///</summary>
129
privatevoidcheckTransaction()
130

{
131
if(this.tran!=null)
132

{
133
this.cmd.Transaction=this.tran;
134
}
135
}
136
137
/**////<summary>
138
///设置基本Command对象
139
///</summary>
140
///<paramname="sql"></param>
141
privatevoidCreateCmd(stringsql)
142

{
143
//方法1
144
this.cmd=newOracleCommand();
145
this.checkTransaction();
146
this.cmd.Connection=this.openedCon;
147
this.cmd.CommandText=sql;
148
149
//方法2
150
//this.checkTransaction();
151
//this.cmd=newOracleCommand(sql);
152
//this.cmd.Connection=this.openedCon;
153
154
//方法3
155
//this.checkTransaction();
156
//this.cmd=newOracleCommand(sql,this.openedCon);
157
158
//方法4
159
//this.cmd=newOracleCommand(sql,this.openedCon,this.tran);
160
161
//方法5(Oracle中只支持.NET2.0以上版本)
162
//this.cmd=this.openedCon.CreateCommand();
163
//this.checkTransaction();
164
//this.cmd.CommandText=sql;
165
}
166
167
#endregion
168
169
公共方法#region公共方法
170
171
/**////<summary>
172
///开始事务
173
///</summary>
174
publicvoidBeginTransaction()
175

{
176
this.tran=this.openedCon.BeginTransaction();
177
}
178
/**////<summary>
179
///提交事务
180
///</summary>
181
publicvoidCommit()
182

{
183
this.tran.Commit();
184
}
185
/**////<summary>
186
///回滚事务
187
///</summary>
188
publicvoidRollBack()
189

{
190
this.tran.Rollback();
191
}
192
193
/**////<summary>
194
///关闭与数据库的连接
195
///</summary>
196
publicvoidCloseCon()
197

{
198
if(this.openedCon!=null&&this.openedCon.State==ConnectionState.Open)
199

{
200
this.openedCon.Close();
201
}
202
}
203
204
/**////<summary>
205
///执行SQL语句
206
///</summary>
207
///<paramname="sql">SQL语句</param>
208
///<returns>受影响的行数</returns>
209
publicintDoSelectSql(stringsql)
210

{
211
this.CreateCmd(sql);
212
returnthis.cmd.ExecuteNonQuery();
213
}
214
215
/**////<summary>
216
///获得OracleDataReader对象
217
///</summary>
218
///<paramname="sql">SQL语句</param>
219
///<returns>OracleDataReader对象</returns>
220
publicSystem.Data.OracleClient.OracleDataReaderGetReader(stringsql)
221

{
222
this.CreateCmd(sql);
223
this.reader=this.cmd.ExecuteReader();
224
returnthis.reader;
225
}
226
227
/**////<summary>
228
///获得DataTable
229
///</summary>
230
///<paramname="sql">SQL语句</param>
231
///<returns>DataTable对象</returns>
232
publicSystem.Data.DataTableGetDataTable(stringsql)
233

{
234
this.adapter=newOracleDataAdapter();
235
this.dt=newDataTable();
236
this.CreateCmd(sql);
237
this.adapter.SelectCommand=this.cmd;
238
this.adapter.Fill(this.dt);
239
returnthis.dt;
240
}
241
242
/**////<summary>
243
///获得DataSet(通过sql语句)
244
///</summary>
245
///<paramname="sql">SQL语句</param>
246
///<returns>DataSet对象</returns>
247
publicSystem.Data.DataSetGetDataSet(stringsql)
248

{
249
this.adapter=newOracleDataAdapter();
250
this.ds=newDataSet();
251
this.CreateCmd(sql);
252
this.adapter.SelectCommand=this.cmd;
253
this.adapter.Fill(this.ds);
254
returnthis.ds;
255
}
256
257
/**////<summary>
258
///获得DataSet(通过sql语句、表名)
259
///</summary>
260
///<paramname="sql">SQL语句</param>
261
///<paramname="srcTableName">用于表映射的源表的名称</param>
262
///<returns>DataSet对象</returns>
263
publicSystem.Data.DataSetGetDataSet(stringsql,stringsrcTableName)
264

{
265
if(this.ds==null)
266

{
267
this.ds=newDataSet();
268
}
269
this.adapter=newOracleDataAdapter();
270
this.CreateCmd(sql);
271
this.adapter.SelectCommand=this.cmd;
272
this.adapter.Fill(ds,srcTableName);
273
returnthis.ds;
274
}
275
276
/**////<summary>
277
///获得DataSet(通过sql语句、表名、已存在的DataSet)
278
///</summary>
279
///<paramname="sql">SQL语句</param>
280
///<paramname="srcTableName">用于表映射的源表的名称</param>
281
///<paramname="DataSet">已存在的DataSet对象</param>
282
///<returns>DataSet对象</returns>
283
publicSystem.Data.DataSetGetDataSet(stringsql,stringsrcTableName,DataSetDataSet)
284

{
285
this.ds=DataSet;
286
returnGetDataSet(sql,srcTableName);
287
}
288
289
290
#endregion
291
}
292
}
293
最后就是调用它们了,不过这个不是本文的重点,就随便显示显示就OK了。
随便拉两个GridView控件,在它们的Page_Load事件中添加代码:(注意红色部分要和实际相符)
protectedvoidPage_Load(objectsender,EventArgse)


{
User.Data.connmyConn=newconn();
stringsql="selectt.cnt_id,t.cnt_titlefromdat_contenttwherecnt_id=275";
System.Data.DataTabledt=myConn.GetDataTable(sql);
GridView1.DataSource=dt;
GridView1.DataBind();

sql="selectt.cnt_id,t.cnt_titlefromdat_contenttwherecnt_id=282";
System.Data.DataSetds=myConn.GetDataSet(sql);
GridView2.DataSource=ds;
GridView2.DataBind();

myConn.CloseCon();

}
在页面cs文件中添加引用(如果你在默认页搞测试的话,那么就是Default.aspx.cs):
usingUser.Data;
基本上就OK了,Ctrl+F5就OK了。记得把两条sql语句改改~~~~`还有web.config中的连接名和连接密码要和实际的相符,否则不是连不上就是查不到东东噢~~~