home *** CD-ROM | disk | FTP | other *** search
- Release 12 README.ASE
-
-
- CONTENTS
-
- ASE User Commands
-
- General Notes
-
- Driver-Specific Information
-
- General Notes
-
- dBASE III PLUS
-
- dBASE IV
-
- INFORMIX
-
- ORACLE
-
- PARADOX
-
- AutoCAD SQL Interface
-
- Manual Corrections and Additions
-
-
-
-
- ASE USER COMMANDS -- General Notes
- ----------------------------------
-
- - ASE Menu
-
- The ASE User Commands are located under the File pull-down menu and
- the Root screen menu of ACAD.MNU. It is intended that the ASE User
- Commands be accessed from these menus. If ASEINIT is invoked from
- the command prompt, it doesn't update the pull-down menu. In this
- case you will have to select Initialize from the ASE pull-down or
- screen menu to access the ASE commands from these menus. A
- notification message, "ASE already Initialized" will be displayed.
-
- If ASETERM or (xunload "ASE") is invoked from the command prompt,
- it doesn't update the pull-down menu so the menu is not reset to
- allow ASE to be initialized. In this case, you must (xload "ASE")
- and initialize through ASEINIT from the command line, if you want to
- access ASE again during the current drawing session.
-
-
- - Initializing a Drawing with ASE
-
- ASEINIT modifies the drawing. If you do not want any ASE information
- to be stored in the drawing, you may issue the ASEERASEALL command.
-
-
- - Dialogue Boxes
-
- In dialogue boxes, some error messages may be truncated. If CMDDIA is
- set to zero (0) the messages should display completely.
-
- Double clicking on a column in the ASESETROW list box chooses that
- current row.
-
- Double clicking on a column in the ASEVIEWROW list box dismisses
- the dialogue box.
-
- ASESQLED has a maximum SQL statement length of 256 characters in
- dialogue boxes. The 256th character gets truncated from the
- dialogue box edit field after the statement is executed. The
- maximum SQL statement length on the command line is 132
- characters. In a SQL text file the maximum character length for
- one line is 256 characters. A SQL statement may be up to 1000
- characters in length. As stated in the manual, the '&' at the end
- of the line in a SQL text file is the line continuation character.
- When displaying the results of a query to the text screen, fields
- of over 80 characters in size are truncated to 80 characters.
-
-
- - Key Column Values
-
- Approximate numeric values must be used with caution as key columns
- (ASESETTABLE). In certain databases, approximate numbers can lose
- their precision in the database table. As a result, a row might not
- be found by the real key value from ASE.
-
- For example:
-
- If a very big number is entered in dBASE IV, the precision can be
- lost in the database table. THE ASE control database stores the
- exact key value as a double precision number. When ASE is looking
- for a row in a table it calls the driver with the exact key value,
- which in general is not equal to the value stored in the database.
- The number 123456789012345.00 stored in a FLOAT field in dBASE IV
- will lose precision in database format. The SQL statement SELECT *
- FROM tab1 WHERE fltfld = 123456789012345.00 returns the wrong
- result.
-
- Similar results can be expected with INFORMIX and ORACLE.
-
-
- - SQL Table and Field Name Restrictions
-
- In general, existing databases, tables, and columns that you
- already have will work with ASE, except those which contain SQL
- key words or delimiter tokens. The SQL key words and delimiter
- tokens are listed in chapter 5, page 150 of the ASE manual.
-
-
- - Making Reports with PARADOX (DOS)
-
- To use PARADOX to generate reports through the ASEMAKEREP command,
- you should start AutoCAD using the SHROOM.COM utility that ships on
- the Bonus/Sample 1 disk.
-
-
- DRIVER SPECIFIC INFORMATION -- General Notes
- --------------------------------------------
-
- - DBMS Setup
-
- Specific database setup provided by the database vendor is not
- supplied in the ASE documentation. You must carefully read and
- install the database software according to the database vendor's
- instructions. All rules and procedures of the database vendor
- apply unless specifically stated in the ASE manual Appendix A, or
- this README.
-
-
- - Network Support and Locking
-
- Network support is provided for PARADOX and dBASE through table
- locking. INFORMIX and ORACLE are dependent upon the DBMS
- installation.
-
-
- - Sun SPARCstation
-
- On the SPARC platform, the same driver is used if two or more AutoCAD
- programs are using ASE simultaneously, on the same machine.
-
-
- DRIVER SPECIFIC INFORMATION -- dBASE III PLUS
- ---------------------------------------------
-
- - Environment setup for Sun SPARCstation
-
- The environment variable that describes the database name must be
- uppercase. For example:
-
- setenv ASETUT /files/home/acad/tutorial/dbf
-
-
- - Network Configuration and Table Locking
-
- On a PC-NFS network, SHARE must be loaded, and the network drive you
- are connecting to must be set to MUST SHARE, to activate ASE's
- table-locking mechanism in a network configuration. Use
- NFSCONF.EXE to configure the network drive to MUST SHARE or see
- your PC-NFS documentation for more information.
-
- SHARE must be loaded for NOVELL networks also.
-
- On the SPARC platform, the lock manager (lockd) must be running to
- activate table locking.
-
-
- - Index Notes
-
- To support indexes the dBASE III PLUS driver creates a system table
- SYSIDX3.DBF in the database. The schema is:
-
- TBNAME CHAR(10) - table name
- IDXNAME CHAR(10) - index name
-
- Index name length <= 8
- Table name length <= 8
-
- This table will be created in the database directory after the
- first correct CREATE INDEX statement, or the user may create this
- table in dBASE if existing indexes are to be added and used. The
- driver will only use indexes that are identified in this table.
-
- This table is changed by the driver, when the following statements
- are run:
-
- CREATE INDEX
- An error occurs if the same index name is found in SYSIDX3.
-
- DROP INDEX
- An error occurs if more than one record is found with the same
- index name, in SYSIDX3.
-
- DROP TABLE
- All records in SYSIDX3 with the specified table name are deleted.
-
- CREATE TABLE
- All records in SYSIDX3 with the specified table name are deleted.
-
- All SQL statements are allowed on SYSIDX3, except CREATE INDEX
- <indname> ON SYSIDX3.
-
- If an open cursor on SYSIDX3 exists, statements that modify
- SYSIDX3 will not work.
-
- Descending Indexes are not supported at this time.
-
-
- - Error Codes
-
- The dBASE III PLUS driver generates extended error codes (xerr).
- These are included below for your information:
-
- Extended Error Codes for dBASE III PLUS
- --------------------------------------------------------------------------
- | 3 | Database not found
- | | Database environment variable was not set.
- | |
- --------------------------------------------------------------------------
- | 4 | Directory <name> doesn't exist
- | | Directory specified in database environment variable
- | | doesn't exist.
- | |
- --------------------------------------------------------------------------
- | 5 | Table <name> is locked
- | | Table is already in use.
- | |
- --------------------------------------------------------------------------
- | 7 | Table name <name> is too long
- | | Table name length exceeds 8 characters.
- | |
- --------------------------------------------------------------------------
- | 8 | Index name <name> is too long
- | | Index name length exceeds 8 characters.
- | |
- --------------------------------------------------------------------------
- | 9 | Duplicated index name in <sysidx3> table
- | |
- --------------------------------------------------------------------------
- |10 | Can't create descending index
- | | dBASE3 doesn't support descending indexes.
- | |
- --------------------------------------------------------------------------
- |11 | Column name <name> is too long
- | | Column name length exceeds 10 characters.
- | |
- --------------------------------------------------------------------------
- |12 | Column <name> precision is too big
- | | Invalid field length was specified.
- | | Length of character column in DBASE3 must be less than 255.
- | | Precision of numeric column must be less than 19.
- | |
- --------------------------------------------------------------------------
- |13 | Record length must be less than 4000
- | | Total length of data in dBASE3 row must be less than 4000.
- | |
- --------------------------------------------------------------------------
- |14 | Table <sysidx3> is locked
- | | System table SYSIDX3 is already in use.
- | |
- --------------------------------------------------------------------------
- |15 | Incorrect scale in column <name>
- | | Invalid scale was specified for numeric field.
- | | Numeric scale must be less than or equal to the
- | | column precision.
- | |
- --------------------------------------------------------------------------
- |16 | Column <name> not found
- | | Index expression has column name that is not found
- | | in the table.
- | |
- --------------------------------------------------------------------------
- |17 | Table already opened
- | | Attempt to 'CREATE TABLE', 'DROP TABLE', 'CREATE INDEX',
- | | 'DROP INDEX', but table is already in use.
- | |
- --------------------------------------------------------------------------
- |18 | System table <sysidx3> is write protected
- | | Attempt to write to the write protected system table
- | | SYSIDX3.
- | |
- --------------------------------------------------------------------------
- |19 | Too many columns
- | | Total number of columns in table must be less than 256.
- | |
- --------------------------------------------------------------------------
- |20 | Table name already exists in system catalog
- | | Table name already stored in SYSIDX3 table
- | | (usually CREATE TABLE).
- | |
- --------------------------------------------------------------------------
- |21 | Index name already exists in system catalog
- | | Index name is already stored in system table SYSIDX3
- | | (usually CREATE INDEX).
- | |
- --------------------------------------------------------------------------
- |22 | Index name doesn't exist in system catalog
- | | SQL command 'DROP INDEX' called and specified
- | | index name isn't found in the SYSIDX3 table.
- | |
- --------------------------------------------------------------------------
- |23 | Index doesn't exist
- | | Internal error.
- | |
- --------------------------------------------------------------------------
- |24 | Disk full
- | |
- --------------------------------------------------------------------------
- |25 | Too many open files
- | |
- --------------------------------------------------------------------------
- |26 | Table <name> is write protected
- | | Specified table is set to read-only mode.
- | |
- --------------------------------------------------------------------------
- |27 | Table <name> already exists in database directory
- | | SQL command 'CREATE TABLE' called and file with
- | | specified name exists in database directory.
- | |
- --------------------------------------------------------------------------
- |28 | Table <name> doesn't exist in database directory
- | | Specified table doesn't exist in the
- | | database directory.
- | |
- --------------------------------------------------------------------------
- |29 | Index <name> already exists in database directory
- | | SQL command 'CREATE INDEX' called and specified
- | | index file <name>.ndx already exists in the
- | | database directory.
- | |
- --------------------------------------------------------------------------
- |30 | Index <name> doesn't exist in database directory
- | | Specified index doesn't exist in the database directory.
- | |
- --------------------------------------------------------------------------
- |31 | Index <name> is write protected
- | | If table is read-only and index file is not read-only.
- | |
- --------------------------------------------------------------------------
- |32 | Index key length is too long
- | | Index key length can't be more than 100 characters.
- | |
- --------------------------------------------------------------------------
- |33 | Column type <type> can't be used in index
- | | Logical and Memo fields can't be used in index.
- | |
- --------------------------------------------------------------------------
- |34 | Access denied. Directory <name>
- | | Operating system error in access to directory.
- | |
- --------------------------------------------------------------------------
- |35 | Index expression is too long
- | | May be too many columns in
- | | the index key and columns names are long.
- | | Expression length can't be more than 220 characters.
- | |
- --------------------------------------------------------------------------
- |36 | Non-inspected structure of system table <sysidx3>
- | | System table SYSIDX3 has the wrong structure.
- | |
- --------------------------------------------------------------------------
- |37 | Can't create temporary file <name>
- | |
- --------------------------------------------------------------------------
- |38 | Read error from file <name>
- | |
- --------------------------------------------------------------------------
- |39 | Write error to file <name>
- | |
- --------------------------------------------------------------------------
- |40 | Seek error in file <name>
- | |
- --------------------------------------------------------------------------
- |41 | Access denied. File <name>
- | |
- --------------------------------------------------------------------------
- |42 | File <name> is locked
- | |
- --------------------------------------------------------------------------
- |80 | Table <name> is corrupted
- | |
- --------------------------------------------------------------------------
- |83 | Internal error in table <name>
- | | Internal error in driver.
- | |
- --------------------------------------------------------------------------
- |84 | Table <name> is encrypted
- | |
- --------------------------------------------------------------------------
- |85 | Data can't be stored in table <name>
- | | Data can't be stored in database (constraint violation).
- | |
- --------------------------------------------------------------------------
- |110| Data is not unique in index <name>
- | | Data is not unique in unique index.
- | | This happens when SQL commands 'CREATE INDEX', 'UPDATE',
- | | or 'INSERT' are called.
- | |
- --------------------------------------------------------------------------
- |118| Data doesn't satisfy index expression
- | | For example, index expression is '1/n' and n = 0.0.
- | |
- --------------------------------------------------------------------------
- |120| Index <name> is corrupted
- | |
- --------------------------------------------------------------------------
- |121| Index <name> doesn't correspond to table
- | | Index was create for another table or the
- | | table structure was changed separately from index file.
- | |
- --------------------------------------------------------------------------
- |122| Index <name> doesn't exist
- | | SQL commands 'DROP INDEX' or 'DROP TABLE' called and
- | | index file doesn't exist in the database directory.
- | |
- --------------------------------------------------------------------------
- |123| Cannot insert NULL value in unique index <name>
- | | This happens when SQL commands 'INSERT' or 'UPDATE'
- | | are called.
- | |
- --------------------------------------------------------------------------
-
-
-
- DRIVER SPECIFIC INFORMATION -- dBASE IV
- ---------------------------------------
-
- - Network Configuration and Table Locking
-
- On a PC-NFS network SHARE must be loaded, and the network drive you
- are connecting to must be set to MUST SHARE, to activate ASE's table
- locking mechanism in a network configuration. Use NFSCONF.EXE to
- configure the network drive to MUST SHARE or see your PC-NFS
- documentation for more information.
-
- SHARE must be loaded for NOVELL networks also.
-
-
- - Error Codes
-
- The dBASE IV driver generates extended error codes (xerr).
- These are included below for your information:
-
- Extended Error Codes for dBASE IV
- --------------------------------------------------------------------------
- |3 | Database name not found in <sysdbs> system table
- | |
- --------------------------------------------------------------------------
- |4 | Directory <name> doesn't exist
- | | Directory for specified database doesn't exist.
- | |
- --------------------------------------------------------------------------
- |5 | Table <name> is locked
- | | Table is already in used.
- | |
- --------------------------------------------------------------------------
- |7 | Table name <name> is too long
- | | Table name length exceeds 8 characters.
- | |
- --------------------------------------------------------------------------
- |8 | Index name <name> is too long
- | | Index name length exceeds 10 characters.
- | |
- --------------------------------------------------------------------------
- |11 | Column name <name> is too long
- | | Column name length exceeds 10 characters.
- | |
- --------------------------------------------------------------------------
- |12 | Column <name> precision is too big
- | | Invalid field length was specified.
- | | Length of character column in DBASE4 must be less than 255.
- | | Precision of numeric column must be less than 19.
- | |
- --------------------------------------------------------------------------
- |13 | Record length must be less than 4000
- | | Total length of data in DBASE4 row must be less than 4000.
- | |
- --------------------------------------------------------------------------
- |15 | Incorrect scale in column <name>
- | | Invalid scale was specified for numeric field.
- | | Numeric scale must be less or equal than column precision.
- | |
- --------------------------------------------------------------------------
- |16 | Column <name> not found
- | | Index expression has column name that is not found
- | | in the table.
- | |
- --------------------------------------------------------------------------
- |17 | Table already opened
- | | Attempt to 'CREATE TABLE', 'DROP TABLE', 'CREATE INDEX',
- | | 'DROP INDEX', but table is already in use.
- | |
- --------------------------------------------------------------------------
- |18 | System table <name> is write protected
- | | Attempt to write to the write protected system table.
- | |
- --------------------------------------------------------------------------
- |19 | Too many columns
- | | Total number of columns in table must be less than 256.
- | |
- --------------------------------------------------------------------------
- |20 | Table name already exists in system catalog
- | | Table name is already stored in system table SYSTABLS
- | | (usually CREATE TABLE).
- | |
- --------------------------------------------------------------------------
- |21 | Index name already exists in system catalog
- | | Index name is already stored in system table SYSIDXS
- | | (usually CREATE INDEX).
- | |
- --------------------------------------------------------------------------
- |22 | Index name doesn't exist in system catalog
- | | Index name not found in system table SYSIDXS
- | | (usually DROP INDEX).
- | |
- --------------------------------------------------------------------------
- |23 | Index doesn't exist in index file
- | | Internal error.
- | |
- --------------------------------------------------------------------------
- |24 | Disk full
- | | There is no space on the disk.
- | |
- --------------------------------------------------------------------------
- |25 | Too many open files
- | |
- --------------------------------------------------------------------------
- |26 | Table <name> is write protected
- | | Table on disk is set to read-only mode.
- | |
- --------------------------------------------------------------------------
- |27 | Table <name> already exists in database directory
- | | Table name was not found in system catalog, but
- | | file (<name>.dbf) was found in database directory on disk.
- | |
- --------------------------------------------------------------------------
- |28 | Table <name> doesn't exist in database directory
- | | Table name was found in system catalog, but
- | | file (<name>.dbf) was not found in database directory
- | | on disk.
- | |
- --------------------------------------------------------------------------
- |29 | Index <name> already exists
- | | Specified index already exists in the index file.
- | |
- --------------------------------------------------------------------------
- |30 | Index <name> doesn't exist
- | | Specified index doesn't exist in the index file.
- | |
- --------------------------------------------------------------------------
- |31 | Index file <name> is write protected
- | | Table is read-only, but index file is not read-only.
- | |
- --------------------------------------------------------------------------
- |32 | Index key is too long
- | | Length of index key can't be more than 100 characters.
- | |
- --------------------------------------------------------------------------
- |33 | Column type <type> can't be used in index
- | | Logical and Memo fields can't be used in index.
- | |
- --------------------------------------------------------------------------
- |34 | Access denied. Directory <name>
- | | OS error. Directory is inaccessible.
- | |
- --------------------------------------------------------------------------
- |35 | Too many indexes
- | | One table can't have more than 47 associated indexes.
- | |
- --------------------------------------------------------------------------
- |36 | Table name doesn't exist in the system catalog.
- | |
- --------------------------------------------------------------------------
- |37 | Database name is too long
- | | Database name must be less than 9 characters.
- | |
- --------------------------------------------------------------------------
- |38 | Permission rights error
- | | User doesn't have permission to change
- | | system tables.
- | |
- --------------------------------------------------------------------------
- |39 | Index expression is too long
- | | Index expression written in internal database format is
- | | too long. Expression length can't be more 220 characters.
- | |
- --------------------------------------------------------------------------
- |40 | Can't use ASC and DESC together in the index
- | | Index columns must be only ASC or only DESC.
- | |
- --------------------------------------------------------------------------
- |41 | Can't create temporary file <name>
- | |
- --------------------------------------------------------------------------
- |42 | Read error from file <name>
- | |
- --------------------------------------------------------------------------
- |43 | Write error to file <name>
- | |
- --------------------------------------------------------------------------
- |44 | Seek error in file <name>
- | |
- --------------------------------------------------------------------------
- |45 | Access denied. File <name>
- | |
- --------------------------------------------------------------------------
- |46 | File <name> is locked
- | |
- --------------------------------------------------------------------------
- |75 | Table <name> is locked
- | | Table file is locked.
- | |
- --------------------------------------------------------------------------
- |80 | Table <name> is corrupted
- | |
- --------------------------------------------------------------------------
- |81 | Table <name> is not dBASE4 table
- | |
- --------------------------------------------------------------------------
- |83 | Internal error in table <name>
- | | Internal error in driver.
- | |
- --------------------------------------------------------------------------
- |84 | Table <name> is encrypted
- | |
- --------------------------------------------------------------------------
- |85 | Data can't be stored in table <name>
- | | Data can't be stored in database (constraint violation).
- | |
- --------------------------------------------------------------------------
- |110| Data is not unique in index <name>
- | | Can't create unique index if candidate data is non-unique.
- | | Can't insert data if unique constraint is not satisfied.
- | | ('CREATE INDEX', 'UPDATE', 'INSERT')
- | |
- --------------------------------------------------------------------------
- |120| Index file <name> is corrupted
- | |
- --------------------------------------------------------------------------
- |121| Index <name> doesn't correspond to table
- | | Index for another table or table structure
- | | was changed without changing index file.
- | |
- --------------------------------------------------------------------------
- |122| Cannot insert NULL value in unique index <name>
- | | Nulls can't be used in unique index.
- | |
- --------------------------------------------------------------------------
-
-
- DRIVER SPECIFIC INFORMATION -- INFORMIX
- ---------------------------------------
-
- - Environment Variables
-
- If the database you want to access is not in the current directory
- INFORMIX will use the DBPATH environment variable. The environment
- variable can be set in your .cshrc file, or in the AutoCAD startup
- script. DBPATH is not recognized if you set it in a window from
- the UNIX command prompt.
-
-
- - Error messages
-
- Error messages displayed will not contain the table, index or field
- name in the error. A message like "Error in <> table" will be
- displayed. This is due to the lack of names being returned from
- the INFORMIX database.
-
-
- - INSERT Statement
-
- The INFORMIX driver will truncate character data too large to fit
- in a character field on an SQL INSERT statement.
-
-
- - ALTER TABLE Statement
-
- The INFORMIX driver does not currently support ALTER TABLE MODIFY
- and ALTER TABLE DROP.
-
-
- DRIVER SPECIFIC INFORMATION -- ORACLE
- -------------------------------------
-
- - Error messages
-
- Error messages displayed will not contain the table, index or field
- name in the error. A message like "Error in <> table" will be
- displayed. This is due to the lack of names being returned from
- the ORACLE database.
-
-
- - ALTER TABLE Statement
-
- The ORACLE driver does not currently support ALTER TABLE MODIFY
- and ALTER TABLE DROP.
-
-
- - COMMIT and ROLLBACK Statements
-
- The ORACLE driver supports COMMIT and ROLLBACK only as ASI function
- calls asi_cmt() and asi_rbk(). The keywords COMMIT and ROLLBACK
- are not supported through ASESQLED.
-
-
- - Network Connection String
-
- This is the syntax of the ORACLE network connection string
- (Optional parameters are enclosed in []):
-
- <:| > denotes : or <space> delimiter
-
- D:hostname[,string1]:sid[<:| >string2]
- where
-
- D - driver name or driver prefix
- hostname - machine host name
- string1 - any string not included ':'
- sid - system ID of the database
- string2 - any string
-
- Correct sample strings:
- T:boston:acad
- TT:boston,tcptlisrv:acad:1024
- TT:boston,tcptlisrv:acad 1024
-
- Wrong sample strings:
- TT:
- TT:boston
-
-
- DRIVER SPECIFIC INFORMATION -- PARADOX
- --------------------------------------
-
- - Performance
-
- The PARADOX driver may appear slower than the dBASE drivers because
- it is a real-mode driver.
-
-
- - Network Configuration
-
- To use the PARADOX driver on NOVELL networks, you must first
- install PARADOX according to the PARADOX Network Administrator's
- Guide. Then set the environment variables explained in the ASE
- Manual in Appendix A.
-
-
- AUTOCAD SQL INTERFACE
- ---------------------
-
- - MetaWare 3.0
-
- MetaWare is no longer selling their 1.73 version. Instead 3.0 can
- be configured to 1.73. You must configure MetaWare 3.0 to 1.73 to
- use the ASIPH.LIB. In addition you will need to set an additional
- flag "-onecase".
-
-
- - ASI_SOVR
-
- ASI_SOVR is an indicator value that is set when an overflow
- condition occurs in the value of an output buffer. It would be set
- in the indp variable of an output buffer in a cursor command, such
- as asi_fet().
-
-
- - EOS character
-
- Cursor operations put an EOS character on the end of a truncated
- string into an output buffer.
-
-
- - Locked Tables
-
- If an ASI program abnormally terminates or doesn't close all of its
- handles, the table might remain locked. On DOS, terminating the driver
- (ASETERMDBMS) or exiting AutoCAD will unlock the tables. On SPARC,
- the driver must be terminated by sending it signal USR2 after quitting
- AutoCAD. For example:
-
- kill -USR2 <driver pid>
-
- where <driver pid> is the driver's process identifier returned by the
- command 'ps -ax'. USR2 is an ASE normal termination signal to the
- driver.
-
-
- - Programming Tips
-
- If you are calling functions from the MetaWare HIGH C libraries
- NA.LIB or HCC.LIB, these must be included at link time. This is
- a common oversight.
-
- It is the responsibility of the programmer to declare and allocate
- asi_handle variables for asi_initdrv(), asi_lon() and asi_ohdl().
- These handles must also be closed. Handles left open will keep
- tables locked. See the note below on "asi_chdl" in the section
- on Manual Corrections and Additions.
-
-
- MANUAL CORRECTIONS AND ADDITIONS
- --------------------------------
-
- Chapter 5
-
- - "asi_cfgdrv", page 103. The fourth sentence of the first paragraph
- should read:
-
- Even though this is not the goal of the interface...
-
-
- - "asi_chdl", page 105. In the example at the top of the page, all
- handles should be closed when an operation is complete or an error
- occurs. A call to asi_chdl() should be added under the two asi_errmsg()
- statements in the "if" statements of asi_com() and asi_exe(). The
- example should read:
-
- .
- .
- .
- if (asi_com(&handle, stm) == ASI_BAD {
- ads_printf("SQL statement: %s\n", stm);
- ads_printf("Error: %s in column %d.\n",
- asi_errmsg(&handle), asi_synerrpos(&handle));
- asi_chdl(&handle);
- return FALSE;
- }
- if (asi_exe(&handle) == ASI_BAD {
- ads_printf("%s\n", asi_errmsg(&handle));
- asi_chdl(&handle);
- return FALSE;
- .
- .
- .
-
-
- - "asi_cvl", page 105. The function arguments should read:
-
- int asi_cvl (handle, colnum, value, len, type)
-
-
- - "asi_sob", page 114, 115. The example settings of output buffers
- should read:
-
- asi_sob
-
- for all examples (instead of ase_sob).
-
-
-