I am trying to run a SQL query using a Java method for my Selenium project. The below method executeQuery
gets sqlQuery as argument, which I plan to use for INSERT, UPDATE and DELETE.
For DELETE the method works fine, but for INSERT and UPDATE it's giving me issue.
My insert query:
INSERT INTO NSIDE.DOCUMENT_REC (DOCUMENT_ID,RECIPIENT_CODE,DELIVERY_METHOD_CODE,PRINT_METHOD_CODE,TRANSACTION_EVENT_SEQ_NUMB,UPDATED_BY_ID) VALUES('ABCD000011','PC','R','F',1,1);
My update query:
update NSIDE.job_pmar set commit_freq_numb='96',exception_threshold_numb='28',file_name='RCUSOCKEWB',server_path_name='SW9L5CNLMU' where JOB_CODE='ABC0198';
Java Program for query execution:
public void executeQuery(String sqlQuery) {
String myUserName = ReadPropertyFile.getInstance().getPropertyValue("DatabaseUserName");
String myPassword = ReadPropertyFile.getInstance().getPropertyValue("DatabasePassword");
String dbURL = ReadPropertyFile.getInstance().getPropertyValue("DatabaseURL");
String username = myUserName;
String password = myPassword;
String selectquery = sqlQuery;
log.debug("Preparing to execute DML Query : "+sqlQuery);
try (Connection con = DriverManager.getConnection(dbURL,username,password);
Statement st=con.createStatement()) {
st.executeUpdate(selectquery);
/* Load DB2 JDBC Driver */
Class.forName("com.ibm.db2.jcc.DB2Driver");
log.info("Successfully executed the DML Query :"+sqlQuery);
}
catch (Exception e) {
log.error(e);
}
}
When I run, it's giving me below error for update query:
com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=END-OF-STATEMENT;PMAR;JOIN <joined_table>, DRIVER=4.25.13
NOTE: When I run the query individually using Squirrel SQL Client, it is able to run and update successfully. But, when I run through java code, it fails.
Kindly provide your views on why the update is not working for me.