Когда я запускаю SQL-запрос из RIDE, он выдает ошибку - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть эта проблема,

Когда я отправляю SQL-запрос в качестве аргумента, он выдает ошибку Когда я использую тот же запрос непосредственно в моей Java-программе, он работает нормально.

Мой SQL-запрос при отправке в качестве аргумента выглядит следующим образом

Select RATINGPERIOD from INVESTMENT.I1INVE Where INVESTMENTID = 100

rs = stmt.executeQuery(sqlQery); //    Select RATINGPERIOD from INVESTMENT.I1INVE Where INVESTMENTID = 100

и когда я использую его непосредственно в моей Java-программе, выполните следующие действия:

try 
        {                                                                        
            // Load the driver
            Class.forName("com.ibm.db2.jcc.DB2Driver");                              
            System.out.println("**** Loaded the JDBC driver");

            // Create the connection using the IBM Data Server Driver for JDBC and SQLJ
            con = DriverManager.getConnection (url, user, password);                 

            // Create the Statement
            stmt = con.createStatement();                                            
            System.out.println("**** Created JDBC Statement object");

            // Execute a query and generate a ResultSet instance
            rs = stmt.executeQuery("Select RATINGPERIOD from INVESTMENT.I1INVE where INVESTMENTID = 100");

            while (rs.next()) {

                delay = rs.getString("RATINGPERIOD");
                System.out.println("size of list ="+delay);

            }
        }

Error log
    com.ibm.db2.jcc.am.SqlException: [jcc][10103][10941][3.62.57] Method executeQuery cannot be used for update. ERRORCODE=-4476, SQLSTATE=null
    at com.ibm.db2.jcc.am.fd.a(fd.java:660)
    at com.ibm.db2.jcc.am.fd.a(fd.java:60)
    at com.ibm.db2.jcc.am.fd.a(fd.java:120)
    at com.ibm.db2.jcc.am.jn.a(jn.java:4129)
    at com.ibm.db2.jcc.am.jn.a(jn.java:2875)
    at com.ibm.db2.jcc.am.jn.a(jn.java:679)
    at com.ibm.db2.jcc.am.jn.executeQuery(jn.java:663)
    at com.profitsoftware.testing.utils.keywords.date.DatabaseSQL.sqlQuery(DatabaseSQL.java:46)
    at com.profitsoftware.testing.utils.keywords.date.DatabaseSQLKeywords.executeSqlQuery(DatabaseSQLKeywords.java:18)com.

Хорошо, я получил больше информации, я назначил SQL-запрос строке в программе Java, а затем сравнил ее с запросом (String), который я получал в качестве аргумента в моей Java-программе, и он выдает false. что объясняет, может быть, когда запрос передается из RIDE в Java-программу, он как-то меняется. есть идеи, что там происходит?

Заранее спасибо и извините, если это звучит глупо, я новичок в этом мире программирования.

ок, все заработало, на самом деле я что-то там упустил, так что типа. Сама моя логика была хороша, но это была опечатка, которая создала проблему

- Sara

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...