而使用ANSI编码却没啥问题,而且执行正常?
bat文件如下:
@title 备份数据库
@bcp "SELECT * FROM sportSys.dbo.competitions where sportSys.dbo.competitions.userId="+%1 queryout %2competitions.xls -T -c >>%3log.txt
@bcp "SELECT * FROM sportSys.dbo.item where sportSys.dbo.item.userId="+%1 queryout %2item.xls -T -c >>%3log.txt
@bcp "SELECT * FROM sportSys.dbo.itemType where sportSys.dbo.itemType.userId="+%1 queryout %2itemType.xls -T -c >>%3log.txt
@bcp "SELECT * FROM sportSys.dbo.agenda where sportSys.dbo.agenda.userId="+%1 queryout %2agenda.xls -T -c >>%3log.txt
@pause
@exit
如果是ANSI编码,则Java中通过
Runtime.getRuntime().exec调用正常!
但是,如果编码是UTF-8,则提示如下错误:
E:\Tomcat6.0\bin>锘緻bcp "SELECT * FROM sportSys.dbo.competitions where sportSy
.dbo.competitions.userId="+9 queryout E:\Tomcat6.0\webapps\SportSys\download\9\
ompetitions.xls -T -c 1>>E:\Tomcat6.0\webapps\SportSys\download\9\log.txt
'锘緻bcp' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
请按任意键继续. . .
第一条语句不执行,报错,
后面的语句能正常执行!
3 个解决方案
#1
天朝用户windows一把但是GBK编码,只不过说成是ansi,用utf-8当然不行咯,你试下gbk
#2
保存bat时修改编码
#3
用定时器设计的门铃
#1
天朝用户windows一把但是GBK编码,只不过说成是ansi,用utf-8当然不行咯,你试下gbk
#2
保存bat时修改编码
#3
用定时器设计的门铃