 |
|
 |
|
Next: Comparing 2 tables
|
| Author |
Message |
External

Since: Mar 29, 2008 Posts: 2
|
(Msg. 1) Posted: Sat Mar 29, 2008 2:05 pm
Post subject: missing SET keyword Archived from groups: comp>lang>java>databases (more info?)
|
|
|
Hi all, I was wondering if you smart people could look over my code
and tell me why I'm getting a "missing SET keyword" error. Thanks very
much in advance...
Here is the error:
java.sql.SQLException: [Oracle][ODBC][Ora]ORA-00971: missing SET
keyword
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:
6957)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLExecute(JdbcOdbc.java:3149)
at
sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(JdbcOdbcPreparedStatement.java:
216)
at
sun.jdbc.odbc.JdbcOdbcPreparedStatement.executeUpdate(JdbcOdbcPreparedStatement.java:
138)
at alarmfilter.AlarmFilter.filterAlarms(AlarmFilter.java:118)
at alarmfilter.AlarmFilter.main(AlarmFilter.java:145)
Here is my code:
package alarmfilter;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.PreparedStatement;
import java.sql.DriverManager;
import java.sql.ResultSet;
public class AlarmFilter {
public void filterAlarms() throws Exception {
int site = 0, notify = 0, limit = 0, hours = 0;
int sCount = 0;
String cat = "", type = "", dev = "";
String dispStat = "", dispCom = "", strDispStat = "",
strDispCom = "";
Connection conn = null;
Statement stmt = null;
PreparedStatement pstmtCount = null;
PreparedStatement pstmtUpdate = null;
ResultSet rsUnack = null;
ResultSet rsSite = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection(
"jdbc:odbc:GVR2Test", "<username>", "<password>";
stmt = conn.createStatement();
rsUnack = stmt.executeQuery(
"SELECT VRSC.ALARMS_INCOMING.ALI_SITE_ID, "
+ "VRSC.ALARMS_INCOMING.ALI_ALARM_NOTIFY_NBR, "
+ "VRSC.ALARMS_INCOMING.ALI_ALARM_CATEGORY, "
+ "VRSC.ALARMS_INCOMING.ALI_ALARM_TYPE, "
+ "VRSC.ALARMS_INCOMING.ALI_DEVICE_NBR, "
+ "VRSC.ALARMS_INCOMING.ALI_DISPOSITION_STATUS, "
+ "VRSC.ALARMS_INCOMING.ALI_DISPOSITION_COMMENT, "
+ "VRSC.ALARM_TYPES.ALT_FILTER_LIMIT, "
+ "VRSC.ALARM_TYPES.ALT_FILTER_HOURS "
+ "FROM VRSC.ALARMS_INCOMING INNER JOIN
VRSC.ALARM_TYPES "
+ "ON (VRSC.ALARMS_INCOMING.ALI_ALARM_CATEGORY = "
+ "VRSC.ALARM_TYPES.ALT_ALARM_CAT) AND "
+ "(VRSC.ALARMS_INCOMING.ALI_ALARM_TYPE = "
+ "VRSC.ALARM_TYPES.ALT_ALARM_TYPE) "
+ "WHERE (((VRSC.ALARMS_INCOMING.ALI_STATUS) = 1)
AND "
+ "((VRSC.ALARM_TYPES.ALT_FILTER_LIMIT) <> '0')
AND "
+ "((VRSC.ALARMS_INCOMING.ALI_MC_ID) In "
+ "('000001','000004'))) "
+ "GROUP BY VRSC.ALARMS_INCOMING.ALI_SITE_ID, "
+ "VRSC.ALARMS_INCOMING.ALI_ALARM_NOTIFY_NBR, "
+ "VRSC.ALARMS_INCOMING.ALI_ALARM_CATEGORY, "
+ "VRSC.ALARMS_INCOMING.ALI_ALARM_TYPE, "
+ "VRSC.ALARMS_INCOMING.ALI_DEVICE_NBR, "
+ "VRSC.ALARMS_INCOMING.ALI_DISPOSITION_STATUS, "
+ "VRSC.ALARMS_INCOMING.ALI_DISPOSITION_COMMENT, "
+ "VRSC.ALARM_TYPES.ALT_FILTER_LIMIT, "
+ "VRSC.ALARM_TYPES.ALT_FILTER_HOURS;");
pstmtCount = conn.prepareStatement(
"SELECT
Count(VRSC.ALARMS_INCOMING.ALI_ALARM_NOTIFY_NBR) "
+ "AS CountOfALI_ALARM_NOTIFY_NBR "
+ "FROM VRSC.ALARMS_INCOMING "
+ "WHERE (((VRSC.ALARMS_INCOMING.ALI_SITE_ID) = ?)
" //setInt 1
+ "AND ((VRSC.ALARMS_INCOMING.ALI_ALARM_CATEGORY)
= ?) " //setString 2
+ "AND ((VRSC.ALARMS_INCOMING.ALI_ALARM_TYPE) = ?)
" //setString 3
+ "AND ((VRSC.ALARMS_INCOMING.ALI_DEVICE_NBR) = ?)
" //setString 4
+ "AND ((VRSC.ALARMS_INCOMING.ALI_UNACK_DATE_TIME)
> "
+ "(SYSDATE-(?/24))));"); //setInt 5
pstmtUpdate = conn.prepareStatement(
"UPDATE VRSC_ALARMS_INCOMING INNER JOIN
VRSC_ALARM_TYPES "
+ "ON (VRSC_ALARMS_INCOMING.ALI_ALARM_TYPE = "
+ "VRSC_ALARM_TYPES.ALT_ALARM_TYPE) AND "
+ "(VRSC_ALARMS_INCOMING.ALI_ALARM_CATEGORY = "
+ "VRSC_ALARM_TYPES.ALT_ALARM_CAT) "
+ "SET VRSC_ALARMS_INCOMING.ALI_USER_ID =
'MONITOR', "
+ "VRSC_ALARMS_INCOMING.ALI_DISPOSITION_STATUS
= ?, " //setString 1
+ "VRSC_ALARMS_INCOMING.ALI_CLOSE_DATE_TIME =
SYSDATE, "
+ "VRSC_ALARMS_INCOMING.ALI_DISPOSITION_COMMENT
= ?, " //setString 2
+ "VRSC_ALARMS_INCOMING.ALI_STATUS = 3, "
+ "VRSC_ALARMS_INCOMING.ALI_OPEN_DATE_TIME =
SYSDATE "
+ "WHERE
((VRSC_ALARMS_INCOMING.ALI_ALARM_NOTIFY_NBR) = ?)"); //setInt 3
while (rsUnack.next()) {
site = rsUnack.getInt("ALI_SITE_ID");
notify = rsUnack.getInt("ALI_ALARM_NOTIFY_NBR");
cat = rsUnack.getString("ALI_ALARM_CATEGORY");
type = rsUnack.getString("ALI_ALARM_TYPE");
dev = rsUnack.getString("ALI_DEVICE_NBR");
dispStat =
rsUnack.getString("ALI_DISPOSITION_STATUS");
dispCom =
rsUnack.getString("ALI_DISPOSITION_COMMENT");
limit = rsUnack.getInt("ALT_FILTER_LIMIT");
hours = rsUnack.getInt("ALT_FILTER_HOURS");
pstmtCount.setInt(1, site);
pstmtCount.setString(2, cat);
pstmtCount.setString(3, type);
pstmtCount.setString(4, dev);
pstmtCount.setInt(5, hours);
rsSite = pstmtCount.executeQuery();
rsSite.next(); //move to first (and only) record
sCount = rsSite.getInt("CountOfALI_ALARM_NOTIFY_NBR");
if (sCount < limit) {
strDispStat = dispStat
+ " - Closing per filter, does not exceed
"
+ limit
+ " alarms in " + hours + " hours.";
strDispCom = dispCom
+ " - Closing per filter, does not exceed
"
+ limit
+ " alarms in " + hours + " hours.";
pstmtUpdate.setString(1, strDispStat);
pstmtUpdate.setString(2, strDispCom);
pstmtUpdate.setInt(3, notify);
pstmtUpdate.executeUpdate();
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (rsUnack != null) {
rsUnack.close();
}
if (rsSite != null) {
rsSite.close();
}
if (stmt != null) {
stmt.close();
}
if (pstmtCount != null) {
pstmtCount.close();
}
if (pstmtUpdate != null) {
pstmtUpdate.close();
}
}
}
public static void main(String[] args) throws Exception {
AlarmFilter af = new AlarmFilter();
af.filterAlarms();
}
} >> Stay informed about: missing SET keyword |
|
| Back to top |
|
 |  |
External

Since: Mar 29, 2008 Posts: 2
|
(Msg. 2) Posted: Sat Mar 29, 2008 4:41 pm
Post subject: Re: missing SET keyword [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
|
| Nevermind, I figured it out. For some reason I had a join in there. I
wasn't using the second table but for some reason the join was
throwing off the set part. I took out the join and it works fine. Keep
on programming!!!
|
>> Stay informed about: missing SET keyword |
|
| Back to top |
|
 |  |
External

Since: Feb 20, 2008 Posts: 2
|
(Msg. 3) Posted: Mon Mar 31, 2008 9:20 am
Post subject: Re: missing SET keyword [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
On Mar 30, 12:41 am, GVR_Mike wrote:
> Nevermind, I figured it out. For some reason I had a join in there. I
> wasn't using the second table but for some reason the join was
> throwing off the set part.
This is because the join is an implicit view, and by default they are
NOT updateable.
> I took out the join and it works fine. Keep
> on programming!!! >> Stay informed about: missing SET keyword |
|
| Back to top |
|
 |  |
| Related Topics: | SQLServer 2000 Driver for JDBC behaviour on SQL Server res.. - 1) My java code properly connects to the SQL Server DB via the SQL Server 2000 JDBC driver. 2) During one of our stress tests, we restarted the SQL Server to see how the code handles it. 3) My code doesn't really recognize that the SQL server is up and m...
Displaying contents from database in an applet - I have created a connection to an MSAccess database, but I am unable to display the results in an webbrowser. My question is therefore how do I retrieve and displaty the records of my database on a webpage? Kind regards Johan Reimers
Hibernate and log4j config under Tomcat. - "Under Tomcat 3.x and 4.x, you should place the log4j.properties under the WEB-INF/classes directory of your web-applications. Log4j will find the properties file and initialize itself. This is easy to do and it works." "The XML configu...
Java & MySQL show table status command - Hi, I am using java to retrieve a resultset with "show table status" mysql command. I am having problem reading the [name] and [engine] column. In the metadata object it is showing as VARCHAR but when I do getString() it is returning me the o...
Error returning REF CURSOR - Hello, I'm trying to invoke a PLSQL function returning a REF CURSOR I'm using OracleCallableStatement .... and this is the code: =================CODE======================= Connection conn = null; OracleCallableStatement.. |
|
You can post new topics in this forum You can reply to topics in this forum You can edit your posts in this forum You can delete your posts in this forum You can vote in polls in this forum
|
|
|
|
 |
|
|