我有几个用PHP编写的服务,我正在迁移到.NET。我曾尝试使用WCF和Web API连接到我的Oracle数据库并从该数据库中提取信息,是否可以直接从Web应用程序运行查询或者执行此操作的正确方法是什么?以下是我尝试运行的查询:
select t2.meternumber, t1.blinkdate, t1.blinkcount
from
(select * from cecc_processed_blinks where trunc(blinkdate) between to_date(?, 'dd-mon-yy') and to_date(?, 'dd-mon-yy')) t1
left join meteraccts t2 on t1.serialnumber = t2.serialnumber
where t2.meternumber = ?
order by t1.blinkdate desc
此时我已连接到我的Oracle数据库,但我找不到很多关于将Oracle实现到.NET的文档,或者至少我理解为缺乏经验的C#开发人员。
答案 0 :(得分:0)
您可以使用Oracle Managed ODP.NET adapter。
最新版本支持EF6,可以满足您的需求。
您可以使用以下命令直接从nuget命令行安装它:
Install-Package odp.net.managed
答案 1 :(得分:-1)
如果您使用的是visual studio,请打开Nuget Package Manager控制台并输入以下内容:
Install-Package odp.net.managed
https://www.nuget.org/packages/odp.net.managed/
之后很容易。添加using语句:
using Oracle.DataAccess.Client; // ODP.NET Oracle managed provider
using Oracle.DataAccess.Types;
然后进行查询......
string oradb = "Data Source=ORCL;User Id=hr;Password=hr;";
OracleConnection conn = new OracleConnection(oradb); // C#
conn.Open();
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "select * from some table";
cmd.CommandType = CommandType.Text;
OracleDataReader dr = cmd.ExecuteReader();
dr.Read();
string text = dr.GetString(0);
conn.Dispose();