c # — Создание службы .NET для запуска Oracle Query

У меня есть несколько служб, написанных на PHP, которые я перевожу на .NET. Я пытался использовать WCF и веб-API для подключения к моей базе данных Oracle и получения информации из этой базы данных, возможно ли выполнить запрос прямо из веб-приложения или как правильно это сделать? Вот запрос, который я пытаюсь выполнить:

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

Решение

Вы можете использовать Oracle Managed ODP.NET адаптер.

Последняя версия имеет поддержку EF6, которая должна дать вам именно то, что вам нужно.

Вы можете установить его прямо из командной строки nuget с помощью следующей команды:

Install-Package odp.net.managed
0

Другие решения

Если вы используете Visual Studio, откройте консоль диспетчера пакетов Nuget и введите следующую команду:

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();

http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/hol08/dotnet/getstarted-c/getstarted_c_otn.htm

-1

По вопросам рекламы [email protected]