最開始,連接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();
}