Hello Amol, 2015-11-17 9:07 GMT+01:00 Amol Kulkarni <[email protected]>:
> We tested this code with standalone app.The stmt.getParameterMetaData() > in QueryRunner.java is throwing error. We asked DBA , but he does not see > any query in logs coming. He is the debug. We add QueryRunner.java in > classpath so that we can debug / put some sys outs. > > query coming here is SELECT * FROM DIGITAL_CERTIFICATE_CACHE WHERE > CERT_STATUS=? AND CERT_USAGE=? > params coming here is I > java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist > > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450) > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:392) > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:385) > at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:938) > at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:655) > at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249) > at oracle.jdbc.driver.T4C8Odscrarr.doODNY(T4C8Odscrarr.java:96) > at > > oracle.jdbc.driver.T4CPreparedStatement.doDescribe(T4CPreparedStatement.java:719) > at > oracle.jdbc.driver.OracleStatement.describe(OracleStatement.java:4223) > at > > oracle.jdbc.driver.OracleResultSetMetaData.<init>(OracleResultSetMetaData.java:52) > at > > oracle.jdbc.driver.OracleStatement.getResultSetMetaData(OracleStatement.java:4206) > at > > oracle.jdbc.driver.OraclePreparedStatement.getMetaData(OraclePreparedStatement.java:4603) > at > > oracle.jdbc.driver.OraclePreparedStatementWrapper.getMetaData(OraclePreparedStatementWrapper.java:1510) > at > > oracle.jdbc.driver.OracleParameterMetaData.getParameterMetaData(OracleParameterMetaData.java:70) > at > > oracle.jdbc.driver.OraclePreparedStatement.getParameterMetaData(OraclePreparedStatement.java:11621) > at > > oracle.jdbc.driver.OraclePreparedStatementWrapper.getParameterMetaData(OraclePreparedStatementWrapper.java:1552) > at > > com.npower.dpi.services.util.AbstractQueryRunner.fillStatement(AbstractQueryRunner.java:228) > at com.npower.dpi.services.util.QueryRunner.query(QueryRunner.java:351) > at com.npower.dpi.services.util.QueryRunner.query(QueryRunner.java:215) > at com.npower.dpi.services.util.test.main(test.java:63) > > If we put a try catch block around stmt.getParameterMetaData() in > AbstractQueryRunner.fillStatement() which eats this error, then we get a > proper result back. So I think the query is not executed as before that > only an exception is thrown. So what could be an issue in getting > metadata. > I'm not sure I can follow. Do you think there is a problem in dbutils? Benedikt > > > > On Tue, Nov 17, 2015 at 12:35 PM, Benedikt Ritter <[email protected]> > wrote: > > > Hello Amol, > > > > can you see the query being sent to your database in the query log? Maybe > > it is different from what you're expecting. > > > > Benedikt > > > > 2015-11-17 7:23 GMT+01:00 Amol Kulkarni <[email protected]>: > > > > > Yes it does work when done through sql developer command line , also > > tried > > > from sql plus it works. The problem occurs only through dbutils. > > > > > > On Tue, Nov 17, 2015 at 12:33 AM, Benedikt Ritter <[email protected]> > > > wrote: > > > > > > > Hello Amol, > > > > > > > > 2015-11-10 21:03 GMT+01:00 Amol Kulkarni <[email protected]>: > > > > > > > > > Hi, > > > > > > > > > > I am getting a ORA-00942: table or view does not exist when I query > > > using > > > > > dbutils api with 2 parameters. My enviroment si WAS 8.5.5 and > oracle > > db > > > > 11g > > > > > > > > > > I am using dbutils1.6 to make db calls. The problem occurs if I > send > > > two > > > > > query parameters like SELECT * FROM DIGITAL_CERTIFICATE_CACHE > WHERE > > > > > CERT_SUBJECT_NAME=? AND CERT_STATUS=? Parameters: > > > > [70-B3-D5-1F-30-4E-DF-20, > > > > > I] . If I send only one SELECT * FROM DIGITAL_CERTIFICATE_CACHE > > WHERE > > > > > CERT_SUBJECT_NAME=? Parameters: [70-B3-D5-1F-30-4E-DF-20] then > query > > > > > returns and application is working. My dbutils code is as follows > > > > > > > > > > > > > > > > > > > > QueryRunner run = new QueryRunner(${DataSource}); > > > > > // getting Query from propertues file to fetchBySubject > > > > > String sqlquery = PropertyFileUtil > > > > > .getPropertyValue("fetchbysubject.sql"); > > > > > [fetchbysubject.sql = SELECT * FROM DIGITAL_CERTIFICATE_CACHE WHERE > > > > > CERT_SUBJECT_NAME=? AND CERT_STATUS=?] > > > > > // preparing instance for Custom ResultSetHandler to > > > process > > > > > // ResultSet > > > > > ResultSetHandler<List<DigitalCertificateCache>> > handler = > > > new > > > > > DPIServicesDAOResultSetHandler(); > > > > > results = run.query(sqlquery, handler, new Object[] { > > > > > subjectname, > > > > > "I" }); > > > > > > > > > > > > > > > > > > > > Can somebody please point the problem. > > > > > > > > > > > > > Does it work, when you run the query via the command line? > > > > > > > > Regards, > > > > Benedikt > > > > > > > > > > > > -- > > > > http://people.apache.org/~britter/ > > > > http://www.systemoutprintln.de/ > > > > http://twitter.com/BenediktRitter > > > > http://github.com/britter > > > > > > > > > > > > > > > -- > > http://people.apache.org/~britter/ > > http://www.systemoutprintln.de/ > > http://twitter.com/BenediktRitter > > http://github.com/britter > > > -- http://people.apache.org/~britter/ http://www.systemoutprintln.de/ http://twitter.com/BenediktRitter http://github.com/britter
