csv
したいこと: SQL Server インポート エクスポート ウィザードを使用せずに、SQL Serverデータベースからコンマ区切りファイルにテーブルをエクスポートする
自動化でクエリを使いたいのでクエリでやりたい
出来ますか?私はそれを検索しましたが、良い答えが見つかりませんでした
csv
したいこと: SQL Server インポート エクスポート ウィザードを使用せずに、SQL Serverデータベースからコンマ区切りファイルにテーブルをエクスポートする
自動化でクエリを使いたいのでクエリでやりたい
出来ますか?私はそれを検索しましたが、良い答えが見つかりませんでした
いくつかのアイデア:
1. Run a SELECT statement to filter your data
2. Click on the top-left corner to select all rows
3. Right-click to copy all the selected
4. Paste the copied content on Microsoft Excel
5. Save as CSV
例:
コマンド プロンプトからクエリを実行し、ファイルにエクスポートできます。
sqlcmd -S . -d DatabaseName -E -s, -W -Q "SELECT * FROM TableName" > C:\Test.csv
引用符をセパレーターとして設定する場合を除き、引用符セパレーターを使用しないでください。引用符 -s',' は使用しないでください。
詳細はこちら: ExcelSQLServer
ノート:
このアプローチでは、ファイルの下部に「影響を受ける行」の情報が含まれますが、クエリ自体で「SET NOCOUNT ON」を使用すると、これを取り除くことができます。
実際のクエリの代わりにストアド プロシージャを実行することもできます (例: "EXEC Database.dbo.StoredProcedure")。
例:
bcp "SELECT * FROM Database.dbo.Table" queryout C:\Test.csv -c -t',' -T -S .\SQLEXPRESS
カンマ区切りを -t',' と -t, だけで引用することが重要です。
詳細はこちら: bcp ユーティリティ
ノート:
お役に立てれば。
これは、Excelにエクスポートするために見つけたオプションです(CSV用に変更できると思います)
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=D:\testing.xls;',
'SELECT * FROM [SheetName$]') select * from SQLServerTable
次の Node.js モジュールを使用して簡単に実行することもできます。
https://www.npmjs.com/package/mssql-to-csv
var mssqlExport = require('mssql-to-csv')
// All config options supported by https://www.npmjs.com/package/mssql
var dbconfig = {
user: 'username',
password: 'pass',
server: 'servername',
database: 'dbname',
requestTimeout: 320000,
pool: {
max: 20,
min: 12,
idleTimeoutMillis: 30000
}
};
var options = {
ignoreList: ["sysdiagrams"], // tables to ignore
tables: [], // empty to export all the tables
outputDirectory: 'somedir',
log: true
};
mssqlExport(dbconfig, options).then(function(){
console.log("All done successfully!");
process.exit(0);
}).catch(function(err){
console.log(err.toString());
process.exit(-1);
});
SQL Server Management Studio から
エクスポートするテーブルを右クリックし、[すべての行を選択] を選択します。
結果ウィンドウを右クリックし、[名前を付けて結果を保存...] を選択します。
まさにそれを行う小さなツールを作成しました。コードはgithubで入手できます。
1 つ (または複数) の SQL クエリの結果を 1 つ (または複数) の CSV ファイルにダンプするには:
java -jar sql_dumper.jar /path/sql/files/ /path/out/ user pass jdbcString
乾杯。