mysql - USER defined java class step in pentaho data integration -


  • hi,

    i using below code in user defined java class:

     //step 1. import required packages import java.sql.*;   import  org.pentaho.di.core.database.*;   public class jdbcexample  {     // jdbc driver name , database url         static final string jdbc_driver = "com.mysql.jdbc.driver";        static final string db_url ="jdbc:mysql://localhost:1111/mysql";   //  database credentials            static final string user = "user";         static final string pass = "pass";      public static void main(string[] args) {          connection conn = null;          statement stmt = null;    try{     //step 2: register jdbc driver     class.forname("com.mysql.jdbc.driver");    //step 3: open connection  system.out.println("connecting selected database...");  conn = drivermanager.getconnection(db_url, user, pass);  system.out.println("connected database successfully...");   //step 4: execute query  system.out.println("creating statement...");  stmt = conn.createstatement();   string sql = "select id,sorname,src_databasetype,src_databasename table";  resultset rs = stmt.executequery(sql);  //step 5: extract data result set  while(rs.next()){     //retrieve column name     int id  = rs.getint("id");     string sorname = rs.getstring("sorname");     string src_databasetype = rs.getstring("src_databasetype");     string src_databasename = rs.getstring("src_databasename");      //display values     system.out.print("id: " + id);     system.out.print(", sorname: " + sorname);     system.out.print(", src_databasetype: " + src_databasetype);     system.out.println(", src_databasename: " + src_databasename);  }  rs.close();    }catch(sqlexception se){  //handle errors jdbc  se.printstacktrace();    }catch(exception e){  //handle errors class.forname  e.printstacktrace();    }finally{  //finally block used close resources  try{     if(stmt!=null)        conn.close();  }catch(sqlexception se){  }// nothing  try{     if(conn!=null)        conn.close();  }catch(sqlexception se){     se.printstacktrace();  }//end try    }//end try    system.out.println("goodbye!"); }//end main }//end jdbcexample  

    running code through command prompt working fine

    but on running step(in pdi) alone getting error: non-abstract class "processor" must implement method "boolean org.pentaho.di.trans.steps.userdefinedjavaclass.transformclassbase.processrow(org.pentaho.di.trans.step.stepmetainterface, org.pentaho.di.trans.step.stepdatainterface) throws org.pentaho.di.core.exception.kettleexception"

for udjc, think instead of putting code in main method, need put in processrow().

instead of using - public static void main(string[] args) use - public boolean processrow(stepmetainterface smi, stepdatainterface sdi) throws kettleexception

i still skeptical if still going work don't understand you're trying code.


Comments

Popular posts from this blog

user interface - How to replace the Python logo in a Tkinter-based Python GUI app? -

objective c - Greedy NSProgressIndicator Allocation -

how to set an OCR language in Google Drive -