DataAdapter を使用したクエリ
CData ADO.NET Provider for Splunk では、次の2つのネイティブ.NET インターフェースを使用して、Splunk からデータを取得できます。SplunkDataAdapter オブジェクトおよびSplunkDataReader オブジェクト。各オブジェクトは同じタスク(データの取得)を実行しますが、実行方法が異なります。SplunkDataAdapter オブジェクトはクエリに一致するすべてのデータを取得しますが、SplunkDataReader オブジェクトは必要に応じてインクリメントしながら一部のデータだけをフェッチします。
SplunkDataAdapter の使用
アダプターのFill メソッドを使用して、データソースからデータを取得します。空のDataTable インスタンスがFill メソッドへの引数として渡されます。このメソッドが戻ってきたとき、DataTable インスタンスにはクエリされたデータが設定されています。Fill メソッドは、戻る前にデータソースからすべてのデータを取得する必要があるため、SplunkDataAdapter はSplunkDataReader よりも時間がかかります。
次の例は、DataModels テーブルのName カラムとOwner カラムを選択します。
C#
string connectionString = "user=MyUserName;password=MyPassword;URL=MyURL;"; using (SplunkConnection connection = new SplunkConnection(connectionString)) { SplunkDataAdapter dataAdapter = new SplunkDataAdapter( "SELECT Name, Owner FROM DataModels", connection); DataTable table = new DataTable(); dataAdapter.Fill(table); Console.WriteLine("Contents of DataModels."); foreach (DataRow row in table.Rows) { Console.WriteLine("{0}: {1}", row["Name"], row["Owner"]); } }
VB.NET
Dim connectionString As String = "user=MyUserName;password=MyPassword;URL=MyURL;" Using connection As New SplunkConnection(connectionString) Dim dataAdapter As New SplunkDataAdapter("SELECT Name, Owner FROM DataModels", connection) Dim table As New DataTable() dataAdapter.Fill(table) Console.WriteLine("Contents of DataModels.") For Each row As DataRow In table.Rows Console.WriteLine("{0}: {1}", row("Name"), row("Owner")) Next End Using