【问题标题】:Executing an SQL file from BAT script从 BAT 脚本执行 SQL 文件
【发布时间】:2014-11-23 02:40:44
【问题描述】:

我创建了一个批处理脚本,它应该在同一目录中执行 SQL 文件,然后暂停,我连接到 MYSQL 并在 SQL 文件中发出命令。出于某种原因,当我将这些行直接粘贴到命令窗口时,它工作正常。当我进行如下设置时,我收到拒绝访问错误。谁能指出我做错了什么?

BAT 文件:

cmd < script.sql
pause

Script.SQL 文件

@echo off
mysql --host=localhost --user=dbuser --password=dbpassword --database=dbname
SELECT `SERVER_ID`
FROM tc_services
WHERE  `GAME_ID` LIKE  '%TC510254610%'
INTO OUTFILE 'D:\\Program Files (x86)\\TCAdmin Control Panel\\ScheduledTasks\\GAME\\ServerID.txt'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n';
exit

【问题讨论】:

标签: mysql windows batch-file


【解决方案1】:

您的文件组织不正确。请按如下方式重做文件:

BAT 文件:

@echo off
mysql --host=localhost --user=dbuser --password=dbpassword --database=dbname < script.sql
pause

script.sql 文件

SELECT `SERVER_ID`
FROM tc_services
WHERE  `GAME_ID` LIKE  '%TC510254610%'
INTO OUTFILE 'D:\\Program Files (x86)\\TCAdmin Control Panel\\ScheduledTasks\\GAME\\ServerID.txt'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n';

试试看!!!

【讨论】:

    【解决方案2】:

    您没有说明您使用的是什么操作系统。看起来您正在尝试将输出文件写入“\Program Files (x86)”目录。作为一项安全措施,Windows 不允许用户写入该文件区域。您需要转到“D:\Program Files (x86)\TCAdmin Control Panel\ScheduledTasks\GAME\”文件夹的安全设置,并确保运行 bat/script 文件的用户对该文件夹具有写入权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-25
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多