下面的五个例子主要演示如何使用 OracleConnection 和 OracleCommand 对象,直接把代码放在页面的 Page_Load 事件里。本文在中的例子使用 Oracle 的 scott 用户的表。
- 演示如何连接 Oracle 数据库
- 演示如何用 OracleConnectionStringBuilder 构造数据库连接字符串
- 演示如何判读数据库状态
演示如何连接 Oracle 数据库
//string connstr = "data source=ora11; user id=scott; password=tiger; unicode=true";
//string connstr = "server=ora11; uid=scott; pwd=tiger; unicode=true";
//string connstr = "data source=ora11; uid=scott; pwd=tiger; unicode=true; Integrated Security=false";
string connStr = "Data Source=ora11; uid=scott; pwd=tiger; unicode=true";
OracleConnection conn = new OracleConnection(connStr);
conn.Open();
Response.Write(conn.State);
conn.Close();
Response.Write(conn.State);
conn.Dispose();
说明
1) conn.Open() 是打开与数据库的连接;
2) conn.Close() 是关闭与数据库的连接;
3) conn.Dispose() 是释放资源。Dispose 方法涉及 .NET 托管资源和非托管资源。
4) OracleConnection.Open() 只要放在执行 SQL 语句之前就行。你可以将这个操作放在异常处理模块。
演示如何用 OracleConnectionStringBuilder 构造数据库连接字符串
OracleConnectionStringBuilder connSb = new OracleConnectionStringBuilder();
connSb.DataSource = "ora11";
connSb.UserID = "scott";
connSb.Password = "tiger";
connSb.Unicode = true;
OracleConnection conn = new OracleConnection(connSb.ConnectionString);
conn.Open();
Response.Write(conn.State);
conn.Close();
Response.Write(conn.State);
conn.Dispose();
说明
1) 也可以使用 OracleConnectionStringBuilder 构造数据库连接字符串。
演示如何判读数据库连接状态
string connStr = "Data Source=ora11; uid=scott; pwd=tiger; unicode=true";
OracleConnection conn = new OracleConnection(connStr);
try
{
if (conn.State == ConnectionState.Closed) conn.Open();
Response.Write("成功.");
}
catch (Exception ex)
{
Response.Write("失败." + ex);
}
finally
{
conn.Close();
conn.Dispose();
}
说明
1) 判断数据库的状态相当重要。编程时要保证,访问完数据库后要立刻关闭。简单来说,当你连接数据库后,数据库会为你分配资源,如果在你访问完数据库后不关闭与数据库的连接,并且释放资源,时间长了会消耗很多数据库资源,结果你能想象到。
2) 因此,在项目中,通常划分为UI层、业务层和数据库层。应该在数据库层规范数据库的访问,保证程序的稳定性。