使用 Windows 批处理脚本将 SQL 表导出到 CSV 文件

问题描述 投票:0回答:1

我正在尝试创建一个 Windows 批处理文件以将数据从 SQL 文件导出到 CSV 文件。

我在 %MYHOME%\database\NET-DB.sql 中有一个 SQL 文件,其中包含以下数据:

NET-DB.sql

insert into net_network (id, a_id, alias, address, domain, mask) values('NET_10.10.1.0_10', 1, 'Local Network', '10.10.1.0', '', '255.255.252.0');

到目前为止,我尝试将数据从 net_network 表导出到我的 .bat 文件中的 CSV 文件是使用以下命令:

export.bat

if not exist "%MYHOME%\net\NUL" mkdir "%MYHOME%\net"
COPY net_network TO '%MYHOME%\net\CSV-EXPORT_FILE.csv' DELIMITER ',' CSV HEADER;
pause

既然这对我不起作用,那么这个实现的正确方法应该是什么?任何帮助将不胜感激。

sql csv batch-file
1个回答
0
投票

使用

SQLCMD

您需要修改代码以使其在您的环境中工作,但这里是。

if not exist "%MYHOME%\net\NUL" mkdir "%MYHOME%\net"
cd "C:\your path\to\sqlcmd"
sqlcmd -S YourDBServer -d DB_NAME -E -Q "select id, a_id, alias, address, domain, mask from net_network" 
       -o "CSV-EXPORT-FILE.csv" -s"," -w 255

一些解释:

-S
要连接的数据库服务器。

-d
要连接的数据库的名称。

-Q
查询运行,也可以插入,删除,更新等

-o
选择输出文件

-s
","用逗号隔开

-w
列宽,这必须与最大的列字符一样大。

© www.soinside.com 2019 - 2024. All rights reserved.