我能够连接到数据库,但在执行preparedStatement以插入值时面临异常。我可以使用工作台使用MySQL表访问该表,也可以从那里插入值。表格的拼写是正确的。
String insertTableSQL = "INSERT INTO source_domain_english_OY2_Jul2014(filename, seed, words, frequency, type, after_before) VALUES(?,?,?,?,?,?)";
.
.
.
.
preparedStatement.executeUpdate();
我已经在下面发布了堆栈跟踪
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'm_r.source_domain_english_OY2_Jul2014' doesn't exist
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:525)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2427)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2345)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2330)
at edu.albany.ils.remnd.balancedcorpus.english.GramsSearch.readPatterns(GramsSearch.java:948)
at edu.albany.ils.remnd.balancedcorpus.english.GramsSearch.main(GramsSearch.java:45)
答案 0 :(得分:0)
我的猜测是你的MySQL数据库在Linux / Unix操作系统中运行,其中表名区分大小写。您在代码中将该表称为source_domain_english_OY2_Jul2014
,但您可能在此名称与您在创建表格的脚本中使用的名称之间存在一些大写/小写差异。