- 浏览: 120235 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
liuweihug:
.net的请参考:Jquery+asp.net 后台数据传到前 ...
jquery ajax POST 例子详解 -
lu774374302:
到底是不是中文的??????????????
VS2010下载|官网|Microsoft Visual Studio 2010 (VS2010)旗舰版下载地址
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.Common;
using System.Collections;
using System.Data.OracleClient;
using System.Configuration;
namespace Common.Dba
{
public class DbOracleData : DbAccess
{
new OracleCommand cmd = null;
public DbOracleData()
{
//
// TODO: 在此处添加构造函数逻辑
//
conn = new OracleConnection();
conn.ConnectionString = ConnectionString;//Convert.ToString(System.Configuration.ConfigurationSettings.AppSettings["datasource"]);
//conn.ConnectionString = "initial catalog=idyan_new;data source=.;user id=bt;password=btbtbtbt;Connect Timeout=5000";
cmd = new OracleCommand();
cmd.Connection = conn as OracleConnection;
cmd.CommandTimeout = 0;
}
public DbOracleData(string constr)
{
//
// TODO: 在此处添加构造函数逻辑
//
conn = new OracleConnection();
//conn.ConnectionString = "initial catalog=pubs;data source=.;user id=sa;password=";
//conn.ConnectionString = Convert.ToString(System.Configuration.ConfigurationSettings.AppSettings["datasource"]);
conn.ConnectionString = constr;// "initial catalog=idyan_new;data source=.;user id=bt;password=btbtbtbt";
cmd = new OracleCommand();
cmd.Connection = conn as OracleConnection;
cmd.CommandTimeout = 0;
}
/// <summary>
/// 获取数据根据Oracle语句
/// </summary>
/// <param name="Oracle"></param>
/// <returns></returns>
public override DataTable GetTable(string sql)
{
DataSet ds = new DataSet();
try
{
cmd.CommandText = sql;
cmd.CommandType = CommandType.Text;
OracleDataAdapter da = new OracleDataAdapter();
da.SelectCommand = cmd;
da.Fill(ds);
}
catch (Exception ex)
{
return null;
}
return ds.Tables[0] ?? new DataTable();
}
/// <summary>
/// 获取数据根据sql语句
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public override DataSet GetDataSet(string sql)
{
DataSet ds = new DataSet();
try
{
cmd.CommandText = sql;
cmd.CommandType = CommandType.Text;
OracleDataAdapter da = new OracleDataAdapter();
da.SelectCommand = cmd;
da.Fill(ds);
}
catch (Exception ex)
{
return null;
}
return ds;
}
/// <summary>
/// 获取数据根据sql语句
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public override DataSet GetDataSet(string sql, DbParameter[] pas)
{
DataSet ds = new DataSet();
try
{
cmd.Parameters.Clear();
cmd.CommandText = sql;
foreach (OracleParameter pa in pas)
{
cmd.Parameters.Add(pa);
}
cmd.CommandType = CommandType.Text;
OracleDataAdapter da = new OracleDataAdapter();
da.SelectCommand = cmd;
da.Fill(ds);
}
catch (Exception ex)
{
return null;
}
return ds;
}
/// <summary>
/// 获取数据根据sql语句 带参数 的
/// </summary>
/// <param name="sql"></param>
/// <param name="pas"></param>
/// <returns></returns>
public override DataTable GetTable(string sql, params DbParameter[] pas)
{
DataSet ds = new DataSet();
try
{
cmd.CommandText = sql;
cmd.CommandType = CommandType.Text;
OracleDataAdapter da = new OracleDataAdapter();
da.SelectCommand = cmd;
cmd.Parameters.Clear();
foreach (OracleParameter temppa in pas)
{
cmd.Parameters.Add(temppa);
}
da.Fill(ds);
}
catch (Exception ex)
{
return null;
}
return ds.Tables[0] ?? new DataTable();
}
/// <summary>
/// 获取数据根据sql语句 带参数 的
/// </summary>
/// <param name="sql"></param>
/// <param name="pas"></param>
/// <returns></returns>
public override DataTable GetProcTable(string procname, params DbParameter[] pas)
{
DataSet ds = new DataSet();
try
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = procname;
//cmd.CommandText = sql;
OracleDataAdapter da = new OracleDataAdapter();
da.SelectCommand = cmd;
cmd.Parameters.Clear();
foreach (OracleParameter temppa in pas)
{
cmd.Parameters.Add(temppa);
}
da.Fill(ds);
}
catch (Exception ex)
{
return null;
}
return ds.Tables[0] ?? new DataTable();
}
/// <summary>
/// 获取数据根据sql语句 带参数 的
/// </summary>
/// <param name="sql"></param>
/// <param name="pas"></param>
/// <returns></returns>
public override DataTable GetProcCursorTable(string procname, params DbParameter[] pas)
{
DataSet ds = new DataSet();
try
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = procname;
//cmd.CommandText = sql;
OracleDataAdapter da = new OracleDataAdapter();
da.SelectCommand = cmd;
cmd.Parameters.Clear();
foreach (OracleParameter temppa in pas)
{
cmd.Parameters.Add(temppa);
}
da.Fill(ds);
}
catch (Exception ex)
{
return null;
}
return ds.Tables[1] ?? new DataTable();
}
/// <summary>
/// 获取数据根据sql语句 带参数 的
/// </summary>
/// <param name="sql"></param>
/// <param name="pas"></param>
/// <returns></returns>
public override int GetProcState(string procname, params DbParameter[] pas)
{
int state = 0;
try
{
OpenConn();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = procname;
cmd.Parameters.Clear();
foreach (OracleParameter temppa in pas)
{
cmd.Parameters.Add(temppa);
}
cmd.ExecuteNonQuery();
CloseConn();
state = Convert.ToInt32(pas[pas.Length - 1].Value);
}
catch
{
return 0;
}
return state;
}
/// <summary>
/// 获取数据根据sql语句 带参数 的
/// </summary>
/// <param name="sql"></param>
/// <param name="pas"></param>
/// <returns></returns>
public override int GetProcStateNo(string procname, params DbParameter[] pas)
{
int state = 0;
try
{
OpenConn();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = procname;
cmd.Parameters.Clear();
foreach (OracleParameter temppa in pas)
{
cmd.Parameters.Add(temppa);
}
cmd.ExecuteNonQuery();
CloseConn();
state = 1;
// state = Convert.ToInt32(pas[pas.Length - 1].Value);
}
catch
{
return 0;
}
return state;
}
/// <summary>
/// 存储过程返回值的
/// </summary>
/// <param name="sql"></param>
/// <param name="pas"></param>
/// <returns></returns>
public override string GetProcStateReturnValue(string procname, params DbParameter[] pas)
{
string state = "";
try
{
OpenConn();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = procname;
cmd.Parameters.Clear();
foreach (OracleParameter temppa in pas)
{
cmd.Parameters.Add(temppa);
}
cmd.Parameters.AddWithValue("@Return_Value", "").Direction = ParameterDirection.ReturnValue;
cmd.ExecuteNonQuery();
state = Convert.ToString(cmd.Parameters["@Return_Value"].Value);
state = state == null ? ("") : (state);
CloseConn();
// state = Convert.ToInt32(pas[pas.Length - 1].Value);
}
catch
{
return "";
}
return state;
}
/// <summary>
/// 根据sql语句返回跟新状态
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public override bool GetState(string sql)
{
bool succ = false;
try
{
cmd.CommandType = CommandType.Text;
cmd.CommandText = sql;
OpenConn();
succ = cmd.ExecuteNonQuery() > 0 ? (true) : (false);
CloseConn();
}
catch (Exception ex)
{
return false;
}
return succ;
}
/// <summary>
/// 根据sql语句返回跟新状态带参数的
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="pas">参数的集合</param>
/// <returns></returns>
public override bool GetState(string sql, params DbParameter[] pas)
{
bool succ = false;
try
{
cmd.CommandType = CommandType.Text;
cmd.CommandText = sql;
cmd.Parameters.Clear();
foreach (OracleParameter temppa in pas)
{
cmd.Parameters.Add(temppa);
}
OpenConn();
succ = cmd.ExecuteNonQuery() > 0 ? (true) : (false);
CloseConn();
}
catch
{
// this.ShowError(ex.Message);
//using (System.IO.StreamWriter sw = new System.IO.StreamWriter("D:\\error2008.txt"))
//{
// sw.Write(ex.Message);
// sw.Flush();
//}
return false;
}
return succ;
}
/// <summary>
/// 根据sql语句返回第一个单元格的数据
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public override string GetOne(string sql)
{
string res = "";
try
{
cmd.CommandType = CommandType.Text;
cmd.CommandText = sql;
OpenConn();
res = cmd.ExecuteScalar() == null ? ("") : (Convert.ToString(cmd.ExecuteScalar()));
CloseConn();
}
catch (Exception ex)
{
return null;
}
return res;
}
/// <summary>
/// 根据sql语句返回第一个单元格的数据带参数的
/// </summary>
/// <param name="sql"></param>
/// <param name="pas"></param>
/// <returns></returns>
public override string GetOne(string sql, params DbParameter[] pas)
{
string res = "";
try
{
cmd.CommandType = CommandType.Text;
cmd.CommandText = sql;
cmd.Parameters.Clear();
foreach (OracleParameter temppa in pas)
{
cmd.Parameters.Add(temppa);
}
OpenConn();
res = cmd.ExecuteScalar() == null ? ("") : (Convert.ToString(cmd.ExecuteScalar()));
CloseConn();
}
catch (Exception ex)
{
CloseConn();
return null;
}
return res;
}
/// <summary>
/// 返回数据的DataReader
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public override DbDataReader GetDataReader(string sql)
{
OracleDataReader dr = null;
try
{
cmd.CommandType = CommandType.Text;
conn.Open();
cmd.CommandText = sql;
dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
catch (Exception ex)
{
return null;
}
return dr;
}
/// <summary>
/// 返回数据的DataReader带参数的
/// </summary>
/// <param name="sql"></param>
/// <param name="pas"></param>
/// <returns></returns>
public override DbDataReader GetDataReader(string sql, params DbParameter[] pas)
{
OracleDataReader dr = null;
try
{
cmd.CommandType = CommandType.Text;
conn.Open();
cmd.Parameters.Clear();
foreach (OracleParameter temppa in pas)
{
cmd.Parameters.Add(temppa);
}
cmd.CommandText = sql;
dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
catch (Exception ex)
{
return null;
}
return dr;
}
/// <summary>
/// 事务处理函数
/// </summary>
/// <param name="al"></param>
/// <returns></returns>
public override bool GetTranState(ArrayList al)
{
cmd.CommandType = CommandType.Text;
OpenConn();
OracleTransaction tran = (conn as OracleConnection).BeginTransaction();
cmd.Transaction = tran;
try
{
for (int i = 0; i < al.Count; i++)
{
cmd.CommandText = Convert.ToString(al[i]);
cmd.ExecuteNonQuery();
}
tran.Commit();
CloseConn();
}
catch
{
tran.Rollback();
CloseConn();
return false;
}
return true;
}
/// <summary>
/// 分页函数
/// </summary>
/// <param name="pagesize"></param>
/// <param name="columns"></param>
/// <param name="tablename"></param>
/// <param name="pid"></param>
/// <param name="order"></param>
/// <param name="current"></param>
/// <returns></returns>
public override DataTable GetPageData(int current, int pagesize, string columns, string tablename, string pid, string where, string order)
{
current = current - 1 >= 0 ? (current - 1) : (0);
string sql = string.Format("select top {0} {1} from {2} where 1=1 and {3} not in(select top {4}{3} from {2} where 1=1{5} order by {6}){5} order by {6}", pagesize, columns, tablename, pid, current * pagesize, where, order);
return GetTable(sql);
}
/// <summary>
/// 分页存储过程的调用
/// </summary>
/// <param name="current"></param>
/// <param name="pagesize"></param>
/// <param name="columns"></param>
/// <param name="tablename"></param>
/// <param name="pid"></param>
/// <param name="where"></param>
/// <param name="order"></param>
/// <returns></returns>
public override DataTable GetProcPageData(int current, int pagesize, string columns, string tablename, string pid, string where, string order, string ordertype)
{
OracleParameter[] pas = { new OracleParameter("@PageIndex", current), new OracleParameter("@PageSize", pagesize), new OracleParameter("@Columns", columns), new OracleParameter("@Tablename", tablename), new OracleParameter("@Where", where), new OracleParameter("@Order", order), new OracleParameter("@OrderType", ordertype), new OracleParameter("@Pid", pid) };
return GetProcTable("Pages", pas);
//current = current - 1 >= 0 ? (current - 1) : (0);
//string sql = string.Format("select top {0} {1} from {2} where 1=1 and {3} not in(select top {4}{3} from {2} where 1=1{5} order by {6}){5} order by {6}", pagesize, columns, tablename, pid, current * pagesize, where, order);
//return GetTable(sql);
}
/// <summary>
/// 分页存储过程的调用
/// </summary>
/// <param name="current"></param>
/// <param name="pagesize"></param>
/// <param name="columns"></param>
/// <param name="tablename"></param>
/// <param name="pid"></param>
/// <param name="where"></param>
/// <param name="order"></param>
/// <returns></returns>
public override DataTable GetProcData(int current, int pagesize, string columns, string tablename, string pid, string where, string order, string resultCount, string distinct)
{
OracleParameter[] pas = { new OracleParameter("@TableNames", OracleType.NVarChar, 200), new OracleParameter("@PrimaryKey", OracleType.NVarChar, 100), new OracleParameter("@Order", OracleType.NVarChar, 200), new OracleParameter("@CurrentPage", OracleType.Number), new OracleParameter("@PageSize", OracleType.Number), new OracleParameter("@Fields", OracleType.NVarChar, 800), new OracleParameter("@Filter", OracleType.NVarChar, 1000), new OracleParameter("@ResultCount", OracleType.NVarChar, 12), new OracleParameter("@distinct", OracleType.NVarChar, 12) };
pas[0].Value = tablename;
pas[1].Value = pid;
pas[2].Value = order;
pas[3].Value = current;
pas[4].Value = pagesize;
pas[5].Value = columns;
pas[6].Value = where;
pas[7].Value = resultCount;
pas[8].Value = distinct;
return this.GetProcTable("Pages", pas);
}
/// <summary>
/// 分页存储过程的调用
/// </summary>
/// <param name="current"></param>
/// <param name="pagesize"></param>
/// <param name="columns"></param>
/// <param name="tablename"></param>
/// <param name="pid"></param>
/// <param name="where"></param>
/// <param name="order"></param>
/// <returns></returns>
public override DataTable GetProcAdminData(int current, int pagesize, string columns, string tablename, string pid, string where, string order, string resultCount, string distinct)
{
OracleParameter[] pas = { new OracleParameter("@TableNames", OracleType.NVarChar, 200), new OracleParameter("@PrimaryKey", OracleType.NVarChar, 100), new OracleParameter("@Order", OracleType.NVarChar, 200), new OracleParameter("@CurrentPage", OracleType.Number), new OracleParameter("@PageSize", OracleType.Number), new OracleParameter("@Fields", OracleType.NVarChar, 800), new OracleParameter("@Filter", OracleType.NVarChar, 200), new OracleParameter("@ResultCount", OracleType.NVarChar, 24), new OracleParameter("@Distinct", OracleType.NVarChar, 12) };
pas[0].Value = tablename;
pas[1].Value = pid;
pas[2].Value = order;
pas[3].Value = current;
pas[4].Value = pagesize;
pas[5].Value = columns;
pas[6].Value = where;
pas[7].Value = resultCount;
pas[8].Value = distinct;
return this.GetProcTable("Pages", pas);
}
public override DbParameter[] MakeParameters(params string[] str)
{
OracleParameter[] pas = new OracleParameter[str.Length / 2];
for (int i = 0; i < str.Length / 2; i++)
{
pas[i] = new OracleParameter(string.Format(":{0}", str[2 * i]), str[2 * i + 1]);
}
return pas;
}
}
}
发表评论
-
VS2010下载|官网|Microsoft Visual Studio 2010 (VS2010)旗舰版下载地址
2010-08-20 17:43 16088VS2010下载地址 VS2010官网下载 目前只有英文版 ... -
q宠宝贝卸载|怎么卸载
2010-08-23 09:36 644不知不觉被腾讯这个家伙恶心的装上了个q宠宝贝 每次登陆他还自己 ... -
牙齿松动怎么办|成年人牙齿松动怎么办
2010-09-06 17:29 707对于松动的牙齿不要轻言拔除,而应该查明病因,妥善治疗。通过治疗 ... -
牙齿如何美白|牙齿美白民间偏方
2010-09-06 17:38 765牙齿如何美白 牙齿美白民间偏方 牙变白(牙齿美白)偏方:用 ... -
如何去口臭|怎么去口臭|去口臭民间秘方
2010-09-06 17:40 7785、 怎样除去口臭: 每天放几片茶叶在口中嚼三遍,这样可 ... -
bat 批处理 字符串 替换函数 和 字符串截取函数
2010-09-07 15:41 1672、字符串替换 好了,符号说到这,现在说%PATH:str1=s ... -
VS2010下载|官网|Microsoft Visual Studio 2010 (VS2010)旗舰版下载地址
2010-08-20 17:43 2394VS2010下载地址 VS2010官网下载 目前只有英文版本, ... -
Access 数据库封装类
2009-09-02 11:05 890using System;using System.Colle ... -
DbSqlLiteData 数据库连接类
2009-09-02 11:07 441using System;using System.Colle ... -
DbSqlServerData sqlserver数据库连接类
2009-09-02 11:08 451using System;using System.Colle ... -
菜根谭 全文 及译文
2009-10-30 10:20 1916菜根谭(全文附译文) 2009 ... -
C#调用rar 压缩多个文件并删除压缩的文件
2009-12-28 16:36 641public void RARsave(string rarP ... -
计算机无法访问,没有权限使用网络资源。请与这台服务器的管理员联系
2010-03-02 11:04 12521.一般是这个问题 开始 -> 运行 -> gp ... -
斗地主的规则|欢乐斗地主的规则
2010-05-07 23:36 688斗地主牌型 火箭:即双王(大王和小王),最大的牌。 :四张同数 ... -
taobao助手的介绍|taobao助手的下载地址|taobao助手的功能说明
2010-05-08 10:25 512下载请进去http://www.taob ... -
苏州丝绸市场在哪里|苏州丝绸市场
2010-05-08 10:58 868苏州丝绸市场是吴江市的盛泽镇的东方丝绸市场在人民路接驾桥不到点 ... -
杭州丝绸市场|杭州丝绸批发市场
2010-05-08 11:01 643<cn><pre>1)新华路上的杭州丝 ... -
电脑非正常关机怎么一直自检呢|一直自检的解决方法
2010-06-02 17:30 759应该是你非法关机造成的,比如直接断电的情况。 wind ... -
外贸订单管理系统|网络订单管理系统
2010-07-14 14:51 102网络订单管理系统 功能模块 1. 客户管理 客户的添加和查询功 ... -
什么行业薪水高呢?|什么行业的工资薪水高呢
2010-07-31 11:05 909什么行业薪水高呢?|什么行业的工资薪水高呢 最近感觉迷茫了 看 ...
相关推荐
在GeoServer中连接Oracle数据库,需要确保系统已安装了Oracle数据库驱动,这通常通过JDBC(Java Database Connectivity)实现。在这个案例中,`gt-jdbc-oracle-20.0.jar`文件是一个Oracle JDBC驱动包,它使得Java...
在易语言中,开发Oracle数据库连接模块是为了实现对Oracle数据库的高效、便捷操作。Oracle数据库是全球广泛使用的大型关系型数据库管理系统,适用于处理大量数据和并发事务。 Oracle数据库连接模块的核心在于如何...
"Oracle数据库连接工具"指的是可以方便地连接到Oracle数据库并执行各种操作的软件应用。在给定的标签中提到了"oracle navicat",这指的是Navicat,一个知名的数据库管理工具,特别适合于Oracle数据库的连接和管理。 ...
本文将详细介绍如何使用易语言连接Oracle数据库,并探讨相关组件的使用。 首先,连接Oracle数据库的基础是确保本机已经安装了Oracle客户端。Oracle客户端包含了连接Oracle服务器所需的所有组件,包括网络配置、...
C#中的 Oracle 数据库连接字符串和数据库帮助类 C# 中的 Oracle 数据库连接字符串是指在 C# 项目中连接 Oracle 数据库所需的字符串。该字符串通常包含了数据库连接所需的信息,如数据库服务器的地址、用户名、密码...
### JAVA 使用数据库连接池连接Oracle数据库全代码解析 #### 一、概述 本文将详细介绍如何在Java项目中使用Apache DBCP(Database Connection Pool)来连接Oracle数据库,并提供完整的示例代码。通过这种方式,我们...
DataBaseHelper帮助类中包含了默认的连接字符串格式,修改完IP和用户名密码就可以使用,也可以在连接的时候直接输入连接字符串和sql语句。可以直接使用release下的exe 建议使用升级过的版本:...
新建Oracle数据库并连接详细教程 在这篇教程中,我们将学习如何新建Oracle数据库并连接到该数据库。该教程分为两部分:新建Oracle数据库和连接到数据库。 新建Oracle数据库 新建Oracle数据库需要使用Database ...
本篇将详细介绍如何使用Java连接Oracle数据库,并提供一个封装好的连接类的使用方法。 首先,我们需要了解JDBC的基本概念。JDBC是Java平台的标准API,它允许Java应用程序连接到各种类型的数据库,包括Oracle。在...
1. 添加ojdbc6驱动到项目类路径:首先,将下载的"ojdbc6--oracle数据库连接驱动.rar"解压,获取到ojdbc6.jar文件。这个jar文件包含驱动实现,需要将其添加到Java项目的类路径中,无论是IDE如Eclipse、IntelliJ IDEA...
`ConnForOracle` 类主要实现了对 Oracle 数据库的基本操作,包括但不限于连接数据库、执行 SQL 语句以及返回结果集等功能。通过此类可以有效地简化数据库操作代码,并提高开发效率。 #### 二、基本属性与构造函数 ...
连接 Oracle 数据库是每个开发者和数据库管理员都需要掌握的基本技能,但是很多人在连接 Oracle 数据库时都会遇到各种问题,本文将详细介绍如何连接 Oracle 数据库及故障解决办法。 首先,在连接 Oracle 数据库之前...
搜集整理的Oracle数据库安装与配置方法以及C#连接操作Oracle数据库的典型代码,比较管用的说。主要包括10个方面内容:1、ORACLE817安装(服务器端/客户端)。2、ORACLE817配置(服务器端)。3、ORACLE817配置...
Oracle 数据库连接工具是用于与Oracle数据库进行交互的软件应用,它使得数据库管理员、开发人员以及数据分析师能够方便地管理、查询和操作Oracle数据库系统。Oracle数据库是全球广泛使用的大型关系型数据库管理系统...
SAP与Oracle数据库的连接 SAP系统与Oracle数据库的连接是SAP开发中的一个重要步骤,该连接允许SAP系统访问Oracle数据库中的数据,实现数据交换和共享。在本文中,我们将详细介绍SAP开发中模块连接Oracle数据库的...
Oracle数据库连接工具PLSQL轻桌面工具包,安装PLSQL必须下载轻桌面工具包
### ArcGIS与Oracle数据库连接详解 #### 一、概述 ArcGIS是一款强大的地理信息系统软件,广泛应用于地图制作、地理数据分析以及地理信息系统管理等领域。而Oracle数据库则是业界领先的关系型数据库管理系统之一,...
在易语言中,连接远程Oracle数据库是一项常见的任务,这对于数据处理和信息管理至关重要。Oracle数据库是全球广泛使用的大型企业级关系型数据库管理系统,它提供了高效、稳定的数据存储和处理能力。 要实现易语言...
1. ADO.NET的OracleClient:这是.NET Framework自带的Oracle数据库访问组件,提供了System.Data.OracleClient命名空间,包含OracleConnection、OracleCommand、OracleDataReader等类,用于建立连接、执行命令和读取...