最开始,连接Oracle 数据是需要安装客户端的,ado.net
后来由于微软未来不再支持 System.Data.OracleClient 这个 Data Provider 的研发,从 .NET 4 以后的版本,会将不在维护和更新了。所以决定采用Oracle 自家的解决方案 ODP.NET;
ODP.NET,也是需要安装部署,而且还分32,64位两个版本,可能是掌握的不够好吧,经常报错,连接部署,不知道是和原因。有时候重启服务可以解决,有时候需要把32,64都安装了才能用
反正就是个坑。
Oracle.DataAccess.Client.OracleCommand”的类型初始值设定项引发异常。
以上都是不推荐的连接oracle方式。
Oracle官方的托管驱动,发布只需一个6M多的dll,支持EF 支持分布式事务。客户端不需要安装任何软件和做任何配置。只需要在项目中引用一个6M多的DLL(Oracle.ManagedDataAccess.dll)即可。
public void testconn()
{
Oracle.ManagedDataAccess.Client.OracleConnection conn = new Oracle.ManagedDataAccess.Client.OracleConnection("Data Source=192.168.10.100/orcl;User ID=admin;Password=123456");
conn.Open();
Oracle.ManagedDataAccess.Client.OracleCommand comm = new Oracle.ManagedDataAccess.Client.OracleCommand(" select * from tablename",conn);
Oracle.ManagedDataAccess.Client.OracleDataReader dr = comm.ExecuteReader();
while (dr.Read())
{
Console.WriteLine(dr["IP"].ToString());
}
dr.Close();
conn.Close();
}