对于系统需要直接连接Oracle数据库,并且不想安装Oracle客户端的看过来。
只需要加载对应的托管DLL,就可以免客户端直接连接Oracle了。
下面是使用步骤:
1、在项目中添加DLL文件引用:Oracle.ManagedDataAccess.dll
2、定义连接字符串:Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)));User Id=username;Password=password;Pooling=true;Max Pool Size =1024;
在使用时请替换正确的IP,username,password
3、在类中添加引用:using Oracle.ManagedDataAccess.Client;
然后就可以愉快的连接Oracle了,以下是示例代码:
using Oracle.ManagedDataAccess.Client;
private string connectionString ="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)));User Id=username;Password=password;Pooling=true;Max Pool Size =1024;"
public static DataTable ExecuteDataTable(string sql, params OracleParameter[] pms)
{
DataTable dt = new DataTable();
using (OracleDataAdapter adapter = new OracleDataAdapter(sql, connectionString))
{
if (pms != null)
{
adapter.SelectCommand.BindByName = true;
adapter.SelectCommand.Parameters.AddRange(pms);
//adapter.SelectCommand.Parameters.
adapter.SelectCommand.BindByName = true;
}
adapter.Fill(dt);
}
return dt;
}
Tips:在第一次连接的时候会需要初始化资源比较慢,建议在程序打开的时候,开后台线程调用一次Oracle连接完成初始化,后续正常使用就很快了。