C#不装Oracle客户端,连接数据库的方法

  前几天临时碰到个项目需求,让从Oracle数据库中直接查询视图数据。

  按照正常的模式,首先问清楚Oracle版本,然后安装Oracle客户端,更改“listener.ora”监听文件,安装PLSQL,连接、查询。

  再在代码中引用“System.Data.OracleClient.dll”,配置连接字符串使用。

  太麻烦了!

  依稀记得之前有个方法可以不需要安装Oracle客户端,也不区分X86还是X64的方式,即使用Oracle官方提供的“Oracle.ManagedDataAccess.dll”,具体操作如下:

1、使用NuGet找到最新版的“Oracle.ManagedDataAccess”

2、代码中引用——using Oracle.ManagedDataAccess.Client;

3、连接数据库,执行查询语句

	string sHISConn = "User Id=用户名;Password=密码;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=数据库IP)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=数据库名)))";
	string sExeSql = string.Format("SELECT * FROM 视图名称 WHERE TO_DATE(PAYTIME,'yyyy-mm-dd hh24:mi:ss') > TO_DATE('{0}','yyyy-mm-dd hh24:mi:ss')", dtExeDate.AddDays(1).ToString("yyyy-MM-dd"));
	DataSet ds = new DataSet();
	using (var conn = new OracleConnection(HISConn))
	{
		conn.Open();
		OracleCommand cmd = new OracleCommand(sExeSql, conn);
		OracleDataAdapter dap = new OracleDataAdapter(cmd);
		dap.Fill(ds);
		dap.Dispose();
		conn.Close();
	}         

4、执行类语句用法类似,替换成相应的执行方法即可。

 

Done

 

posted on 2024-11-14 09:34  IT王师傅  阅读(21)  评论(0编辑  收藏  举报

导航