java用ant.jar工具类执行sql脚本遇到问题

问题描述

java用ant.jar工具类执行sql脚本遇到问题

最近在研究用工具类ant.jar执行sql脚本文件,一般对数据和字段的操作都无问题,但当要执行生成触发器或者存储过程时却出错,有大神做过这方面的吗?或者用其他方法可以执行能生成存储过程和触发器的sql脚本?求解!新人无币,望见谅~

 Exception in thread "main" 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 '' at line 1
    at org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:672)
    at execSQL.AntExecSql.main(AntExecSql.java:38)
Caused by: 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 '' at line 1
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
    at com.mysql.jdbc.Util.getInstance(Util.java:384)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3562)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3494)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1960)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2114)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2690)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2619)
    at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:783)
    at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:626)
    at org.apache.tools.ant.taskdefs.SQLExec.execSQL(SQLExec.java:775)
    at org.apache.tools.ant.taskdefs.SQLExec.runStatements(SQLExec.java:745)
    at org.apache.tools.ant.taskdefs.SQLExec$Transaction.runTransaction(SQLExec.java:1055)
    at org.apache.tools.ant.taskdefs.SQLExec$Transaction.access$000(SQLExec.java:985)
    at org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:653)
    ... 1 more

解决方案

错误信息是什么呢?给出来看看啊

时间: 2024-10-03 19:16:20

java用ant.jar工具类执行sql脚本遇到问题的相关文章

java执行SQL脚本的一个问题

问题描述 今天准备在java中,利用ant来执行sql脚本,进行数据相关脚本部署,如存储过程,建表等.运行过程中,出现了特别常见的sql语法错误.可以经过检查没有错误,为了保证没有错误,还特地在sqlserver的控制台直接用source来执行了一次,同样没有错误.sqlExec.setDriver(driver);sqlExec.setUrl(db);sqlExec.setUserid(user);sqlExec.setPassword(password);//有出错的语句该如何处理sqlEx

Ant 执行sql脚本 出现语法错误

问题描述 今天准备在java中,利用ant来执行sql脚本,进行数据相关脚本部署,如存储过程,建表等.运行过程中,出现了特别常见的sql语法错误.可以经过检查没有错误,为了保证没有错误,还特地在sqlserver的控制台直接用source来执行了一次,同样没有错误.sqlExec.setDriver(driver);sqlExec.setUrl(db);sqlExec.setUserid(user);sqlExec.setPassword(password);//有出错的语句该如何处理sqlEx

[Qt教程] 第23篇 数据库(三)利用QSqlQuery类执行SQL语句

[Qt教程] 第23篇 数据库(三)利用QSqlQuery类执行SQL语句 楼主  发表于 2013-5-15 22:39:29 | 查看: 813| 回复: 0 利用QSqlQuery类执行SQL语句 版权声明 该文章原创于作者yafeilinux,转载请注明出处! 导语        SQL即结构化查询语言,是关系数据库的标准语言.前面两节中已经在Qt里利用QSqlQuery类执行了SQL语句,这一节我们将详细讲解该类的使用.需要说明,因为我们重在讲解Qt中的数据库使用,而非专业的讲解数据库

Java基础之java处理ip的工具类_java

java处理ip的工具类,包括把long类型的Ip转为一般Ip类型.把xx.xx.xx.xx类型的转为long类型.根据掩码位获取掩码.根据 ip/掩码位 计算IP段的起始IP.根据 ip/掩码位 计算IP段的终止IP等方法,可以直接使用! 复制代码 代码如下: package com.hh.test; import java.util.HashMap; import java.util.Map; import org.apache.commons.lang3.StringUtils; /**

redis-求 java Redis 连接池 工具类

问题描述 求 java Redis 连接池 工具类 谁有我一个 java Redis 连接池的工具类, 最好附上一些真删改查的小例子 解决方案 http://www.open-open.com/code/view/1430406110599 解决方案二: 最著名的就是jedis了 解决方案三: jedis自带连接池 JedisPoolConfig config = new JedisPoolConfig(); //控制一个pool可分配多少个jedis实例,通过pool.getResource(

java sql 脚本-java执行SQL脚本!!!!!

问题描述 java执行SQL脚本!!!!! 今天第一次用 java 执行sql脚本,是不是sql.out里边如果没东西就意味着成功?可我执行完成后表数据全都建好了 但是 sql.out里边显示的内容是这些 我需要做个判断 显示 是否成功 ,这个判断要怎么做?(重点是怎么才能根据sql.out里边的信息 来判断是否执行成功 ) 解决方案 sql.out 的显示信息 解决方案二: 看一下下面的代码处理方式http://mxm910821.iteye.com/blog/1701822

java实现的正则工具类_java

本文实例讲述了java实现的正则工具类.分享给大家供大家参考.具体如下: 这里实现的正则工具类适用于:正则电话号码.邮箱.QQ号码.QQ密码.手机号 java代码如下: package com.zhanggeng.contact.tools; /** * RegexTool is used to regex the string ,such as : phone , qq , password , email . * * @author ZHANGGeng * @version v1.0.1 *

SQL Server中使用外部命令执行sql脚本

server|脚本|执行 Author:David EulerDate: 2004/09/28Email:de_euler-david@yahoo.com.cn 有任何问题,请与我联系:)    有时候我们需要多次运行一个文件夹下所有的sql脚本(可能时txt或者sql等文本文件)来更新Schema,文件多的时候需要多次执行,那么可以使用多条语句来执行sql脚本.--下面的查询语句在SQL Query中运行,将执行d:\vss下面的指定sql脚本,这些脚本的后缀都是txtexec master.

java-操作数据库的.exe程序,可以批量执行sql脚本文件

问题描述 操作数据库的.exe程序,可以批量执行sql脚本文件 求大神帮忙啊~用java可以做这个东西吗?完全没有思路啊,要求是可以操作局域网内的另一台电脑上的mysql数据库 解决方案 如果有访问权限的话,直接运行Runtime.getRuntime().exec("远程IP文件路径exe文件");如果没有,那可以先用java进行telnet连接到那台机器,然后调用exe程序,再不行就只能在远程机器上写webservice服务然后调用了. 解决方案二: 批量执行SQL脚本 解决方案三