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