您的位置:首页 > 数据库 > Oracle

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

2021-12-08 08:10 3047 查看

目录

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

关于使用MSSM访问Oracle数据库

  • 我参考的教程:http://www.manongjc.com/article/11212.html

    关于. 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;
    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;
    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;
    }
    }
    }
    }
  • 内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: 
    相关文章推荐