gpt4 book ai didi

odbc - AWS RedShift - .NET Core(ODBC 支持?)

转载 作者:行者123 更新时间:2023-12-05 00:42:22 25 4
gpt4 key购买 nike

如何使用 .NET Core 连接和运行针对 AWS RedShift 的查询?代码示例请。我已经阅读了 AWS 文档和 .Net Core 文档,但没有运气。

最佳答案

这个答案是针对特定时间点的,不会过时......

EntityFramework Core 项目是我最关注的项目。缺少 ODBC 是众所周知的,特别是对于那些想要连接到 Oracle 的人。目前,您可能需要为 .NET Core fork 一个 Oracle 客户端并根据需要进行修改。

我在快速谷歌搜索后找到了这些项目,现在可能对你有帮助......

- https://github.com/LinqDan/oracleclientcore
- https://github.com/LinqDan/Mono.Data.OdbcCore

从长远来看,您需要关注这两个 GitHub 问题,它们正在为 EntityFramework Core 和 .NETStandard API 跟踪它。

  • https://github.com/dotnet/corefx/issues/13035
  • https://github.com/aspnet/EntityFramework/issues/7432

  • 2017 年 6 月 23 日更新:

    现在可以通过 Npgsql.EntityFrameworkCore.PostgreSQL NuGet 包和关联的 Entity Framework Core 包。显然,PostgreSQL 团队已经厌倦了等待 ODBC 支持(在最新的 netstandard2.0 中仍然不可用)并使用 netstandard 编写了他们自己的驱动程序 - 早在 11 月的时间范围内。 getting started npgsql 网站上的页面涵盖了它在旧 JSON 项目格式中的用法 - 但列出的依赖项仍然有效。

    以下是您将如何使用该软件包...
    using (var conn = new NpgsqlConnection("Host=myserver;Username=mylogin;Password=******;Database=music"))
    {
    conn.Open();
    using (var cmd = new NpgsqlCommand())
    {
    cmd.Connection = conn;

    cmd.CommandText = "SELECT name FROM artists";
    using (var reader = cmd.ExecuteReader())
    {
    while (reader.Read())
    {
    Console.WriteLine(reader.GetString(0));
    }
    }
    }
    }

    使用此驱动程序时要记住的一件事 - 它是为 PostgreSQL 而不是 Redshift 编写的。虽然 Redshift 基于 PostgreSQL,但它的底层引擎更像是 Cassandra。结果,亚马逊不得不在开发中做出一些选择,以放弃 PostgreSQL 支持的某些东西——例如 SQL 变量。因此,对于在其他 Entity Framework 实现中可能习惯的某些事情,您将获得相当有限的体验。只要您继续使用直接访问 *Connection、*Command 和 DataReader 类并编写自己的 SQL,就应该没问题。

    关于odbc - AWS RedShift - .NET Core(ODBC 支持?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41947828/

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