Kbase 13769: Migration Strategy for V6 HLI to V7 ESQL
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  5/10/1998 |
|
Migration Strategy for V6 HLI to V7 ESQL
The following describes the process of migrating an existing
application written for V6 HLI to V7 ESQL/C.
If the application is solely based on the SQL Preprocessor, do the
following:
1) If you're using dynamic SQL, change the syntax of the DESCRIBE
statement to read "USING SQL DESCRIPTOR"; in V6, the "SQL" keyword
isn't required. In the FETCH statement, change the "USING
DESCRIPTOR" to "INTO SQL DESCRIPTOR".
2) The usage of sqllogout() should be inspected CAREFULLY - it no
longer exits the application.
3) rerun the preprocessor, recompile, and link (generate a new load
script with PROBUILD - the name of the script has changed). The
locations of the header file, proesql.h and the SQLCPP have changed.
4) If "int" is used as a C declarator for embedded variables, a
warning is now issued about non-standard usage.
If the application uses some or all of the ESQL interface directly,
then then the migration contains more steps:
1) The function sqldynopen() has been replaced with a series of
functions:
sqldynprep() - to PREPARE a statement
sqldynsetn() - to associate a cursor name with a query
sqldyndesc() - to retrieve column attribute definitions
sqldynexec() - to EXECUTE a statement
2) The parameter list for sqlcdbind() has been changed to add another
parameter for the SQLSTATE value.
3) ALL ESQL functions will now return control to the application -
including sqllogout().
4) The functions sqlrtnmem(), sqlprepd() and sqlnprepd() have been
removed.
5) The name of the C header file, sqlhli.h, has been changed to
proesql.h.
6) The exit() function is no longer redefined to call sqllogout() - it
will now function as described in the C runtime library. The function
sqllogout() no longer causes image exit.
7) The argument list for sqlfetch() (Static FETCH), sqlupdrow()
(Static Positioned UPDATE) and sqlrequest() (Static EXECUTE)
have been modified to include the sqlv[] array as an argument.
8) The sqlclose() function has been replaced by sqldynclose().
JAN-25-1995
Progress Software Technical Support Note # 13769