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  />

    #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