Informix

 View Only
  • 1.  myimport error - "sqlreload: not found"

    Posted Tue May 26, 2020 09:55 AM
    Greetings,

    I'm currently evaluating Art Kagel's myimport tool, mainly for performance reasons.
    I'm using an export generated via dbexport.

    AFAICT, I can run myimport against the export.

    However, when I run myimport, it fails when attempting to run the sqlreload script/utility, because, it cannot be found.
    It appears sqlreload is responsible for populating the created tables.

    The command line I use is:
    $ myimport simpledb -p -i /home/informix/dbexport/simpledb -q

    I couldn't see sqlreload on the IIUG repo:
    https://www.iiug.org/en/iiug-software-repository/

    Can anyone direct me to where I can download it from please?

    TIA.
    #Informix


  • 2.  RE: myimport error - "sqlreload: not found"

    IBM Champion
    Posted Tue May 26, 2020 11:02 AM
    Danil:

    As I posted earlier:

    1. sqlreload is part of Jonathan Leffler's sqlcmd package which you CAN get from the IIUG Repository (www.iiug.org/software).
    2. You can use the -E option to have myimport use external tables which does not require sqlreload and which is the fastest way to import anyway. Here's the suggested command line:
      myimport simpledb -p -i /home/informix/dbexport/simpledb -q -E
    Art

    Art S. Kagel, President and Principal Consultant
    ASK Database Management


    Disclaimer: Please keep in mind that my own opinions are my own opinions and do not reflect on the IIUG, nor any other organization with which I am associated either explicitly, implicitly, or by inference.  Neither do those opinions reflect those of other individuals affiliated with any entity with which I am affiliated nor those of the entities themselves.








  • 3.  RE: myimport error - "sqlreload: not found"

    Posted Wed May 27, 2020 05:38 AM
    Thanks Art.

    Now myimport runs without any visible errors.

    I ran without the "-E" option, because I got " 802: Cannot open file for run." errors (although, the external table files do seem to have been created), it looks like dbaccess (or more precisely Linux) doesn't like the filenames? (many filenames include the database name in double quotes)

    So, running without "-E", unfortunately, it appears sqlreload didn't correctly populate tables with BLOB or CLOB columns (one table was successful, but, I think that was possibly the first BLOB/CLOB columned table).
    I wondered if the order-of-magnitude import time improvement was a bit too good to be true.

    Looks like the more fruitful path is to persist with using external tables.

    Short of possibly fiddling with the code in myimport (or from_external.awk), is there something else I can do that can address the double quoted database name in the external table files? (assuming this is the cause of 802 errors)

    Kind regards,
    Daniil

    ------------------------------
    Daniil T
    ------------------------------



  • 4.  RE: myimport error - "sqlreload: not found"

    IBM Champion
    Posted Wed May 27, 2020 08:02 AM
    Danil:

    Let's take this offline and I will try to help you with this. Myimport does work better with myexport than with dbexport, but it should work. Obviously using myimport against dbexport files is not used as often so less tested.

    Email me directly (art.kagel@gmail.com) and send me a few of the <database>.<table>.myimport.sql files and the schema file. Include one BLOB/CLOB table and one BYTE/TEXT table. I will do some testing and see what needs to be fixed.

    Art

    Art S. Kagel, President and Principal Consultant
    ASK Database Management


    Disclaimer: Please keep in mind that my own opinions are my own opinions and do not reflect on the IIUG, nor any other organization with which I am associated either explicitly, implicitly, or by inference.  Neither do those opinions reflect those of other individuals affiliated with any entity with which I am affiliated nor those of the entities themselves.