[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Newsgroup Home]
|
[news.eclipse.birt] Scripted Data Set on char
|
- From: ralph@xxxxxxxxxxxxxx (ralph k)
- Date: Fri, 7 Nov 2008 14:32:18 +0000 (UTC)
- Newsgroups: eclipse.birt
- Organization: Eclipse
- User-agent: NewsPortal/0.36 (http://florian-amrhein.de/newsportal)
Hello i have a big problem with my Birt Designer Version 2.2.2
On my report i'm using a scripted data source, within this it calls a java
class that generates data from a table using a jdbc connection. This java
class returns a vector to my report.
Everything works fine within my report, i can us a table to give out the
data.
But if i'm using within a chart the scripted data set, the birt designer
crashs and does shut down my whole eclipse environment.
Sometimes the error happens on selecting the scripted data set and
sometimes i can select it, but if i try to run the report, eclipse and the
birt designer crash too.
my data set
Script:open
TimeTableGeneratedClass = new Packages.TimeTableGeneratedExtension();
timetable = TimeTableGeneratedClass.readData();
totalrows = timetable.size();
currentrow = 0;
Script:fetch
if( currentrow >= totalrows){
return(false);
}
var favrow = timetable.get(currentrow);
var test1 = favrow[0];
var test2 = favrow[1];
var test3 = favrow[2];
var test4 = favrow[3];
var test5 = favrow[4];
var test6 = favrow[5];
row["TIME_ID"]=test1;
row["TIMESTAMP_COL"]=test2;
row["DAY_COL"]=test3;
row["WEEK"]=test4;
row["MONTH_COL"]=test5;
row["YEAR_COL"]=test6;
currentrow = currentrow + 1;
return(true);
Script:close
TimeTableGeneratedClass = null;
timetable = null;
my java class seems to be fine
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
public class TimeTableGeneratedExtension
{
private String username = "";
private String password = "";
private ResultSet rs;
private Statement stmt;
public Vector readData(){
Vector rtnV = new Vector();
Connection con = null;
try {
Class.forName("com.ibm.db2.jcc.DB2Driver");
} catch (ClassNotFoundException exc) {
System.err.println("ERROR on loading DB2Driver:" + exc.toString());
System.exit(1);
}
con = getConnection();
if(con !=null){
try {
try{
stmt = con.createStatement();
}catch(SQLException exc){
System.out.println("ERROR on creating statement:" + exc.toString());
return null;
}
try{
rs = stmt.executeQuery("SELECT TIME_ID, TIMESTAMP_COL, DAY_COL, WEEK,
MONTH_COL, YEAR_COL FROM COMMON_SNAPSHOT.TIME_TBL");
}catch(SQLException exc){
System.out.println("ERROR on executing query:" + exc.toString());
return null;
}
while (rs.next()){
long timeid = rs.getLong("TIME_ID");
String timestampcol = rs.getString("TIMESTAMP_COL");
String daycol = rs.getString("DAY_COL");
String week = rs.getString("WEEK");
String monthcol = rs.getString("MONTH_COL");
String yearcol = rs.getString("YEAR_COL");
rtnV.add(new String[]{Long.toString(timeid), timestampcol, daycol,
week, monthcol, yearcol});
}
return (rtnV);
} catch (SQLException exc) {
return null;
}
}else{
return null;
}
}
public Connection getConnection(){
Connection con = null;
try {
String url = "jdbc:db2://localhost:50000/JAZZ";
con = DriverManager.getConnection(url, username, password);
return con;
} catch (SQLException exc) {
System.err.println("ERROR on creating connection:" + exc.toString());
return con;
}
}
public static void main(String[] args)
{
TimeTableGeneratedExtension sc = new TimeTableGeneratedExtension();
Vector rtn = sc.readData();
int t = 0;
for( int i=0; i<rtn.size(); i++ ){
String[] test = (String[])rtn.elementAt(i);
System.out.println(t++ +" " +test[0] +" "+ test[1] +" "+ test[2] + " " +
test[3] + " " + test[4] + " " + test[5]);
}
}
}