Customer Portal

Teradata drvier - NullPoint Exception

Comments 6

  • Avatar
    jurban
    0
    Comment actions Permalink
    Hi!
    this looks like a bug. Can you please look in the "error log" view? You can find it in Window->show view->other->PDE runtime->error log. Though you need to have the right edition of Eclipse installed.

    Thanks!
    Jaro
  • Avatar
    schabluk
    0
    Comment actions Permalink
    Hi,
    thanks for an answer. I'm using:

    Eclipse
    Version: 3.3.2
    Build id: M20080221-1800

    CloverETL GUI
    Version: 1.10.2
    Build #: 273
    Build date: 2008-05-29

    Here is the stack trace:

    Message:
    Problems occurred when invoking code from plug-in: "org.eclipse.jface".

    Exception Stack Trace:

    java.lang.NullPointerException
    at com.ncr.teradata.TeraDriver.acceptsURL(TeraDriver.java:334)
    at cz.opentech.cloveretl.gui.wizard.dbconnection.E.Ò00000(Unknown Source)
    at cz.opentech.cloveretl.gui.wizard.dbconnection.E.String(Unknown Source)
    at cz.opentech.cloveretl.gui.wizard.dbconnection.E$_Oo.selectionChanged(Unknown Source)
    at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:162)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
    at org.eclipse.core.runtime.Platform.run(Platform.java:857)
    at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:46)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:199)
    at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:160)
    at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2047)
    at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1138)
    at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1168)
    at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:227)
    at org.eclipse.jface.util.OpenStrategy.access$3(OpenStrategy.java:221)
    at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:388)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)
    at org.eclipse.jface.window.Window.open(Window.java:796)
    at org.eclipse.ui.actions.NewWizardAction.run(NewWizardAction.java:182)
    at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:546)
    at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490)
    at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
    at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1173)

    Session Data:

    eclipse.buildId=M20080221-1800
    java.version=1.6.0_06
    java.vendor=Sun Microsystems Inc.
    BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=pl_PL
    Command-line arguments: -os win32 -ws win32 -arch x86
  • Avatar
    jurban
    0
    Comment actions Permalink
    Hi!
    thanks for the detailed bug info. We were able to track down the bug, and it will be fixed in the next bugfix release of CloverGUI.

    Jaro
  • Avatar
    schabluk
    0
    Comment actions Permalink
    Hi,
    It seems that the bug with URL jdbc string is gone. I have configured my connection with teradata database. The connection is valid, although i have two more problems now:
    - in DB_INPUT_TABLE I can't perform SQL Query Validation or Schema extraction
    - getting NoClassDefFoundError Exception while running simple reader task.
    Is there any additional configuration for jdbc drivers required?

    Console Log:

    ***  CloverETL framework/transformation graph runner ver 2.4, (c) 2002-06 D.Pavlis, released under GNU Lesser General Public License  ***
    Running with framework version: 2.4 build#2069 compiled 10/07/2008 16:35:29

    INFO [main] - Loading default properties from: defaultProperties
    DEBUG [main] - Plugin org.jetel.bulkloader loaded.
    id - org.jetel.bulkloader
    version - 2.4.8
    provider-name -
    component { className = org.jetel.component.OracleDataReader; type = ORACLE_DATA_READER; }
    component { className = org.jetel.component.OracleDataWriter; type = ORACLE_DATA_WRITER; }
    component { className = org.jetel.component.MysqlDataReader; type = MYSQL_DATA_READER; }
    component { className = org.jetel.component.DB2DataWriter; type = DB2_DATA_WRITER; }
    component { className = org.jetel.component.InformixDataWriter; type = INFORMIX_DATA_WRITER; }
    component { className = org.jetel.component.MsSqlDataWriter; type = MS_SQL_DATA_WRITER; }
    component { className = org.jetel.component.MysqlDataWriter; type = MYSQL_DATA_WRITER; }
    component { className = org.jetel.component.PostgreSqlDataWriter; type = POSTGRESQL_DATA_WRITER; }

    DEBUG [main] - Plugin org.jetel.component loaded.
    id - org.jetel.component
    version - 2.4.8
    provider-name - null
    component { className = org.jetel.component.DataReader; type = DATA_READER; }
    component { className = org.jetel.component.DataWriter; type = DATA_WRITER; }
    component { className = org.jetel.component.DelimitedDataReader; type = DELIMITED_DATA_READER; }
    component { className = org.jetel.component.DelimitedDataWriter; type = DELIMITED_DATA_WRITER; }
    component { className = org.jetel.component.SimpleCopy; type = SIMPLE_COPY; }
    component { className = org.jetel.component.Concatenate; type = CONCATENATE; }
    component { className = org.jetel.component.SimpleGather; type = SIMPLE_GATHER; }
    component { className = org.jetel.component.Reformat; type = REFORMAT; }
    component { className = org.jetel.component.DBInputTable; type = DB_INPUT_TABLE; }
    component { className = org.jetel.component.Sort; type = SORT; }
    component { className = org.jetel.component.DBOutputTable; type = DB_OUTPUT_TABLE; }
    component { className = org.jetel.component.FixLenDataWriter; type = FIXLEN_DATA_WRITER; }
    component { className = org.jetel.component.Dedup; type = DEDUP; }
    component { className = org.jetel.component.FixLenDataReader; type = FIXLEN_DATA_READER; }
    component { className = org.jetel.component.Merge; type = MERGE; }
    component { className = org.jetel.component.MergeJoin; type = MERGE_JOIN; }
    component { className = org.jetel.component.MergeJoin; type = EXT_MERGE_JOIN; }
    component { className = org.jetel.component.MergeJoin; type = SORTED_JOIN; }
    component { className = org.jetel.component.Trash; type = TRASH; }
    component { className = org.jetel.component.DBExecute; type = DB_EXECUTE; }
    component { className = org.jetel.component.HashJoin; type = HASH_JOIN; }
    component { className = org.jetel.component.HashJoin; type = EXT_HASH_JOIN; }
    component { className = org.jetel.component.CheckForeignKey; type = CHECK_FOREIGN_KEY; }
    component { className = org.jetel.component.DBFDataReader; type = DBF_DATA_READER; }
    component { className = org.jetel.component.ExtFilter; type = EXT_FILTER; }
    component { className = org.jetel.component.ExtSort; type = EXT_SORT; }
    component { className = org.jetel.component.Partition; type = PARTITION; }
    component { className = org.jetel.component.DataIntersection; type = DATA_INTERSECTION; }
    component { className = org.jetel.component.Aggregate; type = AGGREGATE; }
    component { className = org.jetel.component.SystemExecute; type = SYS_EXECUTE; }
    component { className = org.jetel.component.RunGraph; type = RUN_GRAPH; }
    component { className = org.jetel.component.KeyGenerator; type = KEY_GEN; }
    component { className = org.jetel.component.AproxMergeJoin; type = APROX_MERGE_JOIN; }
    component { className = org.jetel.component.DBJoin; type = DBJOIN; }
    component { className = org.jetel.component.XLSReader; type = XLS_READER; }
    component { className = org.jetel.component.XLSWriter; type = XLS_WRITER; }
    component { className = org.jetel.component.CloverDataWriter; type = CLOVER_WRITER; }
    component { className = org.jetel.component.CloverDataReader; type = CLOVER_READER; }
    component { className = org.jetel.component.StructureWriter; type = STRUCTURE_WRITER; }
    component { className = org.jetel.component.Normalizer; type = NORMALIZER; }
    component { className = org.jetel.component.Denormalizer; type = DENORMALIZER; }
    component { className = org.jetel.component.JmsReader; type = JMS_READER; }
    component { className = org.jetel.component.JmsWriter; type = JMS_WRITER; }
    component { className = org.jetel.component.LookupJoin; type = LOOKUP_JOIN; }
    component { className = org.jetel.component.LookupTableReaderWriter; type = LOOKUP_TABLE_READER_WRITER; }
    component { className = org.jetel.component.DataGenerator; type = DATA_GENERATOR; }
    component { className = org.jetel.component.MultiLevelReader; type = MULTI_LEVEL_READER; }
    component { className = org.jetel.component.SequenceChecker; type = SEQUENCE_CHECKER; }
    component { className = org.jetel.component.TextTableWriter; type = TEXT_TABLE_WRITER; }
    component { className = org.jetel.component.XmlXPathReader; type = XML_XPATH_READER; }
    component { className = org.jetel.component.Pacemaker; type = PACEMAKER; }
    component { className = org.jetel.component.SpeedLimiter; type = SPEED_LIMITER; }
    component { className = org.jetel.component.JavaExecute; type = JAVA_EXECUTE; }
    component { className = org.jetel.component.XmlWriter; type = XML_WRITER; }
    component { className = org.jetel.component.XSLDataTransformer; type = XSL_TRANSFORMER; }

    DEBUG [main] - Plugin org.jetel.connection loaded.
    id - org.jetel.connection
    version - 2.4.8
    provider-name - null
    connection { className = org.jetel.connection.DBConnection; type = JDBC; }
    connection { className = org.jetel.connection.JmsConnection; type = JMS; }

    DEBUG [main] - Plugin org.jetel.engine loaded.
    id - org.jetel.engine
    version - 2.4.8
    provider-name - null
    dictionaryEntry { className = org.jetel.graph.dictionary.StringDictionaryEntryProvider; type = string; }

    DEBUG [main] - Plugin org.jetel.jdbc loaded.
    id - org.jetel.jdbc
    version - 2.4.8
    provider-name - null
    jdbcDriver { driverLibrary = lib/mysql/mysql-connector-java-5.1.5-bin.jar; name = MySQL; dbDriver = org.gjt.mm.mysql.Driver; urlHint = jdbc:mysql://hostname:3306/database; database = MYSQL; }
    jdbcDriver { driverLibrary = lib/postgre/postgresql-8.3-603.jdbc3.jar; name = PostgreSQL; dbDriver = org.postgresql.Driver; urlHint = jdbc:postgresql://hostname/database; database = POSTGRE; }

    DEBUG [main] - Plugin org.jetel.lookup loaded.
    id - org.jetel.lookup
    version - 2.4.8
    provider-name - null
    lookup { className = org.jetel.lookup.SimpleLookupTable; type = simpleLookup; }
    lookup { className = org.jetel.lookup.DBLookupTable; type = dbLookup; }
    lookup { className = org.jetel.lookup.RangeLookupTable; type = rangeLookup; }

    DEBUG [main] - Plugin org.jetel.sequence loaded.
    id - org.jetel.sequence
    version - 2.4.8
    provider-name - null
    sequence { className = org.jetel.sequence.SimpleSequence; type = SIMPLE_SEQUENCE; }
    sequence { className = org.jetel.sequence.PrimitiveSequence; type = PRIMITIVE_SEQUENCE; }

    DEBUG [main] - Plugin org.jetel.thirdparty loaded.
    id - org.jetel.thirdparty
    version - 2.4.8
    provider-name - null
    component { className = org.jetel.component.XMLExtract; type = XML_EXTRACT; }
    component { className = org.jetel.component.Filter; type = FILTER; }
    component { className = com.linagora.component.LdapReader; type = LDAP_READER; }
    component { className = com.linagora.component.LdapWriter; type = LDAP_WRITER; }

    DEBUG [main] - Plugin org.jetel.tlfunction loaded.
    id - org.jetel.tlfunction
    version - 2.4.8
    provider-name - null
    tlfunction { libraryName = math; className = org.jetel.interpreter.extensions.MathLib; function = sqrt,log,log10,exp,round,pow,pi,e,random; }
    tlfunction { libraryName = date; className = org.jetel.interpreter.extensions.DateLib; function = today,dateadd,datediff,trunc; }
    tlfunction { libraryName = string; 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; }
    tlfunction { libraryName = convert; 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; }

    Graph definition file: graph\teraReader.grf
    INFO [main] - Checking graph configuration...
    INFO [main] - Initializing connection:
    INFO [main] - DBConnection driver[com.ncr.teradata.TeraDriver]:url[jdbc:teradata://demotdat]:user[student01] ... OK
    INFO [WatchDog] - Thread started.
    INFO [WatchDog] - Running on 2 CPU(s) max available memory for JVM 65088 KB
    INFO [WatchDog] - [Clover] Initializing phase: 0
    DEBUG [WatchDog] - initializing edges:
    DEBUG [WatchDog] - all edges initialized successfully...
    DEBUG [WatchDog] - initializing nodes:
    DEBUG [WatchDog] - DATA_WRITER0 ...OK
    DEBUG [WatchDog] - DB_INPUT_TABLE0 ...OK
    INFO [WatchDog] - [Clover] phase: 0 initialized successfully.
    INFO [WatchDog] - Starting up all nodes in phase [0]
    DEBUG [WatchDog] - DATA_WRITER0 ... started
    DEBUG [WatchDog] - DB_INPUT_TABLE0 ... started
    INFO [WatchDog] - Sucessfully started all nodes in phase!
    DEBUG [DB_INPUT_TABLE0] - DBConnection (Connection0), component [DB_INPUT_TABLE0] attempts to connect to the database
    INFO [WatchDog] - ---------------------** Start of tracking Log for phase [0] **-------------------
    INFO [WatchDog] - Time: 22/07/08 12:54:09
    INFO [WatchDog] - Node Status Port #Records #KB Rec/s KB/s
    INFO [WatchDog] - ----------------------------------------------------------------------------------
    INFO [WatchDog] - DATA_WRITER0 RUNNING
    INFO [WatchDog] - %cpu:.. In:0 0 0 0 0
    INFO [WatchDog] - DB_INPUT_TABLE0 RUNNING
    INFO [WatchDog] - %cpu:.. Out:0 0 0 0 0
    INFO [WatchDog] - ---------------------------------** End of Log **--------------------------------
    Exception in thread "DB_INPUT_TABLE0" java.lang.NoClassDefFoundError: com/ncr/teradata/jtdgss/TdgssManager
    at com.ncr.teradata.TeraEncrypt.getTDgssVersion(TeraEncrypt.java:563)
    at com.ncr.teradata.jdbc_4.parcel.ConfigFeatureTdgss.<init>(ConfigFeatureTdgss.java:44)
    at com.ncr.teradata.jdbc_4.statemachine.InitDBConfigState.action(InitDBConfigState.java:66)
    at com.ncr.teradata.jdbc_4.statemachine.LogonController.run(LogonController.java:49)
    at com.ncr.teradata.jdbc_4.TDSession.<init>(TDSession.java:193)
    at com.ncr.teradata.jdbc_3.ifjdbc_4.TeraLocalConnection.<init>(TeraLocalConnection.java:93)
    at com.ncr.teradata.jdbc.ConnectionFactory.createConnection(ConnectionFactory.java:50)
    at com.ncr.teradata.TeraDriver.connect(TeraDriver.java:260)
    at org.jetel.connection.DBConnection.connect(DBConnection.java:282)
    at org.jetel.connection.DBConnection.getConnection(DBConnection.java:457)
    at org.jetel.component.DBInputTable.execute(DBInputTable.java:194)
    at org.jetel.graph.Node.run(Node.java:371)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:619)
    Caused by: java.lang.ClassNotFoundException: com.ncr.teradata.jtdgss.TdgssManager
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    ... 15 more
  • Avatar
    schabluk
    0
    Comment actions Permalink
    Hi,
    The problem is solved. I had to add two jar files to the class path: tdgssconfig.jar, tdgssjava.jar.

    Best regards.
  • Avatar
    mohankrishnas
    0
    Comment actions Permalink
    i am facing the same problem as you mentioned nullpointer exception Could you help me out

Please sign in to leave a comment.