2017-01-31 34 views
0

.NETコアを使用してAWS RedShiftに対してクエリを接続して実行するにはどうすればよいですか?コードサンプルをお願いします。私はAWSのドキュメントと.Netコアのドキュメントを通過しましたが、運はありません。AWS RedShift - .NETコア(ODBCサポート)

答えて

-2

Amazon RedshiftにJDBCまたはODBC Driverで接続し、通常のSQLデータベースのようににアクセスしてください。

AWS APIを使用してクラスタを起動/停止しますが、すべてのクエリとリクエストはSQL接続を経由します。

+0

Johnさん、ありがとうございましたが、.NET Coreを使用するサンプルコードを提供することはできますか。 –

+0

.NET CoreがODBCドライバ経由の接続/クエリをサポートしていないと思います。 –

+0

これまでのところ、(2.0)まではまだODBCを持っていない.netコアを使用するというこの問題の鍵となる点には何ら答えていません。この段階で2.1となるでしょう。https://github.com/dotnet/corefx/issues/13035 –

3

この答えは、特定の時点するためのもので、よく年齢ではないだろう...

EntityFrameworkコアプロジェクト

は、私が上で、最も近い目を維持したいものです。 ODBCが不足していることはよく知られています。特に、Oracleに接続したい人にとっては有益です。当面は、Oracleクライアントfor .NETのコアをフォークし、必要に応じて変更する必要があります。 https://github.com/LinqDan/oracleclientcore - -

私は今...

のためにあなたを助けることができるかもしれ迅速なGoogle検索の後にこれらのプロジェクトを見つけhttps://github.com/LinqDan/Mono.Data.OdbcCore

長期的に、あなたは目を維持したいでしょうEntityFramework Coreと.NETStandard APIのためにそれを追跡しているこれら二つのGitHubの問題..

アップデート2017年6月23日:

これはNpgsql.EntityFrameworkCore.PostgreSQL NuGetパッケージと関連するEntity Frameworkのコア・パッケージによって可能になりました。明らかに、PostgreSQLチームはODBCサポート(まだ最新のnetstandard2.0では利用できません)を待つことに飽き飽きし、11月のタイムフレームでnetstandardを使用して独自のドライバを作成しました。 npgsqlウェブサイトのgetting startedページには、古い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はPostgreSQLをベースにしていますが、基本エンジンはCassandraに似ています。その結果、Amazonは、PostgreSQLがサポートするSQL変数などの特定のものを削除するために、いくつか開発の選択肢を設けなければなりませんでした。このため、他のEntity Frameworkの実装で使用されていた特定の事柄については、かなり制限された経験があります。直接アクセス* Connection、* Command、およびDataReaderクラスを使用して滞在し、独自のSQLを記述する限り、上手くいくはずです。

+0

純粋な.NET標準接続方法を含むように私の回答@ shahed-kaziを更新しました。 –

関連する問題