zalek wrote:
> On Mar 22, 5:14 pm, Arne Vajhøj
>> zalek wrote:
>>> I am a mainframe Cobol programmer (yes - Cobol programmers are still
>>> around, mostly in caves) and I am writing a java code to access DB2.
>>> In a Cobol world after each SQL command we are checking for return
>>> conditions like success (sqlcode=0), not found (sqlcode = +100),
>>> duplicates (sqlcode=803) and more.
>>> How do you check for this conditions in Java?
>> Usually (possible always) the JDBC driver will throw an SQLException
>> if not success.
>
> Yes - I know - but I would like to know what exactly happen. For
> example - if I try to access a table using a variable as a key - I
> would like to know "not found conditions" occurred to display correct
> message. If database was down - I would like to know it too. Is there
> a way in a java world to find it?
e.getErrorCode() will give you SQLCODE number.
e.getSQLState() wil give you SQLSTATE number.
e.getMessage() will give you the entire message.
Example:
} catch (SQLException e) {
System.out.println(e.getErrorCode());
System.out.println(e.getSQLState());
System.out.println(e.getMessage());
print:
-104
42601
DB2 SQL error: SQLCODE: -104, SQLSTATE: 42601, SQLERRMC:
END-OF-STATEMENT;SELECT x* FROM T1;
Arne