2016-06-30 20 views
1

データベースへの接続という2つの技術の違いを理解できたら助かりますか?.netデータプロバイダとODBCドライバの違いは何ですか?

私はデータベース接続の分野では初めてですが、それぞれの場合にどの技術が使用されているのか具体的な例を説明できますか? Visual Studioを開発してMySQLに接続しようとしているのですが、その理由は何ですか?

質問は専門家にとっては馬鹿に思えるかもしれませんが、あなたが私のためにそれを明確にするなら、私は非常に感謝しています。

答えて

0

.NETデータプロバイダは、データソースへのアクセスを提供するソフトウェアコンポーネントです。これらは、.NETアプリケーション(C#、VB.NETなど)で動作するように特別に設計されており、Connection、Command、DataReader、DataAdapter(ネイティブのSystem.Data.SQLClientクラスに似ています)の少なくともいくつかの標準クラス/関数を持ちます。

ODBCドライバは非常に似ていますが、ODBC標準を使用して書かれていますが、アプリケーションでプログラムで使用できますが、一般的なBI/reporting/ETLの任意の数のデータコネクタとしても使用できますツール(Tableau、QlikView、PowerBIなど)。 .NETアプリケーションでODBCドライバを使用するには、Microsoft.Data.ODBC libraryを使用する必要があります。

ご使用のケースでは、.NETアプリケーションで使用するように特別に設計された製品を使用していることを確認できるように、ADO.NETデータプロバイダを使用することをお勧めします。いくつかの基本的なコードは次のようになります:

string connString = "server=XXX.XXX.XXX.XXX;database=myDatabase;user=myUser;password=myPassword;..."; 

using (MySQLConnection conn = new MySQLConnection(connString){ 

    MySQLCommand cmd = new MySQLCommand("SELECT * FROM some_table", conn); 
    MySQLDataReader rdr = cmd.ExecuteReader(); 

    while(rdr.Read()) { 

    Console.WriteLine("================="); 

    for (int i=0; i<rdr.FieldCount; i++) { 
     Console.WriteLine(rdr.GetName(i) + ":\t\t" + rdr.GetValue(i)); 
    } 
    } 
} 
+0

ありがとうございました。 – SergeiK

関連する問題