对于想了解java.sql.SQLException:在mysql中结果集结束后的读者,本文将是一篇不可错过的文章,我们将详细介绍sql结果集已耗尽,并且为您提供关于AWSRDS:java.sql.S
对于想了解java.sql.SQLException:在mysql中结果集结束后的读者,本文将是一篇不可错过的文章,我们将详细介绍sql结果集已耗尽,并且为您提供关于AWS RDS:java.sql.SQLException:用户、com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:SQL语法错误、DB2 升级产生 java.sql.SQLException:无效的列名、java.sql.SQLException: com.mysql.jdbc.Driver的有价值信息。
本文目录一览:- java.sql.SQLException:在mysql中结果集结束后(sql结果集已耗尽)
- AWS RDS:java.sql.SQLException:用户
- com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:SQL语法错误
- DB2 升级产生 java.sql.SQLException:无效的列名
- java.sql.SQLException: com.mysql.jdbc.Driver
java.sql.SQLException:在mysql中结果集结束后(sql结果集已耗尽)
我正在尝试从MYSQL下载图像(.png)文件。有时它工作正常。无法找到确切的问题。它可以在Jboss服务器上正常工作。尝试在Apche上的本地计算机中运行时引发错误。
请帮助我修复错误。这是我的Java代码。
try { conection = SQLUtil.createConnection(Constant.DataSourceName); st = conection.prepareStatement("SELECT image FROM TABLE_NAME WHERE Userid="+ getUserId()); result = st.executeQuery(); result.next(); if(!result.next()){ input = result.getAsciiStream(1); } FileOutputStream output = new FileOutputStream(getSignatureImageDestinationPath()); int ch = input.read(); while (ch != -1) { output.write((char) ch); ch = input.read(); } output.close(); input.close(); result.close(); SQLUtil.closeConnection(conection); } catch (Exception e) { System.out.println(e+":Error"); } finally { if (st != null) { SQLUtil.closeConnection(conection); } }
这是堆栈跟踪输出:
java.sql.SQLException: After end of result setat com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:854)at com.mysql.jdbc.ResultSetImpl.getAsciiStream(ResultSetImpl.java:1275)at org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getAsciiStream(DelegatingResultSet.java:253)at org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getAsciiStream(DelegatingResultSet.java:253)at com.ninenexus.model.Signature.getSignatureImage(Signature.java:173)at com.ninenexus.servlets.SaveMySignature.mySignatureDisplay(SaveMySignature.java:69)at com.ninenexus.servlets.SaveMySignature.doPost(SaveMySignature.java:35)at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:380)at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288)at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)at java.lang.Thread.run(Unknown Source)
答案1
小编典典您打了result.next()
两次电话。我假设您的查询仅返回1行,因为您尝试通过进行匹配Userid
。当第二个result.next()
被调用时,中没有要返回的行ResultSet
。这就是SQLException
抛出an的原因。result.next()
像这样删除第一个:
result = st.executeQuery();if(!result.next()){ input = result.getAsciiStream(1); }
AWS RDS:java.sql.SQLException:用户
AmazonRDSDataFullAccess
策略用于与无服务器RDS数据API进行交互。它不提供执行IAM身份验证的标准数据库连接所需的适当权限。您需要遵循指南here来创建适当的策略。特别是,您需要授予EC2实例配置文件rds-db:connect
权限。
您可以尝试以下操作:
- 尝试重新创建数据库用户并再次授予它权限
- 代替内联策略,尝试使用客户托管策略,直到解决连接问题
- 内联策略中的资源ARN后面有一个逗号,也应将其删除。
我将策略附加到EMR角色,我不得不将其附加到EMR集群的EC2实例配置文件中
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:SQL语法错误
如果运行主类,则会出现此错误:
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 'insert into customerLogin(companyName,username,password) values('Big Company','D' 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:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4187)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4119)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2570)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2731)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2815)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2458)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2375)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2359)
at dao.CustomerContactDAO.performUpdate(CustomerContactDAO.java:175)
at dao.DAOTemplate.executeUpdate(DAOTemplate.java:27)
at dao.CustomerContactDAO.addCustomerContact(CustomerContactDAO.java:88)
at test.Test.main(Test.java:29)
这是我的DAO中的代码。我认为错误在于这些代码行,但我不知道它是哪一行:
public boolean addCustomerContact(CustomerContact c) {
setQuery("insert into customerContact(companyName,lastName,firstName,email,telNum,local,cellNum) values(?,?,?);"
+ "insert into customerLogin(companyName,password) values(?,?)");
queries.add(getQuery());
KeyValuePair onePair;
onePair = new KeyValuePair();
onePair.setKey(KeyValuePair.STRING);
onePair.setValue(c.getCompanyName());
getParameters().add(onePair);
onePair = new KeyValuePair();
onePair.setKey(KeyValuePair.STRING);
onePair.setValue(c.getLastName());
getParameters().add(onePair);
onePair = new KeyValuePair();
onePair.setKey(KeyValuePair.STRING);
onePair.setValue(c.getFirstName());
getParameters().add(onePair);
onePair = new KeyValuePair();
onePair.setKey(KeyValuePair.STRING);
onePair.setValue(c.getEmail());
getParameters().add(onePair);
onePair = new KeyValuePair();
onePair.setKey(KeyValuePair.INT);
onePair.setValue(c.getTelNum() + "");
getParameters().add(onePair);
onePair = new KeyValuePair();
onePair.setKey(KeyValuePair.INT);
onePair.setValue(c.getLocal() + "");
getParameters().add(onePair);
onePair = new KeyValuePair();
onePair.setKey(KeyValuePair.STRING);
onePair.setValue(c.getCellNum() + "");
getParameters().add(onePair);
onePair = new KeyValuePair();
onePair.setKey(KeyValuePair.STRING);
onePair.setValue(c.getCompanyName());
getParameters().add(onePair);
onePair = new KeyValuePair();
onePair.setKey(KeyValuePair.STRING);
onePair.setValue(c.getUsername());
getParameters().add(onePair);
onePair = new KeyValuePair();
onePair.setKey(KeyValuePair.STRING);
onePair.setValue(c.getPassword());
getParameters().add(onePair);
return executeUpdate();
}
DB2 升级产生 java.sql.SQLException:无效的列名
如何解决DB2 升级产生 java.sql.SQLException:无效的列名?
我公司的 Java 应用程序 (jdk6) 与 db2jcc.jar 一起工作正常。但是,当我更新它以使用 db2jcc4-4.26.14.jar,它给了我''java.sql.sqlException:无效的列名''错误。有人遇到这个问题吗?谢谢。
2021-02-11 14:22:00,868 错误 [_Worker-9] [ThreadID=12 Server=qrtz1] com.xpedity.lip.connector.EmailNotifier:96 - java.sql.sqlException:无效的列名称 在 com.sun.rowset.CachedRowSetImpl.getColIdxByName(CachedRowSetImpl.java:1631) 在 com.sun.rowset.CachedRowSetImpl.getString(CachedRowSetImpl.java:2473) 在 com.xpedity.lip.connector.LabOrderFormatter.getFrameInfo(LabOrderFormatter.java:928) 在 com.xpedity.lip.connector.LabOrderFormatter.buildOrderFileContents(LabOrderFormatter.java:530) 在 com.xpedity.lip.connector.LabOrderFormatter.generateLabOrderFiles(LabOrderFormatter.java:392) 在 com.xpedity.lip.connector.LabOrderFormatter.execute(LabOrderFormatter.java:256) 在 com.xpedity.lip.connector.EmitterConnector.execute(EmitterConnector.java:48) 在 com.xpedity.lip.scheduler.job.LIOrderEFTP.executeEmitterConnector(LIOrderEFTP.java:150) 在 com.xpedity.lip.scheduler.job.LIOrderEFTP.run(LIOrderEFTP.java:64) 在 com.xpedity.framework.scheduler.job.AbstractJob.execute(AbstractJob.java:34) 在 org.quartz.core.JobRunShell.run(JobRunShell.java:203) 在 org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
java.sql.SQLException: com.mysql.jdbc.Driver
项目本来是 oracle 驱动 + druid 数据源配置,现在要修改为 mysql+druid 数据源配置
启动项目的时候报:java.sql.SQLException: com.mysql.jdbc.Driver
报错原因是项目中,没有 mysql 驱动的 jar,缺少 jdbc 对 mysql 的 jar。
pom.xml 中,加入 mysql 驱动的 jar
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
重新编译就可以了
今天的关于java.sql.SQLException:在mysql中结果集结束后和sql结果集已耗尽的分享已经结束,谢谢您的关注,如果想了解更多关于AWS RDS:java.sql.SQLException:用户、com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:SQL语法错误、DB2 升级产生 java.sql.SQLException:无效的列名、java.sql.SQLException: com.mysql.jdbc.Driver的相关知识,请在本站进行查询。
本文标签: