Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Discover how organizations are unlocking new revenue streams: Watch here
cancel
Showing results for 
Search instead for 
Did you mean: 
_AnonymousUser
Specialist III
Specialist III

How to let Talend to load my JDBC driver jar file.

I want to use my own UDB driver which is hit.db and I replace my jar in org.talend.libraries_2.0.0.r3065.jar and modified the MANIFEST.MF file to point to my new jar. I also make sure my new jar is imported by all DB2 three components. I was SUCCESSFUL to get UDB connection using my own JDBC driver in Job Design db2Input component (I changed the template so the generated code use my driver) . I have problem to deal with it in MetaData part when creating new DBConnection and I am still getting the exception showing ClassNotFoundException. How Talend load JDBC jars (I have my JDBC jar file in both %TALEND_HOME%\lib\java folder and %TALEND_HOME%\configuration\org.eclipse.osgi\bundles\180\1\.cp folder )? Can someone here to help me on this cuz I am fighting on this a whole day. So frustrated!
The error I got (I changed class ExtractMetaDataFromDataBase so I can see stack trace.)
******* Connection string is:jdbc:db2://xxx.xx.xx.xx:32100/DBN, db type is:IBM DB2
+++ calling ExtractMetaDataUtils class :
find driver class : hit.db2.Db2Driver
java.lang.ClassNotFoundException: hit.db2.Db2Driver
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:402)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:347)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at org.talend.core.model.metadata.builder.database.ExtractMetaDataFromDataBase.testConnection(ExtractMetaDataFromDataBase.java:268)
at org.talend.repository.ui.utils.ManagerConnection.check(ManagerConnection.java:113)
at org.talend.repository.ui.wizards.metadata.connection.database.DatabaseForm.checkConnection(DatabaseForm.java:279)
at org.talend.repository.ui.wizards.metadata.connection.database.DatabaseForm.access$11(DatabaseForm.java:265)
at org.talend.repository.ui.wizards.metadata.connection.database.DatabaseForm$3.widgetSelected(DatabaseForm.java:367)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)
at org.eclipse.jface.window.Window.open(Window.java:796)
at org.talend.repository.ui.actions.metadata.CreateConnectionAction.run(
CreateConnectionAction.java:141)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:499)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection
(ActionContributionItem.java:539)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContri
butionItem.java:488)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionC
ontributionItem.java:400)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.talend.rcp.intro.Application.run(Application.java:66)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformAct
ivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runAppli
cation(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)
Labels (2)
5 Replies
_AnonymousUser
Specialist III
Specialist III
Author

Can some one help me to figour it out since my project is stucked on this because the database connection issue. I am really hoping Talend provide a generaic JDBC component which allow user define driver and URL like some other ETL tools. Thanks.
_AnonymousUser
Specialist III
Specialist III
Author

The original error is:
com.ibm.db2.jcc.a.SqlException: The version of the IBM Universal JDBC driver in
use is not licensed for connectivity to QDB2 databases. To connect to this DB2
server, please obtain a licensed copy of the IBM DB2 Universal Driver for JDBC a
nd SQLJ. An appropriate license file db2jcc_license_*.jar for this target platf
orm must be installed to the application classpath. Connectivity to QDB2 databa
ses is enabled by any of the following license files: { db2jcc_license_cisuz.jar
}
Where can I get db2jcc_license_cisuz.jar when I am doing evaluation? We normally have JDBC HIT driver (hit.db2.Db2Driver) for IBM UDB connection and Talend wouln't lwt me use HIT driver or maybe I did it wrong. Thanks.
_AnonymousUser
Specialist III
Specialist III
Author

hi,
Same probleme here.
Why TOS do not use a generic jdbc driver, hu ?
regards
Anonymous
Not applicable

Hi
I also try to connect to DB2 database but i had the same problem with the universal drive. I developpe under java with standard JT400 from IBM is it not possible to use jt400 instead of DB2 driver.
thank's for yor answer
Anonymous
Not applicable

we are loading TISEE and then copying our db2jcc.jar file to \TIS_EE-All-r29781-V3.1.4\lib\java before we run our jobs. this is an awkward solution, but it works. any ideas on how to get our driver to "stick" instead of being overwritten?
thanks.