C# 连接Oracle数据库方法

C# 连接oracle数据库常用的三种方法有三种:

    一、Oracle.ManagedDataAccess.dll:Oracle官方提供的oracle数据库访问组件,不存在其他依赖dll库,推荐该方法最为重要的是:不需要安装oracle客户端,也不区分x86位和x64位直接就能用,连上其他电脑或者服务端oracle数据库。

    二、Oracle.DataAccess.Client.dll:也叫ODP.net,是Oracle提供的数据库访问dll库。好处是:不需要安装客户端也能访问服务器上的oracle,不需要配置tnsNames.Ora文件,但是区分x86位和x64,也比较麻烦。

    三、System.Data.OracleClient.dll:是微软提供的dll,可以直接引用,但是VS会提示相关方法已过时,这个提示表明微软建议不使用。该方法需要安装客户端才可以用,并且也是区分区分x86位和x64,容易出现兼容问题

    综上所述介绍,我这里推荐第一种方法,下面就以方法一为实例讲解Oracle数据库连接和获取数据。

**************************************************************************************************************     Oracle.ManagedDataAccess.Client.dll 环境要求  >= .NET Framework4.0;

    编译器使用的是VS2019,在项目中添加Oracle.ManagedDataAccess.Client.dll文件,方法步骤如下:工具 ---- NuGet包管理器  ---- 管理解决方案NuGet程序包 ---- 浏览面板 ---- 在搜索栏中输入Oracle.ManagedDataAccess.Client ---- 搜索 ---- 在显示库文件中选择插件下载即可,搜索显示结果图下图所示。我这里由于项目.NET 的要求,下载的版本是19.xx.xx版本的。

   下载完成插件,VS会自动安装,然后把库添加至引用。

**************************************************************************************************************      数据库连接实现,首先添加using Oracle.ManagedDataAccess.Client;命名空间,这里就简单的实现数据库连接和获取数据,具体代码如下:

//DataTableName:视图/表名称;checkNum:查询条件
public DataTable GetOracleData(string DataTableName, string checkNum)
{
	try
	{
		string SqlConnStr = "Password=*****;User ID=sys;Connection Lifetime=15;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=102.16.1.113)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)));";
		OracleConnection conn = new OracleConnection(SqlConnStr);
		string sqlStr = string.Format(@"SELECT * from ""{0}""  WHERE ""CheckupCode""='{1}'", DataTableName, checkNum);
		conn.Open();
		OracleCommand cmd = new OracleCommand();
		cmd.Connection = conn;
		cmd.CommandText = sqlStr;
		cmd.CommandType = CommandType.Text;
		OracleDataReader dReader = cmd.ExecuteReader();
		string dataStr = string.Empty;
		DataRow dataRow;
		DataTable oracleDataTb = new DataTable();
		//设置Table名和Column名
		oracleDataTb.TableName = "AerospaceCenterHis";
		for (int j = 0; j < dReader.FieldCount; j++)
		{
			oracleDataTb.Columns.Add(dReader.GetName(j));//获取列名
		}
		//循环取数据集合中的数据,存到DataTable中
		do
		{
			while (dReader.Read())
			{
				dataRow = oracleDataTb.NewRow();
				for (int j = 0; j < dReader.FieldCount; j++)
				{
					dataStr = dReader[j].ToString();
					dataRow[j] = dataStr;
				}
				oracleDataTb.Rows.Add(dataRow);
			}
		} while (dReader.NextResult());

		return oracleDataTb;
	}
	catch (Exception ex)
	{
		
	}
}

************************************************************************************************************** 

    这里要注意的是:连接到服务端上的Oracle数据库时,需要把配置文件修改了,使其能够进行局域网或者远程的访问,还要把端口开放。

   在Oracle数据库安装路径,当然每台安装oracle数据库的地址都是不同的(例如:C:\Oracle11g\product\11.2.0\dbhome_1\network\admin\listener.ora   tnsnames.ora)中找到文件listener.ora和tnsnames.ora文件,把两个文件中HOST = localhost配置改成HOST=192.186.11.1(服务器IP地址)重新启动服务。

    到此这篇关于C#使用Oracle.ManagedDataAccess.dll组件连接Oracle数据库的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。

************************************************************************************************************** 

  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C#连接Oracle数据库可以使用Oracle Data Provider for .NET(ODP.NET)来实现。ODP.NET是Oracle官方提供的用于与Oracle数据库进行交互的.NET数据访问组件。 以下是连接Oracle数据库的基本步骤: 1. 首先,确保你的计算机上已经安装了Oracle客户端软件。你可以从Oracle官方网站下载并安装适合你操作系统的客户端软件。 2. 在C#项目中,添加对Oracle.DataAccess.dll的引用。这个DLL文件是ODP.NET的核心组件,它包含了与Oracle数据库交互所需的类和方法。 3. 在代码中,使用`using`关键字引入`Oracle.DataAccess.Client`命名空间。 4. 创建一个`OracleConnection`对象,并设置连接字符串。连接字符串包含了连接Oracle数据库所需的信息,如服务器地址、用户名、密码等。 ```csharp string connectionString = "Data Source=your_server_address;User Id=your_username;Password=your_password;"; OracleConnection connection = new OracleConnection(connectionString); ``` 5. 打开数据库连接。 ```csharp connection.Open(); ``` 6. 执行SQL语句或存储过程。可以使用`OracleCommand`对象来执行SQL语句,并通过`ExecuteReader`方法获取查询结果。 ```csharp string sql = "SELECT * FROM your_table"; OracleCommand command = new OracleCommand(sql, connection); OracleDataReader reader = command.ExecuteReader(); while (reader.Read()) { // 处理查询结果 } reader.Close(); ``` 7. 关闭数据库连接。 ```csharp connection.Close(); ``` 这是一个简单的连接Oracle数据库的示例,你可以根据自己的需求进行扩展和修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值