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