C#不用客户端连接Oracle
背景:公司项目又需要用C#做一个上位机程序,需要连接数据库,但是之前每次都要装个客户端,还区分64、32位,就很烦,不想用客户端。在网上找了找资料,
找到了一个不需要客户端连接Oracle数据库的方法,在此记录一下。
1、下载DLL并引用
Oracle.ManagedDataAccess.zip ,解压后引用到自己的项目中
2、 直接上代码
connString 写上自己的连接字符串,new OraclDBHelper类的时候,初始化连接字符
public OracleConnection conn; string ConnectionString; public OracleDBHelper(string connString) { if (connString != null) { ConnectionString = connString; } } public bool Open() { string connString = ConfigurationManager.AppSettings[ConnectionString].ToString(); conn = new OracleConnection(connString); try { conn.Open(); return true; } catch (Exception e) { Console.Write(e); return false; } } public void CloseConn(OracleConnection conn) { if (conn == null) { return; } try { if (conn.State != ConnectionState.Closed) { conn.Close(); } } catch (Exception er) { Console.WriteLine(er.Message); throw; } finally { conn.Dispose(); } }
打开数据库之后,就可以对数据库进行操作了。
public DataSet GetDataSet(string cmdString, string tableName) { DataSet ds = new DataSet(); OracleDataAdapter myData = new OracleDataAdapter(); try { Open(); myData.SelectCommand = new OracleCommand(cmdString, conn); myData.Fill(ds, tableName); CloseConn(conn); } catch (Exception er) { Console.WriteLine(er.Message); } return ds; }