C#连接和操作Oracle数据

最近业务需要读取远程Oracle数据库的数据,这里简单记录一下。

  这里采用的是Oracle.ManagedDataAccess方式连接Oracle数据库,这种方式有几个优点:①不用安装Oracle客户端;②不用区分32bit还是64bit;③使用简单方便,可通过Nuget直接引入;④对EF和.Net Core提供了支持。

下边简单的使用一下,我们首先在Oracle数据库存入两条简单的测试数据,如下:

通过Nuget获取资源,现在显示下载量为2.03M,应该是.Net平台下连接Oracle很火的工具了

引入这个包后,不需要其他的配置,也不用安装Oracle客户端,我们就可以直接连接Oracle数据库进行操作了,使用方式ADO.NET一模一样,下边是读取测试数据的代码:

复制代码
    class Program
    {
        static void Main(string[] args)
        {
            //连接字符串
            string connString =@"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.10.66)(PORT=9876))(CONNECT_DATA=(SERVICE_NAME=orcl)));
Persist Security Info=True;User ID=monitor;Password=monitor
"; try { //测试:通过DataReader简单查询 using (DbConnection con = new OracleConnection(connString)) { con.Open(); using (DbCommand com = con.CreateCommand()) { com.CommandText = "select * from t_stu"; using (DbDataReader reader = com.ExecuteReader()) { while (reader.Read()) { Console.Write($"{reader["stuid"].ToString()}---" + $"{reader["stuname"].ToString()}---" + $"{reader["stusex"].ToString()}"); Console.WriteLine(); } } } Console.WriteLine("查询完毕!"); ; } } catch (Exception ex) { Console.WriteLine(ex.ToString()); } Console.ReadKey(); } }
复制代码

运行程序如下:

 

 

  

 

posted @   捞月亮的猴子  阅读(2745)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示