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

bpzcxfmw  于 2023-01-22  发布在  Windows
关注(0)|答案(1)|浏览(282)

我正在尝试创建一个Windows批处理文件,以便将数据从SQL文件导出到CSV文件。
我在**%MYHOME%\database\NET-DB.sql**中有一个SQL文件,其中包含以下数据:

网络数据库.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文件中,使用的是以下命令:

导出.bat

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

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

omvjsjqw

omvjsjqw1#

使用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列宽,它必须与最大列字符一样大。

相关问题