• The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
Menu
  • The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
  • Access the Database from Qshell

    November 15, 2002 Timothy Prickett Morgan

    Hey, Ted:

    Qshell does a good job when it comes to accessing data in source physical file members and IFS files, but I need to access a database file from a Qshell script. Is that possible?

    — Mike

    IBM provides an undocumented utility called db2 that can execute SQL commands against the database.

    It’s one of those “use it at your own risk” things.

    The following command displays all the records from the COMPANIES file in library mylib.





    db2 "select * from mylib.companies"
    

    Qshell responds with this output.

    COMPANY  COMPNAME
    -------- -------------------------
       1     Leroy's Livery Stable
       2     Pete's Pet Shoppe
    
      2 RECORD(S) SELECTED.
    

    Here’s another example. This time I retrieve the company name only, and just for the company whose number is stored in Qshell variable company.

    db2 "select compname from mylib.companies where company = $company"
    

    I enclosed the SQL command with double quotes (“) so that Qshell would interpret the company variable. If company has a value of 2, this is the output.

    COMPNAME
    -------------------------
    Pete's Pet Shoppe
    
      1 RECORD(S) SELECTED.
    

    Now I will pull out just the company name and load it into variable companyname.

    companyname=$(db2 "select compname from mylib.companies where company = 
         $company" | sed -n '/--/{n; p;}')  
    

    Even though that code wraps on your screen, it is all one line. The sed command looks for a line with two dashes (–). When it finds one, it reads and prints the following record. The $( ) characters surrounding the db2 and sed commands make Qshell redirect the output from the screen into the variable.

    You can run other SQL commands besides select. I have used the db2 utility to create tables and insert data into them. Here are a few more examples. They are all one-liners, but may wrap on your browser screen.

    db2 "update mylib.companies set compname='Lizzy''s Livery Stable' 
         where company = 1"
    
    db2 "delete from mylib.companies where company = 1"
    
    db2 "insert into mylib.companies values(3, 'Jack''s Java Palace')"
    

    I want to point out two important aspects.

    First, the table names must be qualified in *SQL format. IBM tells me that the *SYS format is not supported, and I have not been able to get the db2 utility to access the library list.

    Second, if an SQL command contains single quotes (‘), enclose the SQL command in double quotes and double the single quotes where they are to be included as part of a data value.

    For more information, see IBM’s “Qshell, Perl, and DB2 UDB for iSeries–DB2 Universal Database” Web page.

    — Ted

    Sponsored By
    ADVANCED SYSTEMS CONCEPTS

    Business Analytics
    – Practical –
    – Cost Effective –
    – Easy to Deploy –

    SEQUEL FYI

    User Quote:
    “I love SEQUEL FYI because it lets me look at the data any way I need to see it, instantly. This is the easiest tool to manage complex product relationships that I have ever seen.”

    SEQUEL FYI offers outstanding OLAP business intelligence functionality for a fraction of the cost of comparable solutions.

    Read More > View Streaming Video

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    Tags: Tags: mgo_rc, Volume 2, Number 88 -- November 15, 2002

    Sponsored by
    WorksRight Software

    Do you need area code information?
    Do you need ZIP Code information?
    Do you need ZIP+4 information?
    Do you need city name information?
    Do you need county information?
    Do you need a nearest dealer locator system?

    We can HELP! We have affordable AS/400 software and data to do all of the above. Whether you need a simple city name retrieval system or a sophisticated CASS postal coding system, we have it for you!

    The ZIP/CITY system is based on 5-digit ZIP Codes. You can retrieve city names, state names, county names, area codes, time zones, latitude, longitude, and more just by knowing the ZIP Code. We supply information on all the latest area code changes. A nearest dealer locator function is also included. ZIP/CITY includes software, data, monthly updates, and unlimited support. The cost is $495 per year.

    PER/ZIP4 is a sophisticated CASS certified postal coding system for assigning ZIP Codes, ZIP+4, carrier route, and delivery point codes. PER/ZIP4 also provides county names and FIPS codes. PER/ZIP4 can be used interactively, in batch, and with callable programs. PER/ZIP4 includes software, data, monthly updates, and unlimited support. The cost is $3,900 for the first year, and $1,950 for renewal.

    Just call us and we’ll arrange for 30 days FREE use of either ZIP/CITY or PER/ZIP4.

    WorksRight Software, Inc.
    Phone: 601-856-8337
    Fax: 601-856-9432
    Email: software@worksright.com
    Website: www.worksright.com

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    Compiler Directives for RPG Programs and Modules Reader Feedback and Insights: Thanks for Qshell Tips

    Leave a Reply Cancel reply

MGO Volume: 2 Issue: 88

This Issue Sponsored By

    Table of Contents

    • Reader Feedback and Insights: Indicators in RPG II Programs
    • Access the Database from Qshell
    • Data Structure Parameters in RPG Prototypes

    Content archive

    • The Four Hundred
    • Four Hundred Stuff
    • Four Hundred Guru

    Recent Posts

    • Liam Allan Shares What’s Coming Next With Code For IBM i
    • From Stable To Scalable: Visual LANSA 16 Powers IBM i Growth – Launching July 8
    • VS Code Will Be The Heart Of The Modern IBM i Platform
    • The AS/400: A 37-Year-Old Dog That Loves To Learn New Tricks
    • IBM i PTF Guide, Volume 27, Number 25
    • Meet The Next Gen Of IBMers Helping To Build IBM i
    • Looks Like IBM Is Building A Linux-Like PASE For IBM i After All
    • Will Independent IBM i Clouds Survive PowerVS?
    • Now, IBM Is Jacking Up Hardware Maintenance Prices
    • IBM i PTF Guide, Volume 27, Number 24

    Subscribe

    To get news from IT Jungle sent to your inbox every week, subscribe to our newsletter.

    Pages

    • About Us
    • Contact
    • Contributors
    • Four Hundred Monitor
    • IBM i PTF Guide
    • Media Kit
    • Subscribe

    Search

    Copyright © 2025 IT Jungle