Data Integration

Get Involved. Join the Conversation.

Topic

    Nagesh Nadimatla Ext
    Redshift Data server connectivity issue with standalone...
    Topic posted February 23, 2018 by Nagesh Nadimatla ExtGreen Ribbon: 100+ Points, last edited August 23, 2018 by Arijit ChakrabortyBronze Trophy: 5,000+ Points, tagged Big Data / Data Lake, Cloud, ODI, Tip 
    67 Views, 8 Comments
    Title:
    Redshift Data server connectivity issue with standalone agent in ODI 12.2.1 on windows server
    Summary:
    Redshift Data server connectivity issue with standalone agent in ODI 12.2.1 on windows server
    Content:

    I have configured Redshift Data server in ODI for this i have copied the suitable JDBC drivers for Redshift in odi installed folder.

    After this when I am trying to test Red shift connection from local agent it is connecting successfully. But trying to test it from standalone agent it is giving below mentioned error.

     

    I have done below changes in Redhsift Dataserver and added the Jdbc drivers in below mentioned paths. Before testing the connection i have restarted Admin server and ODI Agents :

    JDBC Driver:com.amazon.redshift.jdbc42.Driver

    JDBC URL: jdbc:redshift://endpoint:port/database

    pastedImage_2.png

    Path

    C:\Oracle\product\middleware\odi\odi\sdk\lib\RedshiftJDBC42-1.2.10.1009.jar

    C:\Oracle\config\odidev-domain\lib\RedshiftJDBC42-1.2.10.1009.jar

    C:\%APPDATA%\Roaming\odi\oracledi\userlib\RedshiftJDBC42-1.2.10.1009.jar

     

    Error:

    oracle.odi.runtime.agent.invocation.InvocationException: oracle.odi.core.exception.OdiRuntimeException: java.lang.RuntimeException: java.lang.IllegalArgumentException: Could not load JDBC driver class [com.amazon.redshift.jdbc42.Driver]

    at oracle.odi.runtime.agent.invocation.RemoteRuntimeAgentInvoker.invoke(RemoteRuntimeAgentInvoker.java:439)

    at oracle.odi.runtime.agent.invocation.support.InternalRemoteRuntimeAgentInvoker.invoke(InternalRemoteRuntimeAgentInvoker.java:162)

    at oracle.odi.runtime.agent.invocation.RemoteRuntimeAgentInvoker.invokeTestDataServer(RemoteRuntimeAgentInvoker.java:1118)

    at com.sunopsis.graphical.dialog.SnpsDialogTestConnet.remoteTestConn(SnpsDialogTestConnet.java:664)

    at com.sunopsis.graphical.dialog.SnpsDialogTestConnet$9.doInBackground(SnpsDialogTestConnet.java:622)

    at oracle.odi.ui.framework.AbsUIRunnableTask.run(AbsUIRunnableTask.java:258)

    at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:961)

    at java.lang.Thread.run(Thread.java:748)

     

    Please guide me to resolve this issue. Thank you in Advance.

    Comment

     

    • Jerome Francoisse

      Hi ​,

      You have added the libraries for ODI Studio but not for the agent. Here is how to do it : https://docs.oracle.com/middleware/1221/core/ODING/GUID-36693629-7238-44AC-9BEB-B5F9305EBB3E.htm#ODING-GUID-ED402551-81C…

      Hope it helps.

      Best regards,

      JeromeFr

    • Jerome Francoisse

      Hi ​,

      The location for your standalone agent lib files is within the domain you had to create when running config.bat.

      Check something like this :

      C:\Oracle\product\middleware\odi\user_projects\domains\<domain_name>\lib

      Best regards,

      JeromeFr

    • Nagesh Nadimatla Ext

      HI JeromeF r,

      Thank you for response.

      Forgot to mention it in my post , i have added it in the agent lib also then also it is getting JDBC error.

      C:\Oracle\product\middleware\odi\odi\agent\lib.

      Thanks in Advance.

    • Nagesh Nadimatla Ext

      HI JeromeF r,

      Not able to find the below Domain folder in the ODI installation directory and also not able to find config.bat.

      C:\Oracle\product\middleware\odi\user_projects\domains\<domain_name>\lib

      For our ODI installation , We created environment domain folder for each environment like below. So i have copied the JDBC drivers in respected folder for each environment.

      C:\Oracle\config\odidev-domain\lib\RedshiftJDBC42-1.2.10.1009.jar

      C:\Oracle\config\odiqa-domain\lib\RedshiftJDBC42-1.2.10.1009.jar

      C:\Oracle\config\odiprod-domain\lib\RedshiftJDBC42-1.2.10.1009.jar

      Please let me know do i need copy the JDBC drivers in any other location.

      Best Regards,

      Nagesh N

    • Jerome Francoisse

      Oh ok, it should be good then, strange. Did you restart the agent after setting the jars there?

      Could you try setting the following environment variable then start the agent ?

      ODI_ADDITIONAL_CLASSPATH="<path>\RedshiftJDBC42-1.2.10.1009.jar"

    • Jerome Francoisse

      ​, did you manage to get the jar on the standalone agent? Did you try the ODI_ADDITIONAL_CLASSPATH ?

      Thanks,

      Jerome

    • Nagesh Nadimatla Ext

      HI Jerome,

      Thank You.

      Actually we are using J2EE agents and  we don't have standalone agents.  And also i have tried with ODI_ADDITIONAL_CLASSPATH in  instance.cmd file in below location.

      C:\Oracle\config\odidev-domain\config\fmwconfig\components\ODI\OracleDIAgent1\bin\Instance.cmd

      Still there is no luck not able to test with J2EE agents. Please let me know is there in other ways to achieve this. Thank you

      Regards,

      Nagesh N

    • Jerome Francoisse

      Hi ​,

      I think you actually need to set ODI_ADDITIONAL_CLASSPATH as environment variable on your Windows Server. Then restart the managed server.

      Best regards.

      JeromeFr