One Star

JDBC connection to Progress v9.1e fails

Hello all.
I'm new to TOS, TOP and have encountered a problem:
I cannot connect to a Progress database using JDBC.
We have several legacy applications where we need to extract data and put into our warehouse.
For the various flavors of SQL, I've had no problem setting up jdbc connections in TOS/TOP and continuing on with TOS/TOP activities (analysis and ETL)
However, the Progress jdbc connection eludes me.
I've searched this forum and have not found a solution. Also checked Progress's knowledgebase without success.
I'm hoping that you can point me in the right direction.

Here are some details:
client PC: Win Xp, TOS/TOP v4.2
java: jre6
db host: SuSe Linux, Progress v9.1e (sp4 hotfix22)
jdbc url: jdbc:jdbcprogress:T:server-name:service-name
username/pass: root root-password
driver class: com.progress.sql.jdbc.JdbcProgressDriver
JAR files: jdbc.jar, progress.jar
PC environment variables:
CLASSPATH=%CLASSPATH%;%DLC%/java
PATH=%PATH%;%DLC%/bin
Additional info to consider:
Using the SqlExplorer tool that comes with Progress, I am able to connect to the database using the above url.
When I test the TOS jdbc connection, sometimes it reports as good, but only the first time. Additional tests fail until I restart TOS.
I can make a successful TOS connection using ODBC if I setup the odbc connection on my workstation (using the Progress supplied odbc driver)
I've checked the database logs, and each TOS connection test is recorded in the log the same as when I connect using the progress sql tool.

Your comments and suggestions are greatly appreciated.
Thanks
1 REPLY
One Star

Re: JDBC connection to Progress v9.1e fails

Update:
I've setup a test job using tJDBCInput and tLogRow.
It works if I manually create a schema for the input.
I've attached a couple of pics of the job.

So, for some reason, I cannot check the connection and cannot retrieve the schema.
Any ideas why I cannot retrieve the schema? And verify the connection?
On a side note; I was able to successfully setup a JDBC connection to the same progress database using Pentaho.
Additional log info:
I checked the logs and found an exception is generated when I test the connection. Is this normal behaviour if the connection is configured incorrectly?
(I read heare that the groovy language support exception is normal and no cause for concern.)
Here's what was done to generate the log entries:
1. start TOS
2. goto metadata -> db connections -> {my db connection}
3. test connection
4. exit TOS
Thanks in advance for your help.
Mike
!SESSION 2011-10-13 15:40:13.524 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_27
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en
Command-line arguments: -os win32 -ws win32 -arch x86
!ENTRY org.eclipse.jdt.core 4 4 2011-10-13 15:40:18.913
!MESSAGE Error creating Groovy language support
!STACK 0
java.lang.ClassNotFoundException: org.codehaus.jdt.groovy.integration.internal.GroovyLanguageSupport
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:506)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:338)
at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:232)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1197)
at org.codehaus.jdt.groovy.integration.LanguageSupportFactory.tryInstantiate(LanguageSupportFactory.java:122)
at org.codehaus.jdt.groovy.integration.LanguageSupportFactory.getLanguageSupport(LanguageSupportFactory.java:95)
at org.codehaus.jdt.groovy.integration.LanguageSupportFactory.getEventHandler(LanguageSupportFactory.java:142)
at org.eclipse.jdt.internal.core.JavaProject.close(JavaProject.java:470)
at org.eclipse.jdt.internal.core.ClasspathChange.generateDelta(ClasspathChange.java:258)
at org.eclipse.jdt.internal.core.DeltaProcessor.resourceChanged(DeltaProcessor.java:1916)
at org.eclipse.jdt.internal.core.DeltaProcessingState.resourceChanged(DeltaProcessingState.java:470)
at org.eclipse.core.internal.events.NotificationManager$2.run(NotificationManager.java:291)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:285)
at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:149)
at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:327)
at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1181)
at org.eclipse.core.internal.resources.File.setContents(File.java:369)
at org.eclipse.core.internal.resources.File.setContents(File.java:468)
at org.eclipse.emf.ecore.resource.impl.PlatformResourceURIHandlerImpl$PlatformResourceOutputStream.flush(PlatformResourceURIHandlerImpl.java:134)
at sun.nio.cs.StreamEncoder.implFlush(Unknown Source)
at sun.nio.cs.StreamEncoder.flush(Unknown Source)
at java.io.OutputStreamWriter.flush(Unknown Source)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.write(XMLSaveImpl.java:1010)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.save(XMLSaveImpl.java:266)
at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doSave(XMLResourceImpl.java:206)
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(ResourceImpl.java:1406)
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(ResourceImpl.java:993)
at org.talend.commons.emf.EmfHelper.saveResource(EmfHelper.java:169)
at org.talend.core.repository.utils.XmiResourceManager.saveResource(XmiResourceManager.java:342)
at org.talend.repository.localprovider.model.LocalRepositoryFactory.saveProject(LocalRepositoryFactory.java:782)
at org.talend.repository.localprovider.model.LocalRepositoryFactory.logOnProject(LocalRepositoryFactory.java:2274)
at org.talend.core.repository.model.ProxyRepositoryFactory.logOnProject(ProxyRepositoryFactory.java:1496)
at org.talend.repository.ui.login.LoginDialog$1.run(LoginDialog.java:241)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
!ENTRY org.talend.platform.logging 1 0 2011-10-13 15:40:21.677
!MESSAGE 2011-10-13 15:40:21,677 INFO org.talend.core.repository.model.ProxyRepositoryFactory - {email address} logged on wclc

!ENTRY org.talend.platform.logging 4 0 2011-10-13 15:41:15.156
!MESSAGE 2011-10-13 15:41:15,156 ERROR org.talend.commons.exception.CommonExceptionHandler - Impossible to initialize the connection !
!STACK 0
java.lang.Exception: Impossible to initialize the connection !
at org.talend.core.model.metadata.builder.database.ExtractMetaDataUtils.connect(ExtractMetaDataUtils.java:746)
at org.talend.core.model.metadata.builder.database.ExtractMetaDataFromDataBase.testConnection(ExtractMetaDataFromDataBase.java:1559)
at org.talend.repository.ui.utils.ManagerConnection.check(ManagerConnection.java:122)
at org.talend.repository.ui.wizards.metadata.connection.database.DatabaseForm.checkConnection(DatabaseForm.java:812)
at org.talend.repository.ui.wizards.metadata.connection.database.DatabaseForm.access$19(DatabaseForm.java:763)
at org.talend.repository.ui.wizards.metadata.connection.database.DatabaseForm$4.widgetSelected(DatabaseForm.java:976)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
at org.eclipse.jface.window.Window.open(Window.java:801)
at org.talend.repository.ui.actions.metadata.CreateConnectionAction.doRun(CreateConnectionAction.java:204)
at org.talend.repository.ui.actions.AContextualAction$2.run(AContextualAction.java:550)
at org.talend.repository.RepositoryWorkUnit.executeRun(RepositoryWorkUnit.java:84)
at org.talend.core.repository.model.AbstractRepositoryFactory.executeRepositoryWorkUnit(AbstractRepositoryFactory.java:217)
at org.talend.repository.localprovider.model.LocalRepositoryFactory.executeRepositoryWorkUnit(LocalRepositoryFactory.java:2460)
at org.talend.core.repository.model.ProxyRepositoryFactory.executeRepositoryWorkUnit(ProxyRepositoryFactory.java:1654)
at org.talend.repository.ui.actions.AContextualAction.run(AContextualAction.java:561)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.talend.rcp.intro.Application.start(Application.java:128)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)