Hitachi Vantara Pentaho Community Forums
Results 1 to 5 of 5

Thread: Running ETL Program with Informix

  1. #1
    Join Date
    Sep 2008
    Posts
    2

    Arrow Running ETL Program with Informix

    I have executed the sample program TransBuilder.java and getting this error, I am using Informix Server IDS 11.50

    INFORMIXSERVER does not match either DBSERVERNAME or DBSERVERALIASES

    Complete Trace is as below


    Code:
    Error occured while trying to connect to the database
    
    Error connecting to database: (using class com.informix.jdbc.IfxDriver)
    INFORMIXSERVER does not match either DBSERVERNAME or DBSERVERALIASES.
    
    
    
        at org.pentaho.di.trans.steps.tableinput.TableInputMeta.getFields(TableInputMeta.java:274)
        at org.pentaho.di.trans.TransMeta.getThisStepFields(TransMeta.java:1708)
        at org.pentaho.di.trans.TransMeta.getStepFields(TransMeta.java:1563)
        at org.pentaho.di.trans.TransMeta.getPrevStepFields(TransMeta.java:1611)
        at org.pentaho.di.trans.TransMeta.getPrevStepFields(TransMeta.java:1585)
        at org.pentaho.di.trans.TransMeta.getSQLStatements(TransMeta.java:4239)
        at org.pentaho.di.trans.TransMeta.getSQLStatements(TransMeta.java:4222)
        at org.pentaho.di.trans.TransMeta.getSQLStatementsString(TransMeta.java:4290)
        at com.i2c.fds.el.TransBuilder.main(TransBuilder.java:248)
    Caused by: org.pentaho.di.core.exception.KettleDatabaseException: 
    Error occured while trying to connect to the database
    
    Error connecting to database: (using class com.informix.jdbc.IfxDriver)
    INFORMIXSERVER does not match either DBSERVERNAME or DBSERVERALIASES.
    
    
        at org.pentaho.di.core.database.Database.normalConnect(Database.java:315)
        at org.pentaho.di.core.database.Database.connect(Database.java:264)
        at org.pentaho.di.core.database.Database.connect(Database.java:226)
        at org.pentaho.di.core.database.Database.connect(Database.java:216)
        at org.pentaho.di.trans.steps.tableinput.TableInputMeta.getFields(TableInputMeta.java:248)
        ... 8 more
    Caused by: org.pentaho.di.core.exception.KettleDatabaseException: 
    Error connecting to database: (using class com.informix.jdbc.IfxDriver)
    INFORMIXSERVER does not match either DBSERVERNAME or DBSERVERALIASES.
    
        at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:432)
        at org.pentaho.di.core.database.Database.normalConnect(Database.java:299)
        ... 12 more
    Caused by: java.sql.SQLException: INFORMIXSERVER does not match either DBSERVERNAME or DBSERVERALIASES.
        at com.informix.jdbc.IfxSqliConnect.<init>(IfxSqliConnect.java:963)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
        at com.informix.jdbc.IfxDriver.connect(IfxDriver.java:253)
        at java.sql.DriverManager.getConnection(DriverManager.java:525)
        at java.sql.DriverManager.getConnection(DriverManager.java:171)
        at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:413)
        ... 13 more
    I have modified the DB XML as

    Code:
    public static final String[] databasesXML = {
            "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
            "<connection>" +
                "<name>db_name</name>" +
                "<server>190.160.0.10</server>" +
                "<type>Informix</type>" +
                "<access>Native</access>" +
                "<database>cards_1018</database>" +
                "<port>8142</port>" +
                "<username>user_name</username>" +
                "<password>password</password>" +
              "</connection>",
    
              "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
              "<connection>" +
                  "<name>card_instances</name>" +
                  "<server>190.160.0.10</server>" +
                  "<type>Informix</type>" +
                  "<access>Native</access>" +
                  "<database>card_instances</database>" +
                  "<port>8142</port>" +
                  "<username>user_name</username>" +
                  "<password>password</password>" +
                "</connection>"  
        };
    I think I have to provide the INFORMIXSERVER but where don't know informix server is :informixserver=ids_net_mcp1

    Regards

  2. #2
    Join Date
    May 2006
    Posts
    4,882

    Default

    From memory from a long time ago... it's not a PDI problem, it's an informix problem. You have to set some variables on the server, restart informix and also on the client. Do a search for the exact error string on the internet e.g., you will find 100rds of references.

    Regards,
    Sven

  3. #3
    Join Date
    May 2006
    Posts
    4,882

    Default

    761 INFORMIXSERVER does not match either DBSERVERNAME or DBSERVERALIASES.

    Your INFORMIXSERVER environment variable does not match the DBSERVERNAME or any of the DBSERVERALIASES settings in the ONCONFIG configuration file of the server to which you are trying to connect. Check your environment variables and the ONCONFIG configuration file. Check that INFORMIXSERVER matches one of the settings in the ONCONFIG file.

  4. #4
    Join Date
    Sep 2008
    Posts
    2

    Arrow Column level transformation in PDI

    @sboden: My question was very straight forward and I have mentioned the actual XML string for database connectivity but you haven't noticed that

    The problem has been resolved and it was due to missing tag of

    Code:
    <servername>server_name</servername>
    The tag was originally missing in sample program TransBuilder.java.I have corrected it by analyzing the XML parsed by the TransMeta class and there I found an empty tag of
    Code:
    <servername/>
    1. Is there any document which explains the complete schema of this XML?

    2. How to do below transformation in PDI
    1. I want to write an ETL which take some data from a database A table A
    2. and then filter some columns e.g. select X columns from a list of Y columns
    3. and then store data into database B table B
    Is PDI can do this transformation? If yes then which classes I can use to achieve this? (as the documentation of the API is not very helpful)

    Regards

  5. #5
    Join Date
    May 2006
    Posts
    4,882

    Default

    Good for you

    For 1) No
    For 2) Maybe... straight movement/selection will work: table input step, select values step, and an insert/update step e.g. PDI doesn't really like "changing" columns if that's your intention with 2.2 (no problems if the list of columns is fixed, problems if you want to dynamically do such things).

    By the way... not a lot of people are not using the API to build transformations (there are some gotcha's present in some of the steps). Most just use spoon/pan/kitchen, and if you want to integrate PDI with something else the best probably is to strip e.g. pan and load a transformation like that for your own application. If you're going to build your transformations via the API you're going to develop very slowly.

    Regards,
    Sven

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Privacy Policy | Legal Notices | Safe Harbor Privacy Policy

Copyright © 2005 - 2019 Hitachi Vantara Corporation. All Rights Reserved.