我想:将表从 sql server 数据库导出到逗号分隔的csv
文件,而不使用 sql server 导入导出向导
我想使用查询来做到这一点,因为我想在自动化中使用查询
是否可以?我搜索了那个并没有找到一个好的答案
我想:将表从 sql server 数据库导出到逗号分隔的csv
文件,而不使用 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,而不是引用 -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 module轻松完成:
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);
});
rsubmit;
options missing=0;
ods listing close;
ods csv file='\\FILE_PATH_and_Name_of_report.csv';
proc sql;
SELECT *
FROM `YOUR_FINAL_TABLE_NAME';
quit;
ods csv close;
endrsubmit;
来自 SQL Server Management Studio
右键单击要导出的表并选择“选择所有行”
右键单击结果窗口并选择“将结果另存为...”