2013-04-08 163 views
1

我正在最后一步创建一个安装了inno setup的java swing应用程序。 在这次安装中,我调用了一个批处理文件来获取mysql的安装。我的问题是,我想打电话从一个批处理文件SQL脚本,这是我做的,但它不工作:如何创建批处理文件来执行sql脚本

@echo off 
C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql -u root -p password < dbase.sql; 

(* “dbase.sql”在此脚本创建数据库与表)。当我安装程序

[Run] 

Filename: "C:\Documents and Settings\esolutions\Mes documents\dumps\install.bat"; Flags: shellexec waituntilterminated 

所以: *

这里我在Inno Setup的执行该批处理文件。我运行mysql命令行,我发现脚本不执行(不创建数据库)

+0

不要硬编码路径,也许你会没事的。 – TLama 2013-04-08 11:35:44

+0

抱歉,你的意思是? – Majda 2013-04-08 11:41:40

+0

该命令是否可以直接从comamnd提示符运行? – Deanna 2013-04-08 11:45:47

回答

4

你有-p太后省略的空间。

@echo off 
"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql" -u root -ppassword < dbase.sql; 
+0

谢谢@vidulahasaranga工作正常 – Majda 2013-04-08 11:57:04

+0

其基本原理的MySQL,** - p **之后不能有任何空间。 – vidulahasaranga 2013-04-08 12:42:31

0

更改脚本如下

@echo off 
"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql" -u root -p password < dbase.sql; 
+0

谢谢@Amit执行的东西,但不执行脚本。我不知道我能做什么 – Majda 2013-04-08 11:39:46

+0

它给出了什么错误信息? – Amit 2013-04-08 11:42:32

+0

它没有提供任何错误消息,但是当我查看mysql命令时(在Windows上),我发现没有创建数据库,所以sql脚本没有执行,但它显示了一些执行 – Majda 2013-04-08 11:44:02