Hi,
I want to insert a simple record in the DB2, programmatically. Here's the code which does it.
java.util.Calendar cal = new java.util.GregorianCalenda
r();
java.util.Date now = cal.getTime();
long t = now.getTime();
java.sql.Date date = new java.sql.Date(t);//2005-01
-01.12.13.
02.030000
java.sql.Timestamp ts = new java.sql.Timestamp(t);
connection = LLBJdbcConnection.getJDBCC
onnection(
LLBJdbcCon
nection.ST
ANDARD);
stmt = connection.createStatement
();
query = "INSERT INTO auth_temp_stats VALUES ("+date+",' ',' ',' ',' ',' ',' ',' ',0,' ',' ',"+ts+")"; <-- notice ts
ret = stmt.executeUpdate(query);
Here's the error message.
[junit] com.ibm.db2.jcc.b.SqlExcep
tion: ILLEGAL SYMBOL "11". SOME SYMBOLS TH
AT MIGHT BE LEGAL ARE: ) ,
[junit] at com.ibm.db2.jcc.b.id.e(id.
java:1640)
[junit] at com.ibm.db2.jcc.b.id.b(id.
java:1197)
[junit] at com.ibm.db2.jcc.c.fb.i(fb.
java:234)
[junit] at com.ibm.db2.jcc.c.fb.b(fb.
java:50)
[junit] at com.ibm.db2.jcc.c.s.b(s.ja
va:36)
[junit] at com.ibm.db2.jcc.c.wb.f(wb.
java:141)
[junit] at com.ibm.db2.jcc.b.id.m(id.
java:1194)
[junit] at com.ibm.db2.jcc.b.id.a(id.
java:1922)
[junit] at com.ibm.db2.jcc.b.id.c(id.
java:560)
[junit] at com.ibm.db2.jcc.b.id.execu
teUpdate(i
d.java:545
)
[junit] at com.ibm.ws.rsadapter.jdbc.
WSJdbcStat
ement.exec
uteUpdate(
WSJdb
cStatement.java:489)
[junit] at com.llbean.paymentauthoriz
ation.stat
istics.ser
vice.PmtAu
thSta
teStatSvc.dbInsertion(PmtA
uthStateSt
atSvc.java
:139)
[junit] at com.llbean.paymentauthoriz
ation.stat
istics.ses
sion.PmtAu
thSta
teStat.dbInsertion(PmtAuth
StateStat.
java:62)
[junit] at com.llbean.paymentauthoriz
ation.stat
istics.ses
sion.PmtAu
thSta
teStatTest.testDBInsertion
(PmtAuthSt
ateStatTes
t.java:83)
[junit] at sun.reflect.NativeMethodAc
cessorImpl
.invoke0(N
ative Method)
[junit] at sun.reflect.NativeMethodAc
cessorImpl
.invoke(Na
tiveMethod
Acces
sorImpl.java:79)
[junit] at sun.reflect.DelegatingMeth
odAccessor
Impl.invok
e(Delegati
ngMet
hodAccessorImpl.java:41)
[junit] at java.lang.reflect.Method.i
nvoke(Meth
od.java:38
6)
[junit] at junit.framework.TestCase.r
unTest(Tes
tCase.java
:154)
[junit] at junit.framework.TestCase.r
unBare(Tes
tCase.java
:127)
[junit] at junit.framework.TestResult
$1.protect
(TestResul
t.java:106
)
[junit] at junit.framework.TestResult
.runProtec
ted(TestRe
sult.java:
124)
[junit] at junit.framework.TestResult
.run(TestR
esult.java
:109)
[junit] at junit.framework.TestCase.r
un(TestCas
e.java:118
)
[junit] at junit.framework.TestSuite.
runTest(Te
stSuite.ja
va:208)
[junit] at junit.framework.TestSuite.
run(TestSu
ite.java:2
03)
[junit] at org.apache.tools.ant.taskd
efs.option
al.junit.J
UnitTestRu
nner.
run(JUnitTestRunner.java:2
97)
[junit] at org.apache.tools.ant.taskd
efs.option
al.junit.J
UnitTestRu
nner.
launch(JUnitTestRunner.jav
a:672)
[junit] com.ibm.db2.jcc.b.SqlExcep
tion: ILLEGAL SYMBOL "11". SOME SYMBOLS TH
AT MIGHT BE LEGAL ARE: ) ,
[junit] at org.apache.tools.ant.taskd
efs.option
al.junit.J
UnitTestRu
nner.
main(JUnitTestRunner.java:
567)
[junit] junit.framework.AssertionF
ailedError
: expected:<1> but was:<-1>
[junit] at junit.framework.Assert.fai
l(Assert.j
ava:47)
[junit] at junit.framework.Assert.fai
lNotEquals
(Assert.ja
va:282)
[junit] at junit.framework.Assert.ass
ertEquals(
Assert.jav
a:64)
[junit] at junit.framework.Assert.ass
ertEquals(
Assert.jav
a:201)
[junit] at junit.framework.Assert.ass
ertEquals(
Assert.jav
a:207)
[junit] at com.llbean.paymentauthoriz
ation.stat
istics.ses
sion.PmtAu
thSta
teStatTest.testDBInsertion
(PmtAuthSt
ateStatTes
t.java:83)
[junit] at sun.reflect.NativeMethodAc
cessorImpl
.invoke0(N
ative Method)
[junit] at sun.reflect.NativeMethodAc
cessorImpl
.invoke(Na
tiveMethod
Acces
sorImpl.java:79)
I have also tried inserting timestamp format like 2005-10-14.10.30.15.610208
this also did not work.
What am i doing wrong.
ngujja
Start Free Trial