Hi!
I’m afraid it still doesn’t work as it should be with release 2.8.1.
I explain :
String[] parameters = new String[]{"-dbDriver","oracle.jdbc.OracleDriver",
"-dbURL","DBURL",
"-jdbcSpecific","ORACLE",
"-user","USER",
"-password","PWD",
"-o","MYTABLE.fmt",
"-q","SELECT * FROM MYTABLE",
"-plugins","lib\\plugins\\"
};
AnalyzeDB.main(parameters);
Here’s the result console log :
INFO [Thread-0] - Loading default properties from: defaultProperties
DEBUG [Thread-0] - Plugin com.infodb.component loaded.
id - com.infodb.component
version - 2.8.1
provider-name - null
component { type = BUFFER_COMPARE; className = com.infodb.component.BufferCompare; }
ERROR [Thread-0] - IO error occure in plugin manifest reading - file:/C:/Developpement/workspace/Infocentre/lib/plugins/CVS/plugin.xml. (C:\Developpement\workspace\Infocentre\lib\plugins\CVS\plugin.xml (Le fichier spécifié est introuvable))
DEBUG [Thread-0] - Plugin org.jetel.bulkloader loaded.
id - org.jetel.bulkloader
version - 2.8.1
provider-name -
component { type = ORACLE_DATA_WRITER; className = org.jetel.component.OracleDataWriter; }
component { type = DB2_DATA_WRITER; className = org.jetel.component.DB2DataWriter; }
component { type = INFORMIX_DATA_WRITER; className = org.jetel.component.InformixDataWriter; }
component { type = MS_SQL_DATA_WRITER; className = org.jetel.component.MsSqlDataWriter; }
component { type = MYSQL_DATA_WRITER; className = org.jetel.component.MysqlDataWriter; }
component { type = POSTGRESQL_DATA_WRITER; className = org.jetel.component.PostgreSqlDataWriter; }
DEBUG [Thread-0] - Plugin org.jetel.component loaded.
id - org.jetel.component
version - 2.8.1
provider-name - null
component { type = DATA_READER; className = org.jetel.component.DataReader; }
component { type = DATA_WRITER; className = org.jetel.component.DataWriter; }
component { type = DELIMITED_DATA_READER; className = org.jetel.component.DelimitedDataReader; }
component { type = DELIMITED_DATA_WRITER; className = org.jetel.component.DelimitedDataWriter; }
component { type = SIMPLE_COPY; className = org.jetel.component.SimpleCopy; }
component { type = CONCATENATE; className = org.jetel.component.Concatenate; }
component { type = SIMPLE_GATHER; className = org.jetel.component.SimpleGather; }
component { type = REFORMAT; className = org.jetel.component.Reformat; }
component { type = DB_INPUT_TABLE; className = org.jetel.component.DBInputTable; }
component { type = SORT; className = org.jetel.component.Sort; }
component { type = DB_OUTPUT_TABLE; className = org.jetel.component.DBOutputTable; }
component { type = FIXLEN_DATA_WRITER; className = org.jetel.component.FixLenDataWriter; }
component { type = DEDUP; className = org.jetel.component.Dedup; }
component { type = FIXLEN_DATA_READER; className = org.jetel.component.FixLenDataReader; }
component { type = MERGE; className = org.jetel.component.Merge; }
component { type = MERGE_JOIN; className = org.jetel.component.MergeJoin; }
component { type = EXT_MERGE_JOIN; className = org.jetel.component.MergeJoin; }
component { type = SORTED_JOIN; className = org.jetel.component.MergeJoin; }
component { type = TRASH; className = org.jetel.component.Trash; }
component { type = DB_EXECUTE; className = org.jetel.component.DBExecute; }
component { type = HASH_JOIN; className = org.jetel.component.HashJoin; }
component { type = EXT_HASH_JOIN; className = org.jetel.component.HashJoin; }
component { type = CHECK_FOREIGN_KEY; className = org.jetel.component.CheckForeignKey; }
component { type = DBF_DATA_READER; className = org.jetel.component.DBFDataReader; }
component { type = EXT_FILTER; className = org.jetel.component.ExtFilter; }
component { type = EXT_SORT; className = org.jetel.component.ExtSort; }
component { type = SORT_WITHIN_GROUPS; className = org.jetel.component.SortWithinGroups; }
component { type = PARTITION; className = org.jetel.component.Partition; }
component { type = DATA_INTERSECTION; className = org.jetel.component.DataIntersection; }
component { type = AGGREGATE; className = org.jetel.component.Aggregate; }
component { type = SYS_EXECUTE; className = org.jetel.component.SystemExecute; }
component { type = RUN_GRAPH; className = org.jetel.component.RunGraph; }
component { type = KEY_GEN; className = org.jetel.component.KeyGenerator; }
component { type = APROX_MERGE_JOIN; className = org.jetel.component.AproxMergeJoin; }
component { type = DBJOIN; className = org.jetel.component.DBJoin; }
component { type = XLS_READER; className = org.jetel.component.XLSReader; }
component { type = XLS_WRITER; className = org.jetel.component.XLSWriter; }
component { type = CLOVER_WRITER; className = org.jetel.component.CloverDataWriter; }
component { type = CLOVER_READER; className = org.jetel.component.CloverDataReader; }
component { type = STRUCTURE_WRITER; className = org.jetel.component.StructureWriter; }
component { type = NORMALIZER; className = org.jetel.component.Normalizer; }
component { type = DENORMALIZER; className = org.jetel.component.Denormalizer; }
component { type = ROLLUP; className = org.jetel.component.Rollup; }
component { type = JMS_READER; className = org.jetel.component.JmsReader; }
component { type = JMS_WRITER; className = org.jetel.component.JmsWriter; }
component { type = LOOKUP_JOIN; className = org.jetel.component.LookupJoin; }
component { type = LOOKUP_TABLE_READER_WRITER; className = org.jetel.component.LookupTableReaderWriter; }
component { type = DATA_GENERATOR; className = org.jetel.component.DataGenerator; }
component { type = SEQUENCE_CHECKER; className = org.jetel.component.SequenceChecker; }
component { type = TEXT_TABLE_WRITER; className = org.jetel.component.TextTableWriter; }
component { type = XML_XPATH_READER; className = org.jetel.component.XmlXPathReader; }
component { type = XML_EXTRACT; className = org.jetel.component.XMLExtract; }
component { type = PACEMAKER; className = org.jetel.component.Pacemaker; }
component { type = SPEED_LIMITER; className = org.jetel.component.SpeedLimiter; }
component { type = JAVA_EXECUTE; className = org.jetel.component.JavaExecute; }
component { type = XML_WRITER; className = org.jetel.component.XmlWriter; }
component { type = XSL_TRANSFORMER; className = org.jetel.component.XSLDataTransformer; }
component { type = HTTP_CONNECTOR; className = org.jetel.component.HttpConnector; }
DEBUG [Thread-0] - Plugin org.jetel.connection loaded.
id - org.jetel.connection
version - 2.8.1
provider-name - null
connection { type = JDBC; className = org.jetel.connection.jdbc.DBConnection; }
connection { type = JMS; className = org.jetel.connection.jms.JmsConnection; }
DEBUG [Thread-0] - Plugin org.jetel.ctlfunction loaded.
id - org.jetel.ctlfunction
version - 2.5.2
provider-name - null
ctlfunction { className = org.jetel.ctl.extensions.MathLib; libraryName = math; }
ctlfunction { className = org.jetel.ctl.extensions.DateLib; libraryName = date; }
ctlfunction { className = org.jetel.ctl.extensions.StringLib; libraryName = string; }
ctlfunction { className = org.jetel.ctl.extensions.ConvertLib; libraryName = convert; }
ctlfunction { className = org.jetel.ctl.extensions.ContainerLib; libraryName = container; }
DEBUG [Thread-0] - Plugin org.jetel.engine loaded.
id - org.jetel.engine
version - 2.8.1
provider-name - null
dictionaryType { type = string; className = org.jetel.graph.dictionary.StringDictionaryType; }
dictionaryType { type = object; className = org.jetel.graph.dictionary.ObjectDictionaryType; }
dictionaryType { type = readable.channel; className = org.jetel.graph.dictionary.ReadableChannelDictionaryType; }
dictionaryType { type = writable.channel; className = org.jetel.graph.dictionary.WritableChannelDictionaryType; }
tlCompiler { type = simple.compiler; className = org.jetel.ctl.TLCompiler; }
DEBUG [Thread-0] - Plugin org.jetel.jdbc loaded.
id - org.jetel.jdbc
version - 2.8.1
provider-name - null
jdbcSpecific { class = org.jetel.connection.jdbc.specific.impl.DB2Specific; name = DB2; database = DB2; }
jdbcSpecific { class = org.jetel.connection.jdbc.specific.impl.InformixSpecific; name = Informix; database = INFORMIX; }
jdbcSpecific { class = org.jetel.connection.jdbc.specific.impl.MSSQLSpecific; name = MS SQL Server 2008; database = MSSQL; }
jdbcSpecific { class = org.jetel.connection.jdbc.specific.impl.MSSQLSpecific2005; name = MS SQL Server 2000-2005; database = MSSQL2005; }
jdbcSpecific { class = org.jetel.connection.jdbc.specific.impl.MySQLSpecific; name = MySQL; database = MYSQL; }
jdbcSpecific { class = org.jetel.connection.jdbc.specific.impl.OracleSpecific; name = Oracle; database = ORACLE; }
jdbcSpecific { class = org.jetel.connection.jdbc.specific.impl.PostgreSpecific; name = PostgreSQL; database = POSTGRE; }
jdbcSpecific { class = org.jetel.connection.jdbc.specific.impl.SybaseSpecific; name = Sybase; database = SYBASE; }
jdbcSpecific { class = org.jetel.connection.jdbc.specific.impl.SQLiteSpecific; name = SQLite; database = SQLITE; }
jdbcDriver { jdbcSpecific = MYSQL; dbDriver = org.gjt.mm.mysql.Driver; jdbc.zeroDateTimeBehavior = convertToNull; urlHint = jdbc:mysql://hostname:3306/database; name = MySQL; database = MYSQL; driverLibrary = lib/mysql/mysql-connector-java-5.1.7-bin.jar; }
jdbcDriver { jdbcSpecific = POSTGRE; dbDriver = org.postgresql.Driver; urlHint = jdbc:postgresql://hostname/database; name = PostgreSQL; database = POSTGRE; driverLibrary = lib/postgre/postgresql-8.3-603.jdbc3.jar; }
jdbcDriver { jdbcSpecific = MSSQL; dbDriver = net.sourceforge.jtds.jdbc.Driver; urlHint = jdbc:jtds:sqlserver://hostname:1433/database; name = Microsoft SQL Server; database = MSSQL; driverLibrary = lib/jtds/jtds-1.2.4.jar; }
jdbcDriver { jdbcSpecific = SYBASE; dbDriver = net.sourceforge.jtds.jdbc.Driver; urlHint = jdbc:jtds:sybase://hostname:7100/database; name = Sybase; database = SYBASE; driverLibrary = lib/jtds/jtds-1.2.4.jar; }
DEBUG [Thread-0] - Plugin org.jetel.lookup loaded.
id - org.jetel.lookup
version - 2.8.1
provider-name - null
lookup { type = simpleLookup; className = org.jetel.lookup.SimpleLookupTable; }
lookup { type = dbLookup; className = org.jetel.lookup.DBLookupTable; }
lookup { type = rangeLookup; className = org.jetel.lookup.RangeLookupTable; }
DEBUG [Thread-0] - Plugin org.jetel.sequence loaded.
id - org.jetel.sequence
version - 2.8.1
provider-name - null
sequence { type = SIMPLE_SEQUENCE; className = org.jetel.sequence.SimpleSequence; }
sequence { type = PRIMITIVE_SEQUENCE; className = org.jetel.sequence.PrimitiveSequence; }
DEBUG [Thread-0] - Plugin org.jetel.thirdparty loaded.
id - org.jetel.thirdparty
version - 2.8.1
provider-name - null
component { type = FILTER; className = org.jetel.component.Filter; }
component { type = LDAP_READER; className = com.linagora.component.LdapReader; }
component { type = LDAP_WRITER; className = com.linagora.component.LdapWriter; }
DEBUG [Thread-0] - Plugin org.jetel.tlfunction loaded.
id - org.jetel.tlfunction
version - 2.8.1
provider-name - null
tlfunction { className = org.jetel.interpreter.extensions.MathLib; function = sqrt,log,log10,exp,round,pow,pi,e,random,random_gaussian,random_boolean,random_int,random_long,abs,bit_and,bit_or,bit_xor,bit_set,bit_invert,bit_is_set,bit_lshift,bit_rshift; libraryName = math; }
tlfunction { className = org.jetel.interpreter.extensions.DateLib; function = today,dateadd,datediff,trunc,trunc_date,random_date; libraryName = date; }
tlfunction { className = org.jetel.interpreter.extensions.StringLib; function = concat,uppercase,lowercase,substring,left,right,trim,length,soundex,replace,split,char_at,is_blank,is_ascii,is_number,is_integer,is_long,is_date,remove_diacritic,remove_blank_space,get_alphanumeric_chars,translate,join,index_of,count_char,chop,remove_nonprintable,remove_nonascii,find,cut,edit_distance,metaphone,NYSIIS,random_string; libraryName = string; }
tlfunction { className = org.jetel.interpreter.extensions.ConvertLib; function = num2str,date2str,str2date,date2num,str2num,try_convert,base64byte,byte2base64,bits2str,str2bits,hex2byte,byte2hex,num2num,num2bool,bool2num,str2bool,long2date,date2long,to_string,md5,sha,long2pacdecimal,pacdecimal2long; libraryName = convert; }
tlfunction { className = org.jetel.interpreter.extensions.ContainerLib; function = remove_all,push,pop,poll,remove,insert,sort,copy,reverse,dict_put_str,dict_get_str; libraryName = container; }
DEBUG [Thread-0] - create PluginClassLoader:[file:/C:/Developpement/workspace/Infocentre/lib/plugins/org.jetel.ctlfunction/cloveretl.ctlfunction.jar]
DEBUG [Thread-0] - create PluginClassLoader:[file:/C:/Developpement/workspace/Infocentre/lib/plugins/org.jetel.connection/cloveretl.connection.jar]
WARN [Thread-0] - Graph element DBConnection driver[null]:jndi[null]:url[jdbc:oracle:thin:@mordred:1521:prcv861]:user[ASMA] is not checked by checkConfig() method. Please call TransformationGraph.checkConfig() first.
DEBUG [Thread-0] - create PluginClassLoader:[file:/C:/Developpement/workspace/Infocentre/lib/plugins/org.jetel.jdbc/cloveretl.jdbc.jar]
WARN [Thread-0] - Optimizing connection failed: READ_COMMITTED et SERIALIZABLE sont les seuls niveaux de transaction valides
WARN [Thread-0] - Try to use another jdbc specific
And the metadata file is like before. I mean all of the numeric fileds are set to “decimal” instead of “numeric” !
So how do I get metadata file like I can have with CloverDesigner ?
Thank you.