Соединение Oracle из внедрения зависимостей MVC C# в ядре .netC#

Место общения программистов C#
Ответить
Anonymous
 Соединение Oracle из внедрения зависимостей MVC C# в ядре .net

Сообщение Anonymous »

Я учусь программировать подключение к базе данных на MVC C#. Я определенно не знаком, я вижу что-то в Интернете, но я этого не понимаю. Вот мой код:
Вот как выглядит мой файл appsettings.json:

Код: Выделить всё

    "ConnectionStrings": {
"DBConn": "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=HOSTSERVER)     (PORT=0001))(CONNECT_DATA=(SERVICE_NAME=TEST.TEST.TEST)));User Id=Test_ID;Password=PassID;"}
На моем Program.Cs я увидел в Интернете что-то подобное, поэтому попробовал:

Код: Выделить всё

    builder.Services.AddTransient((sp) =>
new OracleConnection(builder.Configuration.GetConnectionString("DBConn")));
Теперь на моем контроллере, где я собираюсь проверить, есть ли у меня подключение к базе данных Oracle:

Код: Выделить всё

   using Oracle.ManagedDataAccess.Client;

public class HomeController : Controller
{
private readonly ILogger _logger;
private static Logger _nlogger = LogManager.GetCurrentClassLogger();
protected IDbConnection _connection;

public HomeController(ILogger logger, Logger nlogger,     IDbConnection connection)
{
_logger = logger;
_nlogger = nlogger;
_connection = connection;

}

public IActionResult Index()
{

try
{
using (_connection)
{
OracleCommand cmd = new OracleCommand();
cmd.Connection = _connection.;
cmd.CommandText = "pkgTest.TestSP";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("pi_app_cd", OracleDbType.Varchar2).Value = cID.APP_CODE;
cmd.Parameters.Add("po_refcsr", OracleDbType.RefCursor).Direction = ParameterDirection.Output;
conn.Open();
using (OracleDataReader reader = objCmd.ExecuteReader())
{
while (reader.Read())
{
rowCNT++;
}
reader.Close();
reader.Dispose();
}
objCmd.Dispose();
conn.Close();
conn.Dispose();
}

ViewData["Title"] = "Home";
}
catch (Exception ex)
{
_logger.LogError(ex.Message);
}
return View();
}
}

Мой код не будет собран, потому что соединение определенно неправильное. Мне нужно соединение оракула, но я пытаюсь установить IDbConnection. Я не знаю, как использовать внедрение зависимостей (если это правильный термин). Может быть, у кого-то есть мнение по этому поводу, как мне действовать? Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/792 ... n-net-core
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»