SELECT INTO ステートメント
SELECT INTO ステートメントを使って、書式付きデータをファイルにエクスポートできます。
SQL クエリを使ったデータのエクスポート
次のクエリは、comma-separated values(CSV)ファイルフォーマットにデータをエクスポートします。
SELECT City, CompanyName INTO [csv://[CData].[Sample].Customers.txt] FROM [[CData].[Sample].Customers] WHERE Country = 'US'ファイルURI で他のフォーマットを指定できます。利用可能な区切り文字はタブ、セミコロン、カンマです。デフォルトはカンマです。次の例は、tab-separated values(TSV)にエクスポートします。
SELECT City, CompanyName INTO [csv://[CData].[Sample].Customers.txt;delimiter=tab] FROM [[CData].[Sample].Customers] WHERE Country = 'US'
C#
String connectionString = "Server=127.0.0.1;Port=27017;Database=test;User=test;Password=test;";
using (MongoDBConnection connection = new MongoDBConnection(connectionString)) {
MongoDBCommand cmd = new MongoDBCommand("SELECT City, CompanyName INTO [csv://[CData].[Sample].Customers.txt] FROM [[CData].[Sample].Customers] WHERE Country = 'US' ", connection);
int rowsAffected = cmd.ExecuteNonQuery();
}
VB.NET
Dim connectionString As [String] = "Server=127.0.0.1;Port=27017;Database=test;User=test;Password=test;"
Using connection As New MongoDBConnection(connectionString)
Dim cmd As New MongoDBCommand("SELECT City, CompanyName INTO [csv://[CData].[Sample].Customers.txt] FROM [[CData].[Sample].Customers] WHERE Country = 'US'", connection)
Dim rowsAffected As Integer = cmd.ExecuteNonQuery()
End Using
URI で他のファイルフォーマットを指定できます。以下の例は、tab-separated values(TSV)にエクスポートします。
C#
String connectionString = "Server=127.0.0.1;Port=27017;Database=test;User=test;Password=test;";
using (MongoDBConnection connection = new MongoDBConnection(connectionString)) {
MongoDBCommand cmd = new MongoDBCommand("SELECT * INTO [[CData].[Sample].Customers] IN [csv://filename=c:/[CData].[Sample].Customers.csv;delimiter=tab] FROM [[CData].[Sample].Customers] WHERE Country = 'US'", connection);
int rowsAffected = cmd.ExecuteNonQuery();
}
VB.NET
Dim connectionString As [String] = "Server=127.0.0.1;Port=27017;Database=test;User=test;Password=test;"
Using connection As New MongoDBConnection(connectionString)
Dim cmd As New MongoDBCommand("SELECT * INTO [[CData].[Sample].Customers] IN [csv://filename=c:/[CData].[Sample].Customers.csv;delimiter=tab] FROM [[CData].[Sample].Customers] WHERE Country = 'US'", connection)
Dim rowsAffected As Integer = cmd.ExecuteNonQuery()
End Using