我想:将表从 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
右键单击要导出的表并选择“选择所有行”
右键单击结果窗口并选择“将结果另存为...”