我有一个Temp.sql脚本文件,java的中用JDBC导入sql脚本,我用Statement.execute("source d:okercn.sql") 和executeQuery("source d:okercn.sql"),
Statement.addBatch("source d:okercn.sql");
Statement.executeBatch();都不行
提示的
java.sql.SQLException: 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 'source d:okercn.sql' at line 1
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2998)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2927)
at com.mysql.jdbc.Statement.executeQuery(Statement.java:956)
at Insert.Initialization.Insert(Initialization.java:49)
at Insert.Initialization.main(Initialization.java:58)
应该怎么做?
java代码中用JDBC导入sql脚本
答案:2 悬赏:40 手机版
解决时间 2021-07-29 04:47
- 提问者网友:泪痣哥哥
- 2021-07-28 09:06
最佳答案
- 五星知识达人网友:神的生死簿
- 2021-07-28 10:35
之前也有人问过这样的问题,这是我的建议
1. 可以看看JAVA的这个方法:
java.lang.Runtime.getRuntime().exec();
缺点:由于你的数据库密码为空,所以用这个方法 .bat也无法运行
2.用数据流读入SQL文件,然后用 String.toString().split(";"); 来分离出各个单独的SQL语句,一个一个的执行。
缺点:如果SQL文件里有注释部分,就会麻烦点。
3.用Ant写脚本执行
4.数据库工具执行
我还比较会选择3,4,数据库的操作,特别是对表结构的改变,还是在数据库里执行会比较好
比如删表操作,就最好不要写在代码,在数据库里,误删除还能rollback,程序里就麻烦了
全部回答
- 1楼网友:像个废品
- 2021-07-28 10:53
source d:okercn.sql 把这改成d:\\okercn.sql试试
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯