If you cannot locate the source of the problem, check each of the following:
Ensure that you are using the latest version of all the products involved.
Check the vendor's documentation and example applications.
Check that environment variables, PATH and configuration file settings are set up correctly.
By default, COBSQL does not display the command line it passes to the database precompiler. Setting the SQLDEBUG directive enables the command line to be displayed (you will need to do this if the precompiler gives command line errors). Possible causes of command line errors are that the directives to be passed to the precompiler are incorrect or that the length of the precompiler command line has been exceeded.
COBSQL may display the following error because the database precompiler has terminated unexpectedly:
* CSQL-F-021: Precompiler did not complete -- Terminating
This may be because the Operating System has run out of memory attempting to execute the database precompiler.
COBSQL may display the following errors because it cannot find the precompiler's output file. This may be because the precompiler did not produce an output file. The normal reason for this is that the precompiler hit a fatal error which meant it could not create the output file.
* CSQL-E-024: Encountered an I/O on file filename * CSQL-E-023: File Status 3 / 5
where filename is the name of the file produced by the database precompiler.
If COBSQL reports the error "Premature end of expanded source" and the precompiler runs correctly, this indicates that COBSQL has not been able to match the original source lines with the lines produced by the database precompiler.
Another possible reason for COBSQL reporting this error is that the program does not contain any SQL. Generally, if the database precompiler does not come across any SQL it will abort the creation of its output file part way through, causing this error to be displayed.