Solución:
Versión beta del controlador administrado de .Net Core lanzado por Oracle a fines de enero de 2018 http://www.oracle.com/technetwork/topics/dotnet/downloads/net-downloads-160392.html. La plataforma de mención admitida en doc ahora es Win y Linux.
Nuget: https://www.nuget.org/packages/Oracle.ManagedDataAccess.Core
Otras alternativas antiguas con clientes Oracle instantáneos / estándar:
- para .Net Core 2.0 I recomendar para utilizar ericmend oracleClientCore-2.0: https://github.com/ericmend/oracleClientCore-2.0. Nuget: dotNetCore.Data.OracleClient Lo usé con éxito en la plataforma Win y Linux. Ahí está mi pequeña muestra
- Alternativamente System.Data.OracleClient también funciona para 2.0 – vea la publicación de @Owen. Pero lo pruebo solo en la plataforma Win
- para .Net Core> = 1.0 puede usar el cliente LinqDan Oracle no oficial para .NET Core basado en el cliente Oracle de Mono https://github.com/LinqDan/oracleclientcore Nuget: Mono.Data.OracleClientCore.
mi TestCore.csproj para la última alternativa:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp1.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Mono.Data.OracleClientCore" Version="1.0.0" />
</ItemGroup>
</Project>
Mi program.cs:
using System;
using System.Data.OracleClient;
namespace TestCore
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Starting.rn");
using (var _db = new OracleConnection("User Id=myUser;Password=myPassword;Data Source=MyOracleConnection"))
{
Console.WriteLine("Open connection...");
_db.Open();
Console.WriteLine( "Connected to:" +_db.ServerVersion);
Console.WriteLine("rnDone. Press key for exit");
Console.ReadKey();
}
}
}
}
Oracle planea certificar ODP.NET, controlador administrado en Microsoft .NET Core a fines del año calendario 2017.
Oracle tiene la intención de admitir ODP.NET administrado en .NET Core en sistemas operativos Windows y Oracle Linux. Managed ODP.NET puede admitir sistemas operativos adicionales. Oracle continuará evaluando el soporte para otras distribuciones de Linux y anunciará adiciones a la lista de certificación en el futuro. Oracle no planea certificar en versiones anteriores a Microsoft .NET Core 2.0. .NET Core 2.0 contiene numerosas características que hacen posible la certificación ODP.NET administrada en el marco
De este artículo: http: //www.oracle.com/technetwork/topics/dotnet/tech-info/odpnet-dotnet-core-sod-3628981.pdf
Actualizado: Beta lanzado ODP.NET Core
Oracle publicó el proveedor de datos oficial para .NET Core en nuget.
Aquí hay un ejemplo básico para mostrar cómo usarlo:
using Oracle.ManagedDataAccess.Client;
public void Execute(string queryString, string connectionString)
{
using (OracleConnection connection = new OracleConnection(connectionString))
{
OracleCommand command = new OracleCommand(queryString, connection);
command.Connection.Open();
command.ExecuteNonQuery();
}
}
Básicamente, puede usarlo exactamente como el .NET System.Data.SqlClient oficial (fáciles de encontrar tutoriales en línea para esto) y simplemente reemplazar en todas partes en el código SqlConnection con OracleConnection y SqlCommand con OracleCommand.