重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
InvocationTargetException异常由Method.invoke(obj, args...)方法抛出。当被调用的方法的内部抛出了异常而没有被捕获时,将由此异常接收。
成都创新互联公司长期为上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为西安企业提供专业的成都网站制作、网站设计,西安网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。
至于具体原因,就要看代码和详细的错误信息了。
需要程序
插入这么多,不一定每次都创建连接,然后释放连接。
可以只创建一次连接,插入所有数据后,在释放这个唯一的连接。
这和用什么用户无关,只要能连上数据库、并且使用的用户对该表有插入权限,就没问题。现在出现的“无效的列索引的异常”,是指在语句pstmt.setString(2,str2);中,列索引2是无效的,因为sql语句中只有一个问号。PreparedStatement 对象中的
setString方法的第一个参数是列索引,这个参数的取值范围是和sql语句中的问号数量对应的,sql语句中有n个问号,setString方法的第一个参数就应该从1到n,如果不在这个范围之内,就会出列索引无效的异常。
jdbc连接oracle数据库,sql语句中表名包含'$'符号,执行报错:
sql语句如下:“select * from v$session”
错误信息如下:
java.sql.SQLException: ORA-00600: 内部错误代码,参数: [ttcgcshnd-1], [0], [], [], [], [], [], []
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
at oracle.jdbc.ttc7.TTC7Protocol.fetch(TTC7Protocol.java:889)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:1681)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1870)
at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:737)
at components.netdevice.DatabaseReport.getConnAmount(DatabaseReport.java:52)
at components.netdevice.DatabaseReport.main(DatabaseReport.java:35)
后来证实是驱动的问题。别的jar包包含了oracle驱动,两包冲突,替换之后就解决了。