• C# 通过Devart连接Oracle(不需要客户端)


      16年一月底回了四川,接下来两年就准备在四川工作了。哈哈,虽然收入比沿海城市少了很多,但离老家近些感觉还是很不错的哈,好了,废话不多说,直接上干货。

      最近的项目需要用到C#连接Oracle,以前要么是Eclipse连接Oracle,觉得很好连接呀,后面做.net后,很长一段时间数据库都是用sqlserver。所以以为C#连接Oracle应该就改下连接字符串就行了,结果。。。。。。才有了接下来的这篇文章。C#连接Oracle总体来说,方法多种。有的需要安装客户端而且还要配置环境变量,需要用Oracle的驱动。特别是装客户端的方式,觉得有些麻烦,所以写这篇文章记录一下,方便以后查询。

      方法:第三方驱动 Devart,下载驱动 http://www.devart.com/dotconnect/oracle/

      连接代码如下:

    连接字符串
    <add name="conStr" connectionString="User Id=youName;Password=password;Server=127.0.0.1;Direct=True;Sid=datasouce;" />
    
        #region 查询单个值
            /// <summary>
            /// 查询单个值
            /// </summary>
            /// <param name="commandText">执行的语句</param>
            /// <param name="type">执行语句类型</param>
            /// <param name="paras">参数</param>
            /// <returns></returns>
            public object ExecuteScalar(string commandText, CommandType type, params OracleParameter[] paras)
            {
    
                using (OracleConnection con = new OracleConnection(connectionString))
                {
                    con.Open();
                    OracleCommand cmd = new OracleCommand(commandText, con);
                    cmd.CommandType = type;
                    if (paras != null)
                        cmd.Parameters.AddRange(paras);
    
                    return cmd.ExecuteScalar();
    
                }
            }
    
            /// <summary>
            /// 增删改
            /// </summary>
            /// <param name="commandText">执行的语句</param>
            /// <param name="type">执行语句类型</param>
            /// <param name="paras">参数</param>
            /// <returns></returns>
            public int ExecuteNonQuery(string commandText, CommandType type, params OracleParameter[] paras)
            {
    
                using (OracleConnection con = new OracleConnection(connectionString))
                {
                    con.Open();
                    OracleCommand cmd = new OracleCommand(commandText, con);
                    cmd.CommandType = type;
                    if (paras != null)
                        cmd.Parameters.AddRange(paras);
    
                    return cmd.ExecuteNonQuery();
    
                }
            }
            /// <summary>
            /// 查询返回dataset
            /// </summary>
            /// <param name="commandText">执行的语句</param>
            /// <param name="type">执行语句类型</param>
            /// <param name="paras">参数</param>
            /// <returns></returns>
            public DataSet ExecuteDataset(string commandText, CommandType type, params OracleParameter[] paras)
            {
    
                using (OracleConnection con = new OracleConnection(connectionString))
                {
                    con.Open();
                    OracleCommand cmd = new OracleCommand(commandText, con);
                    cmd.CommandType = type;
                    if (paras != null)
                        cmd.Parameters.AddRange(paras);
    
                    OracleDataAdapter oda = new OracleDataAdapter(cmd);
                    DataSet ds = new DataSet();
                    oda.Fill(ds);
                    return ds;
                }
            }
    
    
            #endregion

      

  • 相关阅读:
    Linux下面rsync 实现 完全一致的同步方法
    [知乎]中国的对外援助
    Linux测试环境简单使用教程
    Java中的DeskTop类使用介绍
    Android应用加入微信分享
    Java中的面向接口编程
    Java泛型的好处
    Android studio 下JNI编程实例并生成so库
    在Android应用中使用Clean架构
    是时候学习Android分屏开发了
  • 原文地址:https://www.cnblogs.com/hellowukui/p/5395754.html
Copyright © 2020-2023  润新知