zoukankan      html  css  js  c++  java
  • 备忘录:关于.net程序连接Oracle数据库

    志铭-2021年12月7日 21:22:15

    关于使用MSSM访问Oracle数据库



    关于. net 程序中连接Oracle数据库

    • 使用Oracle.ManagedDataAccess.Client.dll

      • 该程序集对.net无版本要求
      • nuget:Install-Package Oracle.ManagedDataAccess -Version 19.13.0
      • 注意我没有使用最新21.4.0版本,该最新版本依赖另外一个类库System.Text.Json (>= 5.0.2),而且对.net版本有要求
    • 注意:注意不要使用System.Data.OracleClient,vs会提示过时

    • 关于Oracle数据库连接字符串格式参考:

      <connectionStrings>
      	<add name="connStringForOracle" connectionString="user id=用户ID;password=密码;data source=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=服务IP地址)(PORT=端口号))(CONNECT_DATA=(SERVER=服务名)(SERVICE_NAME=服务名)))" />
      </connectionStrings>
      
    • 简易的封装一个Oracle辅助类:

      //添加命名空间:using Oracle.ManagedDataAccess.Client;
      public class OracleHelper
      {
          private static readonly string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["connStringForOracle"].ToString();
      
      
          //创建连接对象
          public static OracleConnection GetConn()
          {
              var conn = new OracleConnection(connectionString);
              conn.Open();
              return conn;
          }
      
          //执行非查询语句返回受影响行数
          public static int ExecuteNoQuery(string sql,CommandType type=CommandType.Text,params SqlParameter[] param)
          {
              using (var conn = GetConn())
              {
                  using (OracleCommand cmd=new OracleCommand (sql,conn))
                  {
                      if (null!=param)
                      {
                          cmd.Parameters.AddRange(param);
                      }
                      cmd.CommandType = type;
                      conn.Open();
                      return cmd.ExecuteNonQuery();
                  }
              }
          }
      
          //返回查询结果的第一行第一个单元格的数据
          public static object ExecuteScalar(string sql,CommandType type=CommandType.Text,params SqlParameter[] param)
          {
              using (var conn = GetConn())
              {
                  using (OracleCommand cmd=new OracleCommand(sql,conn))
                  {
                      if (null!=param)
                      {
                          cmd.Parameters.AddRange(param);
                      }
                      cmd.CommandType = type;
                      conn.Open();
                      return cmd.ExecuteScalar();
                  }
              }
          }
      
          //返回查询结果集
          public static DataSet GetDataSet(string sql, CommandType type = CommandType.Text, params SqlParameter[] param)
          {
              using (var conn = GetConn())
              {
                  using (OracleDataAdapter adapter = new OracleDataAdapter(sql, conn))
                  {
                      if (null != param)
                      {
                          adapter.SelectCommand.Parameters.AddRange(param);
                      }
                      adapter.SelectCommand.CommandType = type;
                      DataSet ds = new DataSet();
                      adapter.Fill(ds);
                      return ds;
                  }
              }
          }
      }
      

    出处:https://www.cnblogs.com/shanzhiming/p/15657204.html

    您的资助是我最大的动力!
    金额随意,欢迎来赏!
    款后有任何问题请给我留言。

    如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的推荐按钮。
    如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的关注我。(●'◡'●)

    如果对你有所帮助,赞助一杯咖啡!打             付款后有任何问题请给我留言!!!

    因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!

  • 相关阅读:
    基于 cobbler 实现自动安装 linux 系统
    自动安装 linux 系统
    从12306网站新验证码看Web验证码设计与破解
    用java实现删除文件夹里的所有文件
    本机访问其它电脑上的oracle数据库
    powerdesigner 15 如何导出sql schema
    使用PowerDesigner建立数据库模型
    com.google.gson.stream.MalformedJsonException的解决办法
    Spring注解详解
    nginx中文手册内容说明
  • 原文地址:https://www.cnblogs.com/mq0036/p/15662608.html
Copyright © 2011-2022 走看看