要先下载对应的Oracle.manageddataAccess 的包引用,如果找不到也可以到这里下载。我的一个案例分析(https://download.csdn.net/download/wulixing/11227168)
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OracleClient;
using System.Configuration;
using System.Security.Cryptography;
using System.Text;
namespace WKZF.Common
{
/// <summary>
/// Oracle数据库底层访问类
/// </summary>
public class OracleDataHelPer
{
public string ConnStr = null;
//数据库连接字符串(web.config来配置),可以动态更改connectionString支持多数据库.
/// <summary>
/// 数据库连接
/// </summary>
/// <param name="connName">web.config中连接名称</param>
public string GetOracleConn(string connName)
{
ConnStr = System.Configuration.ConfigurationManager.AppSettings[connName];
return ConnStr;
}
public OracleDataHelPer(string Str)
{
try
{
this.ConnStr = Str;
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 返回connection对象
/// </summary>
/// <param name="connName">数据库连接名称</param>
/// <returns></returns>
public OracleConnection ReturnConn(string connName)
{
OracleConnection Conn = new OracleConnection(GetOracleConn(connName));
Conn.Open();
return Conn;
}
public void Dispose(OracleConnection Conn)
{
if (Conn != null)
{
Conn.Close();
Conn.Dispose();
}
GC.Collect();
}
/// <summary>
/// 运行SQL语句
/// </summary>
/// <param name="connName">数据库连接名称</param>
/// <param name="SQL"></param>
public void RunProc(string connName,string SQL)
{
OracleConnection Conn;
Conn = new OracleConnection(GetOracleConn(connName));
Conn.Open();
OracleCommand Cmd;
Cmd = CreateCmd(SQL, Conn);
try
{
Cmd.ExecuteNonQuery();
}
catch
{
throw new Exception(SQL);
}
Dispose(Conn);
return;
}
/// <summary>
/// 运行SQL语句返回DataReader
/// </summary>
/// <param name="connName">数据库连接名称</param>
/// <param name="SQL"></param>
/// <returns></returns>
public OracleDataReader RunProcGetReader(string connName, string SQL)
{
OracleConnection Conn;
Conn = new OracleConnection(GetOracleConn(connName));
Conn.Open();
OracleCommand Cmd;
Cmd = CreateCmd(SQL, Conn);
OracleDataReader Dr;
try
{
Dr = Cmd.ExecuteReader(CommandBehavior.Default);
}
catch
{
throw new Exception(SQL);
}
//Dispose(Conn);
return Dr;
}
/// <summary>
/// 生成Command对象
/// </summary>
/// <param name="SQL"></param>
/// <param name="Conn"></param>
/// <returns></returns>
public OracleCommand CreateCmd(string SQL, OracleConnection Conn)
{
OracleCommand Cmd;
Cmd = new OracleCommand(SQL, Conn);
return Cmd;
}
/// <summary>
/// 生成Command对象
/// </summary>
/// <param name="connName">数据库连接名称</param>
/// <param name="SQL"></param>
/// <returns></returns>
public OracleCommand CreateCmd(string connName,string SQL )
{
OracleConnection Conn;
Conn = new OracleConnection(GetOracleConn(connName));
Conn.Open();