Thanks Rakesh. It is working now.
I knew that this has got something to do with the prepared statement. But was not getting it correctly.

Thanks & Regards,
Sarath.

On Tuesday 03 April 2012 12:19 AM, rakesh sharma wrote:
Hi Sarath,
Try to use prepared statement "Insert into TEST (col1, col2, col3) Values (?, ?, 
?)". I am using it for a while and it is working fine for me.
Thanks,Rakesh

Date: Mon, 2 Apr 2012 19:28:01 +0530
From: [email protected]
To: [email protected]
Subject: Unable to store to DB using DBStorage

Hi,

I have a table on Oracle 11g as below -
"TEST"
      name | varchar2(20)
      age | number(3)
      designation | varchar2(20)

I have 2 input files as -
"1.txt"
      tom|33
      michael|34
      harry|37
      sam|33
      peter|36
"2.txt"
      tom|TL
      dick|PL
      harry|PM
      sam|TL
      peter|HR

I have a sample pig script as -
"sample.pig"
      register '/home/sarath/piggybank.jar';
      a = load '1.txt' using PigStorage('|') as (name: chararray, age: int);
      b = load '2.txt' using PigStorage('|') as (name: chararray, desg:
chararray);
      c = cogroup a by name, b by name;
      d = foreach c generate flatten(a), flatten(b);
      e = foreach d generate $0,$1,$3;
      store e into 'dummy' using
org.apache.pig.piggybank.storage.DBStorage('oracle.jdbc.driver.OracleDriver','jdbc:oracle:thin:@192.168.1.10:1521:ORCL','system','system','insert
into TEST');

When I run the sample pig script, it fails with an error message -
Unable to insert record:michael    34    PL
...
Caused by: java.lang.RuntimeException: JDBC error
...
Caused by: java.sql.SQLException: Invalid column index

Can someone help me and let me know what is going wrong? What am I missing?

Regards,
Sarath
                                        

Reply via email to