C#连接Oracle数据库使用Oracle.ManagedDataAccess.dll

首先,要使用C#连接Oracle数据库,需要引用Oracle.ManagedDataAccess.dll库,并且在代码中使用相应的命名空间。以下是使用Oracle.ManagedDataAccess.dll连接Oracle数据库的步骤:

步骤一:引用Oracle.ManagedDataAccess.dll文件

在Visual Studio中新建项目后,右键“引用”选项,选择“添加引用”,然后在弹出的对话框中,选择“浏览”,找到您下载并安装的Oracle.ManagedDataAccess.dll文件,加入到项目中。

步骤二:引用命名空间

在C#的代码中,需要引用Oracle.ManagedDataAccess.Client命名空间。在代码开头添加以下命名空间:

using Oracle.ManagedDataAccess.Client;

步骤三:创建数据库连接对象

使用Oracle.ManagedDataAccess.Client的OracleConnection类创建一个Oracle数据库的连接对象。连接字符串包括了访问数据库的必要信息,例如主机名、用户名、密码等等。

OracleConnection conn = new Oracle.ManagedDataAccess.Client.OracleConnection();
conn.ConnectionString = "User Id=用户名;Password=密码;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=主机名或IP)(PORT=端口号)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=服务名)))";

步骤四:打开数据库连接

打开连接对象以便进行操作。

conn.Open();

步骤五:执行查询,获取数据

在步骤四中,连接已经打开,可以执行查询语句,并获取查询结果。

OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "SELECT * FROM 表名";
OracleDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
  // 处理数据
}
reader.Close();

步骤六:关闭数据库连接

数据操作完成时,需要关闭连接对象。

conn.Close();

其中,以下是两个简单的实例,展示了如何使用Oracle.ManagedDataAccess.dll来获取Oracle数据库表中的数据:

示例一:获取学生表中的所有数据

using System;
using System.Data;
using Oracle.ManagedDataAccess.Client;

namespace OracleDatabaseQuery
{
    class Program
    {
        static void Main(string[] args)
        {
            string connStr = "user id=username;password=password;data source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ip address)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)))";
            using (OracleConnection conn = new OracleConnection(connStr))
            {
                conn.Open();
                OracleCommand cmd = new OracleCommand("SELECT * FROM student", conn);
                OracleDataAdapter adapter = new OracleDataAdapter(cmd);
                DataTable dt = new DataTable();
                adapter.Fill(dt);
                foreach (DataRow row in dt.Rows)
                {
                    Console.WriteLine(row["id"].ToString() + "\t" + row["name"].ToString() + "\t" + row["age"].ToString() + "\t" + row["gender"].ToString());
                }
                conn.Close();
            }
        }
    }
}

示例二:获取商品表中价格大于100的数据

using System;
using System.Data;
using Oracle.ManagedDataAccess.Client;

namespace OracleDatabaseQuery
{
    class Program
    {
        static void Main(string[] args)
        {
            string connStr = "user id=username;password=password;data source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ip address)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)))";
            using (OracleConnection conn = new OracleConnection(connStr))
            {
                conn.Open();
                OracleCommand cmd = new OracleCommand("SELECT * FROM commodity WHERE price > 100", conn);
                OracleDataAdapter adapter = new OracleDataAdapter(cmd);
                DataTable dt = new DataTable();
                adapter.Fill(dt);
                foreach (DataRow row in dt.Rows)
                {
                    Console.WriteLine(row["id"].ToString() + "\t" + row["name"].ToString() + "\t" + row["price"].ToString());
                }
                conn.Close();
            }
        }
    }
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#连接Oracle数据库使用Oracle.ManagedDataAccess.dll - Python技术站

(0)
上一篇 2023年6月2日
下一篇 2023年6月2日

相关文章

  • C#解析JSON实例

    下面是详细讲解“C#解析JSON实例”的完整攻略: 什么是JSON JSON(JavaScript Object Notation)是一种数据格式,用于交换数据。它比XML更容易阅读,也更容易解析。JSON数据格式由键值对构成,键和值之间用冒号分隔,值的数据类型可以是字符串,数字,布尔值,数组,对象等。例如: { "name": &quo…

    C# 2023年5月31日
    00
  • C#对象为Null模式(Null Object Pattern)实例教程

    C#对象为Null模式(Null Object Pattern)实例教程 介绍 在C#中,经常需要处理对象是否为null的情况。在编写代码时,我们通常会使用”if(null)”这样的条件语句进行处理。然而,这种处理方式复杂度较高,容易出错。通过Null Object Pattern模式,我们可以将对象的null值进行抽象化,简化代码编写。 实现 方案一:使用…

    C# 2023年5月31日
    00
  • asp.net 因为数据库正在使用的解决方法

    当asp.net应用程序想要访问正在被其他进程或系统使用的数据库时,会出现数据库锁死、操作失败等错误。本文将详细讲解如何解决此类问题的完整攻略。 场景分析 在开始解决问题之前,我们需要先明确应用程序与数据库之间的关系。一般情况下,asp.net应用程序可以通过ADO.NET或ORM等技术,从数据库中读取或写入数据。但是,如果数据库正在被其他进程或系统使用,此…

    C# 2023年5月31日
    00
  • 使用EF的Code First模式操作数据库

    下面是使用EF的Code First模式操作数据库的完整攻略: 前置条件 在进行EF的Code First操作时,需要以下几个前置条件: 安装EF NuGet包:在Visual Studio中的NuGet Package Manager中搜索EntityFramework并安装 确定数据库连接字符串:需要确定要连接的数据库以及登录数据库的账号和密码。 创建数…

    C# 2023年6月3日
    00
  • 13个PHP函数超实用

    PHP是一种广泛使用的服务器端脚本语言,具有丰富的内置函数库。本文将介绍13个PHP函数,这些函数非常实用,可以帮助开发者更高效地编写PHP代码。 1. array_map array_map函数可以将一个或多个数组的每个元素传递给回调函数进行处理,并返回一个新的数组。以下是一个示例: $numbers = [1, 2, 3, 4, 5]; $squares…

    C# 2023年5月15日
    00
  • 分析C# Dictionary的实现原理

    分析C# Dictionary的实现原理 前言 C#中的Dictionary是一种常见的数据结构,它能够高效地存储Key-Value形式的数据。在我们使用它的时候,也需要了解其内部实现原理。 实现原理 C#中的Dictionary内部实现是采用哈希表来存储数据的。哈希表是一种非常重要的数据结构,它可以通过哈希函数将Key转换成哈希码,然后将哈希码映射到一个固…

    C# 2023年5月15日
    00
  • C#开发WinForm清空DataGridView控件绑定的数据

    下面我来详细讲解一下。 1. 背景 在 WinForm 应用程序的开发过程中,经常需要使用 DataGridView 控件来显示数据。当需要清空 DataGridView 控件中显示的数据时,我们可以使用如下两种方法: 将 DataGridView 控件绑定的数据源清空; 遍历 DataGridView 控件中的行并逐一删除。 下面分别介绍这两种方法的实现方…

    C# 2023年5月15日
    00
  • 基于Avalonia实现自定义弹窗的示例详解

    基于Avalonia实现自定义弹窗需要进行以下步骤: 引入Avalonia库 在项目文件中引入Avalonia库,可以通过NuGet包管理器或手动添加引用的方式进行。同时,需要在App.xaml文件中声明Avalonia样式资源。 自定义弹窗视图 创建名为”CustomPopup.axaml”的Avalonia视图用于定义自定义弹窗的布局和样式。在这个视图中…

    C# 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部