我正在尝试创建一个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
由于这对我不起作用,这个实现的正确方法应该是什么?任何帮助将不胜感激。
答案 0 :(得分: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
列宽,这必须与最大列字符一样大。