fhg
Volume 10, Number 24 -- August 11, 2010

Remove Trailing Blanks from Legacy Columns with the IBM OLE DB Providers

Published: August 11, 2010

by Michael Sansoterra

It's no secret that many legacy tables in DB2 for i contain fixed-width character columns. If you present this legacy data to users using common tools such as Excel, Access, or even an application data grid control, they're likely to be annoyed. Why? Because everyone hates fiddling with trailing spaces that are part and parcel of fixed-width columns. If you have a 50-character address column with only 20 characters filled, that leaves 30 annoying trailing spaces to remove.

Here is a picture of this annoying phenomenon shown using the classic QIWS/QCUSTCDT table displayed within an editable Windows Presentation Foundation (WPF) DataGrid:



Notice that for the "LSTNAM" column the spaces are intrusive. Depending on the grid tool, these trailing spaces often prevent insertions in the data until the spaces are removed. Furthermore, using the End key will take you to the end of the spaces instead of the end of the data. Yuck!

One workaround for this irritation has been to create a query or view that wraps all fixed-width columns with the RTRIM function. This solution is acceptable, but it's cumbersome to produce a query or view for this ignoble purpose. Moreover, sometimes (again depending on the tool) using a view or query in this manner makes the data read-only.

The good news is, if you're using System i Access V6R1 or higher and your middleware to the IBM i (a.k.a. AS/400) is either of the IBMDA400 or IBMDASQL OLE DB providers, there is a new property called "Keep Trailing Blanks." When set to False, this setting will cause the provider to automatically remove all trailing blanks on fixed-character columns before delivering it to the application.

In other words, the provider treats fixed-character columns as though they were trimmed variable-length columns. In cases where this data is sent back to the database, of course, the trailing spaces will automatically be appended so there are no negative side-effects.

This new custom property lives within the connection object and can be set in the connection string:

Provider=IBMDA400;System=iSeries.mycompany.com;Keep Trailing Blanks=False;

Fortunately this new property is set to False by default so it really doesn't need to be specified. However, it is still a good idea to specify this property for the purpose of documentation, just in case developers are unaware of this new feature and its behavior.

While most often you'll want this property set to False, there may be times when the trailing characters should come through from the database (one such possibility includes making a fixed width export file). If you need both behaviors within your application, you'll have to maintain two separate connections: one connection with this property set to False, and the other with it set to True. It would be nice if this property could be overridden at the command object or recordset object level to have the best of both worlds while using the same connection.

Finally, I've looked at the documentation for the ODBC driver and .NET managed providers and have not yet discovered a similar property. Hopefully IBM will add this utilitarian feature to these System i Access components as well.


Michael Sansoterra is a DBA for Broadway Systems in Grand Rapids, Michigan. Send your questions or comments for Mike via the IT Jungle Contact page.




                     Post this story to del.icio.us
               Post this story to Digg
    Post this story to Slashdot


Sponsored By
PRODATA COMPUTER SERVICES

DBU 9.0 Now Available!

Just when you thought DBU had it all, we've added MORE!

                                                                 New DBUSQL command
                                                                 Enhanced Audit Logging
                                                                 Execute DBUJRN in batch
                                                                 Supports DBCS for Chinese,
                                                                   Korean and Japanese
                                                                 Wizard-based DBU security set-up

And MORE!

Download today!
800.228.6318
www.DoDBU.com


Senior Technical Editor: Ted Holt
Technical Editor: Joe Hertvik
Contributing Technical Editors: Erwin Earley, Brian Kelly, Michael Sansoterra
Publisher and Advertising Director: Jenny Thomas
Advertising Sales Representative: Kim Reed
Contact the Editors: To contact anyone on the IT Jungle Team
Go to our contacts page and send us a message.

Sponsored Links

Maxava:  Know your HA status wherever you go with MAXview
Linoma Software:  Secure and automate data transfers with GoAnywhere Director
COMMON:  Join us at the Fall 2010 Conference & Expo, Oct. 4 - 6, in San Antonio, Texas


 

IT Jungle Store Top Book Picks

Easy Steps to Internet Programming for AS/400, iSeries, and System i: List Price, $49.95
The iSeries Express Web Implementer's Guide: List Price, $49.95
The System i RPG & RPG IV Tutorial and Lab Exercises: List Price, $59.95
The System i Pocket RPG & RPG IV Guide: List Price, $69.95
The iSeries Pocket Database Guide: List Price, $59.00
The iSeries Pocket SQL Guide: List Price, $59.00
The iSeries Pocket Query Guide: List Price, $49.00
The iSeries Pocket WebFacing Primer: List Price, $39.00
Migrating to WebSphere Express for iSeries: List Price, $49.00
Getting Started With WebSphere Development Studio Client for iSeries: List Price, $89.00
Getting Started with WebSphere Express for iSeries: List Price, $49.00
Can the AS/400 Survive IBM?: List Price, $49.00
Chip Wars: List Price, $29.95


 
The Four Hundred
IBM Allows i and 5250 Licenses to Jump Hardware

Whatever Happened to Notes/Domino on the i?

Let's Take a Closer Look at IBM's Systems and Technology Biz

Mad Dog 21/21: Back To School

SAP Bows to Oracle on TomorrowNow, Argues Damages

Four Hundred Stuff
iDevCloud to Provide Online Playground for IBM i Developers

i365 Unveils 'Warm Site' DR Service for IBM i

Attachmate Claims Industry First with Emulator's Support for App-V

CCSS Goes '12 for 12' with IBM i Monitoring Solution

Aldon Adds IBM i Features to Report Manager

Four Hundred Monitor
Four Hundred Monitor's
Full iSeries Events Calendar

System i PTF Guide
August 7, 2010: Volume 12, Number 32

July 31, 2010: Volume 12, Number 31

July 24, 2010: Volume 12, Number 30

July 17, 2010: Volume 12, Number 29

July 10, 2010: Volume 12, Number 28

July 3, 2010: Volume 12, Number 27

TPM at The Register
DARPA awards petaflops super challenge squeeze

Details spill on IBM's big iron Power7 servers

Hurd's HP legacy: Dell racer, IBM chaser

Beefy 2010 chip forecast get steroids blast

US chops 131,000 jobs in July

Customers' big-iron hedge hits Cray's quarter

Oracle chops Sun HPC jobs

Teradata records historic second quarter

AMD to crank up performance with Bulldozer Opterons

FTC settles Intel lawsuit to 'help consumers'

Illumos sporks OpenSolaris

Revolution lets R do stats on big data

THIS ISSUE SPONSORED BY:

ProData Computer Services
SEQUEL Software
WorksRight Software


Printer Friendly Version


TABLE OF CONTENTS
Remove Trailing Blanks from Legacy Columns with the IBM OLE DB Providers

How Did I Do That?

Admin Alert: Six Things You May Not Know About i/OS Passwords

Four Hundred Guru

BACK ISSUES




 
Subscription Information:
You can unsubscribe, change your email address, or sign up for any of IT Jungle's free e-newsletters through our Web site at http://www.itjungle.com/sub/subscribe.html.

Copyright © 1996-2010 Guild Companies, Inc. All Rights Reserved.
Guild Companies, Inc., 50 Park Terrace East, Suite 8F, New York, NY 10034

Privacy Statement