Migrating from SQL89 to Progress 10 SQL92 Connectivity
Migrating from Progress SQL89 connectivity to SQL92 connectivity presents many challenges. This is especially the case as more and more organizations move to Progress 10.1C and newer "OpenEdge" DBMSs. With proper planning, all of the known challenges are quickly and easily resolvable. This guide advises you of some of the hurdles ahead and shows you how to properly plan for them and troubleshoot them.
Challenges
Do you depend on shared memory connectivity, distributed connectivity, triggers, or access to array data? Changes to the Progress SQL92-based OpenEdge DBMS presents the following ODBC data access challenges --
- Shared Memory connectivity is replaced with TCP (a.k.a.
"Sockets") connectivity
- A single Data Source Name connects to a Single Database.
It cannot connect to multiple databases.
- Trigger support is no longer available.
- Array data is glommed together and can not be accessed using field@1, field@2, etc.
syntax.
- Tableview configuration is no longer available
Pre-Requisites
To move forward with SQL92 connectivity, you need to do the following:
- Ensure Progress is Running in Sockets Mode (Show Me How)
- Ensure Progress is Running in "SQL" or "Mixed" Mode (Show Me How)
- If you are using our Single-Tier (Lite) Drivers, you need to have a functional Progress SQL92 Client on the same machine as our driver.
You may also need to configure supplementary Progress Brokers to accept SQL92-based ODBC connections. (Show Me How)
Choosing Your OpenLink Software
OpenLink Software produces SQL89 and SQL92 database agents where applicable. If you are a veteran OpenLink user, you may be familiar with our DBMS version specific Multi-Tier Database Agents or Single-Tier (Lite) Drivers. These products have version specific branding in their product names. "Multi-Threaded Database Agent for Progress 8.2A" and "Multi-Threaded ODBC Driver for Progress 9.1D" are sample SQL89 products. Similar products do not exist for OpenEdge DBMSs. Instead, you want to download our generic or non-version specific products for "Progress 10.0."
|
Q.What is the difference between the 10.0A and 10.0 options in your download Wizard? A.
OpenLink's Development Team endeavored to make SQL89-based drivers for OpenEdge.
This was initially possible with a limited number of operating systems.
These products appear in our downloads wizard with a 10.0A brand, and they provide installers for our |
Installing Your Progress 10SQL92 Data Access Drivers
You will find installation instructions for your new Progress 10 SQL92 drivers here .
-
Verifying Your Progress 10 SQL92 Agent (Multi-Tier Only)
If you are using our Multi-Tier Drivers, you should verify your Progress 10 SQL92 Database Agent's functionality. Our Database Agents should return version and usage information in any environment that is properly configured. Failure to return version and usage information usually reveals environment or compatibility issues that should be addressed before continuing on.
Agent Test
- Log into the machine that hosts your Multi-Tier server components installation.
- Open an MS-DOS command prompt or unix terminal.
- cd into the bin sub-directory of the OpenLink installtion.
- Execute this command:
prs100_mv -?
- You should see output similar to the following:
Progress 10 Database Agent
Version 1.11 as of Wed Apr 29 2009 (Release 6.2 cvsid 00090). Compiled for Linux 2.6.9-78.0.13.EL (i686-generic-linux-glibc23-32) Copyright (C) OpenLink Software.
Usage:
pro100a_sv [-CmijrlLd] [+noautocommit] [+maxrows num] [+initsql arg]
[+jetfix] [+norowsetlimit] [+loglevel num] [+logfile arg]
[+debug]
+noautocommit turn autocommit off by default
+maxrows maximum allowed rows to fetch
+initsql execute SQL from this file for every connection made
+jetfix Jet Engine Compatibility Features
+norowsetlimit turn off rowset size limit
+loglevel log level
+logfile log file
+debug debug mode
If the agent fails to return the desired output, use our Error Messages reference guide to troubleshoot your problem.
|
Error: error while loading shared libraries: libesql92.so: cannot open shared object file: No such file or directory Resolution: This is the most likely error produced by our agent during verification of functionality.
This error occurs when the Progress lib sub-directory is not passed to the relevant library variable ( |
Troubleshooting Progress 10SQL92 Connectivity
Initial connection attempts to Progress 10 SQL92 are often unsuccessful. However, they are almost always easily resolvable. Use these guidelines to troubleshoot problems that arise:
- The shared memory is version
; expected (1178)
- Invalid Packet Length
- Disconnected from server because database name was incorrect. (437)
- Remote Database Name not valid.
- Server's received count 1 does not equal client(1)'s send count 16777216.
Troubleshooting Progress 10SQL92 Queries
- Table/View/Synonym not found (7519)
- Column "x" cannot be found or is not specified for query. (13865)
- Failure getting record lock on a record from table
- Invalid column name: field@1