gpt4 book ai didi

c# - 如何从 .Net Core 连接到 Oracle 数据库连接

转载 作者:IT王子 更新时间:2023-10-29 04:38:31 41 4
gpt4 key购买 nike

在 .netCore 库中,我想连接到 Oracle 数据库。我有什么办法可以做到这一点吗?

我已经尝试了 another SO post 上的建议,但它不起作用,也许从那以后被删除了?正如您在我的 project.json 中所见,我正在尝试使用“net461”。

我目前正在尝试通过老式的 ADO.Net 使用 Oracle.ManagedDataAccess.Client。我还知道 Oracle 还没有买断 .netCore 连接器。但即使在那里我也无法让它工作,它很难包含 System.Data,每当我尝试添加它时它都会出错。

我的 project.json 看起来像这样:

{
"version": "1.0.0-*",

"dependencies": {
"NETStandard.Library": "1.6.0",
"Oracle.ManagedDataAccess": "12.1.24160719",
},

"frameworks": {
"netstandard1.6": {
"imports": [
"dnxcore50",
"net461"
]
}
}
}

这就是我当时正在尝试的方式。

using Oracle.ManagedDataAccess.Client;

public class MyRepository
{
public string GetServerVersion()
{
var _db = new OracleConnection("User Id=myUser;Password=myPassword;Data Source=MyOracleConnection");

var serverVersion = _db.ServerVersion;
return serverVersion;
}
}

但是上面没有编译,因为它没有我正在努力导入的 System.Data。

我并不执着于任何特定的做事方式,我只是想要此时此刻最合理的选择

最佳答案

Oracle 于 2018 年 1 月底发布的 Beta 版 .Net Core Managed 驱动程序 http://www.oracle.com/technetwork/topics/dotnet/downloads/net-downloads-160392.html .文档中提到的支持平台现在是 Win 和 Linux。

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

其他带有标准/即时 Oracle 客户端的旧替代品:

我的 TestCore.csproj 作为最后一个选择:

<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>

我的程序.cs:

using System;
using System.Data.OracleClient;

namespace TestCore
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Starting.\r\n");
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("\r\nDone. Press key for exit");
Console.ReadKey();
}
}
}
}

关于c# - 如何从 .Net Core 连接到 Oracle 数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41459631/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com