public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException
{
// First, get a row from the default input hop
//
Object[] r = getRow();
org.pentaho.di.core.database.DatabaseMeta dbmeta = null;
java.util.List list = getTrans().getRepository().readDatabases();//3.x中获取资源库的所有数据库连接信息用getDatabases();
if(list != null && !list.isEmpty())
{
for(int i=0;i<list.size();i++)
{
dbmeta = (org.pentaho.di.core.database.DatabaseMeta)list.get(i);
//下面是目标库的数据库连接,大家可根据需要修改
if("local".equalsIgnoreCase(dbmeta.getName()))
{
break;
}
}
}
if(dbmeta!=null)
{
org.pentaho.di.core.database.Database db=new org.pentaho.di.core.database.Database(dbmeta);
try
{
db.connect();
if(r!=null){
String imageCode= get(Fields.In, "ImageCode").getString(r);
//字段表名
String fieldTableName = get(Fields.In, "fieldTableName").getString(r);
//转换结果值
String result = get(Fields.In, "result").getString(r);
// 字段名
String fieldName = get(Fields.In, "fieldName").getString(r);
//单位字段名
String unitName = get(Fields.In, "unitName").getString(r);
// 单位自断案值
String unitValue = get(Fields.In, "unitValue").getString(r);
//单位表名
String unitTableName = get(Fields.In, "unitTableName").getString(r);
logBasic("fieldSql: update " + fieldTableName +" set "+ fieldName+" = '"+result+"' where ImageCode= '" +imageCode+"'");
String fieldSql = "update " + fieldTableName +" set "+ fieldName+" = '"+result+"' where ImageCode= '" +imageCode+"'";
logBasic("unitSql: update " + unitTableName +" set "+ unitName+" = '"+unitValue+"' where ImageCode= '" +imageCode+"'");
String unitSql = "update " + unitTableName +" set "+ unitName+" = '"+unitValue+"' where ImageCode= '" +imageCode+"'";
db.execStatement(fieldSql);
db.execStatement(unitSql);
}
}
catch(Exception e)
{
logError("创建表出现异常",e);
}finally{
db.disconnect();
}
}
return false;
}
{
// First, get a row from the default input hop
//
Object[] r = getRow();
org.pentaho.di.core.database.DatabaseMeta dbmeta = null;
java.util.List list = getTrans().getRepository().readDatabases();//3.x中获取资源库的所有数据库连接信息用getDatabases();
if(list != null && !list.isEmpty())
{
for(int i=0;i<list.size();i++)
{
dbmeta = (org.pentaho.di.core.database.DatabaseMeta)list.get(i);
//下面是目标库的数据库连接,大家可根据需要修改
if("local".equalsIgnoreCase(dbmeta.getName()))
{
break;
}
}
}
if(dbmeta!=null)
{
org.pentaho.di.core.database.Database db=new org.pentaho.di.core.database.Database(dbmeta);
try
{
db.connect();
if(r!=null){
String imageCode= get(Fields.In, "ImageCode").getString(r);
//字段表名
String fieldTableName = get(Fields.In, "fieldTableName").getString(r);
//转换结果值
String result = get(Fields.In, "result").getString(r);
// 字段名
String fieldName = get(Fields.In, "fieldName").getString(r);
//单位字段名
String unitName = get(Fields.In, "unitName").getString(r);
// 单位自断案值
String unitValue = get(Fields.In, "unitValue").getString(r);
//单位表名
String unitTableName = get(Fields.In, "unitTableName").getString(r);
logBasic("fieldSql: update " + fieldTableName +" set "+ fieldName+" = '"+result+"' where ImageCode= '" +imageCode+"'");
String fieldSql = "update " + fieldTableName +" set "+ fieldName+" = '"+result+"' where ImageCode= '" +imageCode+"'";
logBasic("unitSql: update " + unitTableName +" set "+ unitName+" = '"+unitValue+"' where ImageCode= '" +imageCode+"'");
String unitSql = "update " + unitTableName +" set "+ unitName+" = '"+unitValue+"' where ImageCode= '" +imageCode+"'";
db.execStatement(fieldSql);
db.execStatement(unitSql);
}
}
catch(Exception e)
{
logError("创建表出现异常",e);
}finally{
db.disconnect();
}
}
return false;
}