соединение с Oracle db дает System.TypeInitializationException 'в Oracle.DataAccess.dll? - PullRequest
1 голос
/ 07 октября 2019

Я пытаюсь подключиться к базе данных в небольшом консольном приложении, оно работает. но сейчас я делаю успокаивающий API для школы, но застрял на ошибка времени выполнения :

System.TypeInitializationException 'в Oracle.DataAccess.dll

мое исключение конца кода в моих выходных данных

Я много пробовал. проверил, верна ли версия, она настроена хорошо, я думаю. я использую

    [HttpPost("InsertKlok")]
    public IActionResult InsertKlok(Klok klkregd)
    {
        string constr = "Data Source=MydataSource;User Id=MyuserId;Password=Mypassword;";
        var query = "Insert INTO KLOK(KLOK_ID, REDEN,INUIT) VALUES(" + klkregd.Klok_Id + ",'" + klkregd.Reden + "','" + klkregd.InUit + "')";
        try
        {
            OracleConnection conn = new OracleConnection(constr);
            OracleCommand command = new OracleCommand(query, conn);
            conn.Open();
            command.ExecuteNonQuery(); 
            Console.WriteLine("Record inserted");
        }
        catch (Exception e)
        {
            Console.WriteLine(e);
        }
        return Ok(klkregd);
    }

    [Route("klok/")]
    [HttpPost("AddKlok")]
    public JsonResult AddKlok(Klok klkregd)
    {
        Console.WriteLine("In registerStudent");
        KlokRegistratieAntwoord klkregdreply = new KlokRegistratieAntwoord();
        KlokRegistratie.getInstance().Add(klkregd);
        klkregdreply.Klok_Id = klkregdreply.Klok_Id;
        klkregdreply.Reden = klkregdreply.Reden;
        klkregdreply.InUit = klkregdreply.InUit;

        return Json(klkregdreply);
    }
}

} `

В моем консольном приложении у меня есть тот же код и файл для соединения оракула, но здесь он не работает, пожалуйста, кто-то может мне помочь

1 Ответ

0 голосов
/ 08 октября 2019

Поскольку вы используете .net core , вы можете попробовать Oracle.ManagedDataAccess.Core вместо Oracle.DataAccess;цитата:

Поставщик данных Oracle для .NET (ODP.NET) Core - это драйвер ADO.NET, который обеспечивает быстрый доступ данных от клиентов Microsoft .NET Core к базам данных Oracle. Ядро ODP.NET состоит из одного 100% управляемого кода динамически подключаемой библиотеки

( полужирный принадлежит мне). Вы можете получить сборку через Nuget :

https://www.nuget.org/packages/Oracle.ManagedDataAccess.Core/

Пожалуйста, ознакомьтесь также с учебником от Oracle:

https://www.oracle.com/webfolder/technetwork/tutorials/obe/db/dotnet/ODPNET_Core_get_started/index.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...