Randy Rogers - Developing Client/Server Applications Using Clarion Oracle Connect

By George Cobaugh

Posted September 1 1997

Printer-friendly version

I'm sorry to see DevCon rolling to a finish, this is the last session for Wednesday. This is also the one I have mostly wanted to attend. I've been programming for more years than I care to remember, but in the computer world there is always new technology that we have to master in order to stay current. For me, Client/Server is relatively new. While I have some experience with SQL, Oracle and CW Oracle Connect are new to me. Randy Rogers of Keystone Computer Resources made this presentation a wonderful beginning for me.

His session was dedicated to letting us know about the problems they faced, and the solutions they found, in implementing a very large application with Oracle and Topspeed's Oracle Connect. Unlike my teenage children, I know the value of listening to someone who has traveled down a road and mapped out the bumps and curves. I listened attentively as Mr. Rogers explained things that I would have discovered only after some frustration when implementing an Oracle solution.

Since CW is a 16 bit environment, even though we may be developing 32 bit programs you need Oracle's 16 bit drivers loaded to do things like importing the data into the dictionary. This is a very important step when developing Oracle applications. Cursors are also something I heard about, but he explained that the system uses a cursor for every type of file access. On a large system, the default is not enough. I noticed that most of the people attending this session, like me, couldn't define what a cursor was in this context. After the session, any of us could explain it to someone else. This is how the entire session went. We walked in with some knowledge, but walked out enlightened, and with an understanding that did not exist before. This is the mark of a successful presentation.

We all have developed applications with CW. Historically, we start by creating our dictionary then, using this dictionary, we create our application and database. With Oracle, the database has to be created first. This does not sound like a big deal, but little things like this add up to a new way of doing things. Routines have to change. Also, unlike databases like the TopSpeed format and most others we are used to, Oracle needs a Database Administrator to create, set up, and maintain the server side of the Client/Server database. We as application developers have traditionally managed and maintained the databases through our programs.

Another area where we can benefit from Mr. Rogers' and Keystone's experience in this area, are some considerations in the overall database design. He pointed out that Oracle Database does not go backward (PREVIOUS). Next(record) is fine, but Previous(record) access causes a sort of the database to position to the proper record. If your database is hundreds of thousands of records, then every time your browse procedure processes a page up, the delay would be unacceptable. In keeping with his style, after pointing out the problem, he then explained the solution. Creating a duplicate but descending unique key and using the database hints and the driver send command, you can then cause a Previous(Record) to read based on the descending key -- not having to sort the database again.

Other tips and tricks he pointed out include:

  • How to stay connected for the whole time your application is running. A client only connects to the server when there is an open file to the database. (If your application closes the files, then the next open will cause a delay while the client again connects to the server.)
  • How to implement a better and faster way to use Auto Numbered Keys (They use the Previous to start the number).

These are just a few of the tips we picked up from his session. There are many more, but time and space do not allow me to mention them all here. Possibly the most important thing Mr. Rogers pointed out, are the resources available to the rest of us CW developers. These include the web pages www.cwsuperpage.com and www.topspeed.com, TopSpeed Education, Oracle Education, 3rd party tools like Cowboy's (Andy Stapleton) SQL templates and Keystone's own template tools.

To reach Keystone Computer Resources for information on their templates, you can email Randy Rogers at rrogers@keystonecr.com or visit their web site at www.keystonecr.com.

On a personal note, I would like to say that after this conference, I believe the Clarion community to be a higher than average group of people when it comes to just plain honesty. During the conference, I lost something fairly valuable. Not once, but twice. One of these items was a PCMCIA 33.6 modem for my laptop. On both occasions, they were turned in to the directors of the conference and returned to me. I have been to other seminars and conferences and lost things, and two for two is a record not to be rivaled by many other groups of people in the world. My hat off to the entire Clarion Community for this bit of human encouragement.

Article comments

Post a comment

You must be logged on to post comments.

Clarion Roadmap

Try the roadmap (beta)

Search ClarionMag

 

Advanced search

From the archives

A Callback Technique for Capesoft's FileManager2

12/21/2006 12:00:00 AM

CapeSoft's FileManager2, and its more recent incarnation FileManager3, are amazing products: they completely automate the process of upgrading client databases, whether local or across a network, and make it easy to do file maintenance. Randy Rogers shows how to add a callback procedure to FM2 to provide user feedback during startup.