SELECT INTO ステートメント
SELECT INTO ステートメントを使って、書式付きデータをファイルにエクスポートできます。
SQL クエリを使ったデータのエクスポート
次のクエリは、comma-separated values(CSV)ファイルフォーマットにデータをエクスポートします。
SELECT name, email INTO [csv://res_users.txt] FROM [res_users] WHERE company_name = 'Company Inc.'ファイルURI で他のフォーマットを指定できます。利用可能な区切り文字はタブ、セミコロン、カンマです。デフォルトはカンマです。次の例は、tab-separated values(TSV)にエクスポートします。
SELECT name, email INTO [csv://res_users.txt;delimiter=tab] FROM [res_users] WHERE company_name = 'Company Inc.'
C#
String connectionString = "User=MyUser;APIToken=MyToken;URL=http://MyOdooSite/;Database=MyDatabase";
using (OdooConnection connection = new OdooConnection(connectionString)) {
OdooCommand cmd = new OdooCommand("SELECT name, email INTO [csv://res_users.txt] FROM [res_users] WHERE company_name = 'Company Inc.' ", connection);
int rowsAffected = cmd.ExecuteNonQuery();
}
VB.NET
Dim connectionString As [String] = "User=MyUser;APIToken=MyToken;URL=http://MyOdooSite/;Database=MyDatabase"
Using connection As New OdooConnection(connectionString)
Dim cmd As New OdooCommand("SELECT name, email INTO [csv://res_users.txt] FROM [res_users] WHERE company_name = 'Company Inc.'", connection)
Dim rowsAffected As Integer = cmd.ExecuteNonQuery()
End Using
URI で他のファイルフォーマットを指定できます。以下の例は、tab-separated values(TSV)にエクスポートします。
C#
String connectionString = "User=MyUser;APIToken=MyToken;URL=http://MyOdooSite/;Database=MyDatabase";
using (OdooConnection connection = new OdooConnection(connectionString)) {
OdooCommand cmd = new OdooCommand("SELECT * INTO [res_users] IN [csv://filename=c:/res_users.csv;delimiter=tab] FROM [res_users] WHERE company_name = 'Company Inc.'", connection);
int rowsAffected = cmd.ExecuteNonQuery();
}
VB.NET
Dim connectionString As [String] = "User=MyUser;APIToken=MyToken;URL=http://MyOdooSite/;Database=MyDatabase"
Using connection As New OdooConnection(connectionString)
Dim cmd As New OdooCommand("SELECT * INTO [res_users] IN [csv://filename=c:/res_users.csv;delimiter=tab] FROM [res_users] WHERE company_name = 'Company Inc.'", connection)
Dim rowsAffected As Integer = cmd.ExecuteNonQuery()
End Using