MC Press Online

Saturday, May 27th

Last updateThu, 25 May 2017 10am

You are here: Home ARTICLES Programming RPG Library Lists, Schemas, and Other Properties in SQuirreL SQL Client

Programming / RPG

Library Lists, Schemas, and Other Properties in SQuirreL SQL Client



IBM i Security Administration and Compliance



Click for this Month's

Bookstore Special Deals

Configure the SQuirreL alias properties and preferences commonly used by RPG programmers.


To complete my SQuirreL SQL client series, I will explain how to set up your schema and alias properties, such as library lists, and your formatting within the SQuirreL SQL client. I will also talk about how these settings impact your client to achieve the results that you desire.


For your reference, here is a list of the articles in the series:

Using a Library List

The previous SQuirreL SQL articles showed you how to specify the default schema, which allows you to run queries on physical files without having to indicate the library in your SQL statements. Using this technique is a quick way to get you up and running, but you're limited to having only one library visible to the queries you're running. What if you wanted to use a library list?


You could specify the library list within the properties of your alias. In this article, I'm using a library named AIRLIB, which is the same name I assigned to my alias. The alias would look like Figure 1 if I were just using the default schema for AIRLIB without a library list.



Figure 1: This is the default schema on the alias. (Click images to enlarge.)


Specifying the Library List Using the GUI

To specify the library list using the GUI, modify or create an alias. On the Change Alias screen, click on the Properties button and then select the Driver Properties tab.


On the Driver Properties screen, follow these steps:


  1. Click the Use driver properties checkbox to mark it as selected; this will enable the properties grid to be modified.
  2. On the "libraries" row, click the Specify checkbox to activate it and type your libraries into the value column, separated by commas.
  3. On the "naming" row, click the Specify checkbox and select "system" for the value.
  4. Click OK to accept the settings.
  5. Click OK again at the Change Alias screen to save it.


Figure 2: Specify the library list on the driver properties.

Configuring Schemas

When you start your SQuirreL application, a window may pop up indicating that loading is taking a considerable amount of time and suggesting that you open your alias schema properties. You can see that the default is to "Load all Schemas, cache none." If you leave this default setting, all libraries on your system will be loaded into your Object Navigation window, regardless of what you set for your default schema or library list.


If you want your SQuirreL to start up more quickly, you can cache your schemas or you can select which schemas to load. For this alias, I set "All Objects" in all schemas to "Don't Load" below the properties grid and hit Apply. I then changed the values for AIRLIB and AIRLIB2 to "Load but don't cache" to force them to be reloaded every time I connect in order to have the latest file layouts.



Figure 3: Load only specific libraries into the schema list.


If you don't use the Object Navigation window, you may consider just setting all schemas to "Don't Load" so it will start faster and eliminate that warning window during startup.


So, why would you want to use a schema? Auto completion is the answer.

Auto Completion on Green-Screen Interactive SQL

My boss has taken a liking to SQuirreL, but one thing he said he would like to have is the green-screen capability of using F4 during SQL entry to select the fields to be used in select queries.


To do this, open interactive SQL on the green-screen by typing STRSQL. Then type "select" and hit the F4 key. You enter the file name—in this example, "employee"—into the "FROM files" input area. Then advance to "SELECT fields" and hit the F4 key. You will be presented with the field names available from the file specified.



Figure 4: Use Interactive SQL on the green-screen with field assistance.


Using Schemas with Auto Completion

If you specify the library list and you load the schema, you will be able to do the same thing in SQuirreL. If you satisfy those two criteria, you can type "Select from employee" and then position your cursor where the field names will be specified. You can then use Ctrl+space to see the list of fields available for the file specified after the FROM portion of the statement.



Figure 5: Use the auto completion field list in SQuirreL.


You can see that I intentionally left out the part of the query in which I specified the field names to be retrieved. Then I finished the rest of the statement so that the file name is identified to be "employee." Then when I positioned my cursor between the words "select" and "from," SQuirreL was able to assist me with the auto completion feature to retrieve the field names, using both the library list and the schema to present the list of field names that are available with the employee file.

Formatting Results of Numeric Fields

The SQuirreL client is also configurable through the preferences. A typical preference is formatting numbers that include commas. I know it would be much easier to read if you could remove the comma formatting and just see the number. And I'm not the only one who thinks so.


Let's first look at the results if my account numbers were greater than 1,000 with the default settings of SQuirreL.



Figure 6: The default numeric format includes the comma.


In the results of the query using the default settings, the account numbers have a comma separating the thousands.


To remove the comma, go into the "File" option on the main menu bar and select "Global Preferences." Click on the "Data Type Controls" tab and scroll down to the bottom of the options, where you will find the "FLOAT, REAL, DOUBLE, NUMERIC, DECIMAL (SQL types 6,7,8,2,3)" panel.



Figure 7: Global Preferences allows you to choose data type controls.


Change this setting from "Use locale-dependent format 3.14159" to "Use default format (3.14159)" to remove the commas. If you re-run your query, the results will look like this:



Figure 8: Here are the results after changing Global Preferences.


Now you no longer see the commas in the results.


This is just one of the many preferences you can change. It's one that was desired in our shop and may be one that you will be interested in.

Credits to You, the Readers, and My Staff

I wasn't expecting to write more than an article or two on SQuirreL client. But thanks to the interest of you, the readers, and the awesome staff that I work with, It turned into three. These SQuirreL questions were commonly asked, and I feel as though this complete coverage helps to make SQuirreL a more viable option for RPG programmers everywhere.



SQuirreL SQL


JTOpen: The open-source version of the IBM Toolbox for Java


Thomas Snyder

Tom Snyder has a diverse spectrum of programming experience encompassing IBM technologies, open-source, Apple, and Microsoft and utilizing these technologies with applications on the server, on the web, or on mobile devices.


Tom has over 20 years experience as a software developer in various environments, primarily in RPG, Java, C#, and PHP and holds certifications in Java from Sun and PHP from Zend. Prior to software development, Tom worked as a Hardware Engineer at Intel and is a proud United States Naval Veteran Submariner who served aboard the USS Whale SSN638 submarine.


Tom is the best-selling author of Advanced Integrated RPG, which covers the latest programming techniques for RPG ILE and Java to utilize open-source technologies.


Originally from and currently residing in Scranton, Pennsylvania. Tom is currently involved in a Mobile Application Start-up company named JoltRabbit LLC.



MC Press books written by Thomas Snyder available now on the MC Press Bookstore.


Advanced, Integrated RPG Advanced, Integrated RPG

This book shows you how to take advantage of the latest technologies from within existing RPG applications.

List Price $79.95
Now On Sale