FishBone_Ever 2015-04-22 07:02 采纳率: 50%
浏览 2698

java 执行 sql 文件报错 求大神帮忙解决 急急急!!!!

sql文件里边的内容
/*
Navicat MySQL Data Transfer

Source Server : localhost_3306
Source Server Version : 50096
Source Host : localhost:3306
Source Database : cemscenter1

Target Server Type : MYSQL
Target Server Version : 50099
File Encoding : 65001

Date: 2015-04-22 10:09:37
*/

SET FOREIGN_KEY_CHECKS=0;


-- Procedure structure for QueryLimberWaterHourData


DROP PROCEDURE IF EXISTS QueryLimberWaterHourData;
DELIMITER ;;
CREATE DEFINER=root@localhost PROCEDURE QueryLimberWaterHourData()
BEGIN
select * from temp_waterhourdata;
END
;;
DELIMITER ;

这个sql文件在Navicat里边执行可以成功
在java程序里用 SQLExec 执行就报错
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER' at line 1

java 代码
SQLExec sqlExec = new SQLExec();
sqlExec.setDriver("com.mysql.jdbc.Driver");
sqlExec.setUrl("jdbc:mysql://localhost:3306/test");
sqlExec.setUserid("root");
sqlExec.setPassword("ssdlh");

sqlExec.setSrc(new File("src/process"+name+".sql"));

sqlExec.setOnerror((SQLExec.OnError)(EnumeratedAttribute.getInstance(
SQLExec.OnError.class, "abort")));
sqlExec.setPrint(true);

sqlExec.setOutput(new File("src/sql.out"));

sqlExec.setProject(new Project());

try{
sqlExec.execute();

  • 写回答

6条回答 默认 最新

  • threenewbee 2015-04-22 07:06
    关注

    用sqlExec.setDelimiter代替

    评论

报告相同问题?

悬赏问题

  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥15 用visual studi code完成html页面