备忘录(关于.net程序连接Oracle数据库)


目录

  • 关于使用MSSM访问Oracle数据库
  • 关于. net 程序中连接Oracle数据库

志铭-2021年12月7日 21:22:15 关于使用MSSM访问Oracle数据库
  • 安装访问接口组件:OraOLEDB.Oracle
    • 官网可以下载,但是需要注册
    • 下载地址:https://pan.baidu.com/s/1OpYmpReEJcPg4wNESWy61Q
      • 要求服务器至少安装. net2.0和. net3.5
  • 我参考的教程:http://www.manongjc.com/article/11212.html
    • 我本机win10,SQLSERVER2019
    • 安装该教程中需要注意的是:
      • 在修改了环境变量后,不需要修改注册表的操作
      • 创建链接服务器时,数据源参数IP/sid ,不需要使用端口
      • 参考2: https://blog.csdn.net/weixin_42996498/article/details/88717706

关于. net 程序中连接Oracle数据库
  • 使用System.Data.OracleClient.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数据库连接字符串格式参考:

  • 【备忘录(关于.net程序连接Oracle数据库)】简易的封装一个Oracle辅助类:
    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; } } } }

    推荐阅读