home *** CD-ROM | disk | FTP | other *** search
/ Software Collection (I) / TOOLS.iso / f01 / 12.img / README.ASE < prev   
Encoding:
Text File  |  1992-06-19  |  33.3 KB  |  852 lines

  1.         Release 12 README.ASE 
  2.  
  3.  
  4.     CONTENTS 
  5.  
  6.     ASE User Commands
  7.  
  8.         General Notes
  9.         
  10.     Driver-Specific Information
  11.  
  12.         General Notes
  13.         
  14.         dBASE III PLUS
  15.            
  16.         dBASE IV
  17.  
  18.         INFORMIX
  19.  
  20.         ORACLE
  21.  
  22.         PARADOX
  23.  
  24.     AutoCAD SQL Interface
  25.  
  26.     Manual Corrections and Additions
  27.  
  28.  
  29.  
  30.     
  31.     ASE USER COMMANDS -- General Notes
  32.     ----------------------------------
  33.  
  34.     - ASE Menu
  35.  
  36.     The ASE User Commands are located under the File pull-down menu and
  37.     the Root screen menu of ACAD.MNU.  It is intended that the ASE User
  38.     Commands be accessed from these menus.  If ASEINIT is invoked from
  39.     the command prompt, it doesn't update the pull-down menu.  In this
  40.     case you will have to select Initialize from the ASE pull-down or
  41.     screen menu to access the ASE commands from these menus. A
  42.     notification message, "ASE already Initialized" will be displayed.
  43.  
  44.     If ASETERM or (xunload "ASE") is invoked from the command prompt,
  45.     it doesn't update the pull-down menu so the menu is not reset to
  46.     allow ASE to be initialized.  In this case, you must (xload "ASE")
  47.     and initialize through ASEINIT from the command line, if you want to
  48.     access ASE again during the current drawing session.
  49.  
  50.  
  51.     - Initializing a Drawing with ASE
  52.  
  53.     ASEINIT modifies the drawing.  If you do not want any ASE information
  54.     to be stored in the drawing, you may issue the ASEERASEALL command.
  55.  
  56.  
  57.     - Dialogue Boxes
  58.  
  59.     In dialogue boxes, some error messages may be truncated.  If CMDDIA is
  60.     set to zero (0) the messages should display completely.
  61.  
  62.     Double clicking on a column in the ASESETROW list box chooses that
  63.     current row.
  64.  
  65.     Double clicking on a column in the ASEVIEWROW list box dismisses
  66.     the dialogue box.
  67.  
  68.     ASESQLED has a maximum SQL statement length of 256 characters in
  69.     dialogue boxes.  The 256th character gets truncated from the
  70.     dialogue box edit field after the statement is executed.  The
  71.     maximum SQL statement length on the command line is 132
  72.     characters.  In a SQL text file the maximum character length for
  73.     one line is 256 characters.  A SQL statement may be up to 1000
  74.     characters in length.  As stated in the manual, the '&' at the end
  75.     of the line in a SQL text file is the line continuation character.
  76.     When displaying the results of a query to the text screen, fields
  77.     of over 80 characters in size are truncated to 80 characters.
  78.  
  79.  
  80.     - Key Column Values
  81.  
  82.     Approximate numeric values must be used with caution as key columns
  83.     (ASESETTABLE).  In certain databases, approximate numbers can lose
  84.     their precision in the database table. As a result, a row might not
  85.     be found by the real key value from ASE.
  86.  
  87.     For example:
  88.  
  89.     If a very big number is entered in dBASE IV, the precision can be
  90.     lost in the database table. THE ASE control database stores the
  91.     exact key value as a double precision number. When ASE is looking
  92.     for a row in a table it calls the driver with the exact key value,
  93.     which in general is not equal to the value stored in the database.
  94.     The number 123456789012345.00 stored in a FLOAT field in dBASE IV
  95.     will lose precision in database format.  The SQL statement SELECT *
  96.     FROM tab1 WHERE fltfld = 123456789012345.00  returns the wrong
  97.     result.
  98.  
  99.     Similar results can be expected with INFORMIX and ORACLE.
  100.  
  101.  
  102.     - SQL Table and Field Name Restrictions
  103.  
  104.     In general, existing databases, tables, and columns that you 
  105.     already have will work with ASE, except those which contain SQL 
  106.     key words or delimiter tokens.  The SQL key words and delimiter
  107.     tokens are listed in chapter 5, page 150 of the ASE manual.
  108.  
  109.  
  110.     - Making Reports with PARADOX (DOS)
  111.  
  112.     To use PARADOX to generate reports through the ASEMAKEREP command,
  113.     you should start AutoCAD using the SHROOM.COM utility that ships on
  114.     the Bonus/Sample 1 disk.
  115.  
  116.  
  117.     DRIVER SPECIFIC INFORMATION -- General Notes
  118.     --------------------------------------------
  119.  
  120.     - DBMS Setup
  121.  
  122.     Specific database setup provided by the database vendor is not
  123.     supplied in the ASE documentation.  You must carefully read and
  124.     install the database software according to the database vendor's
  125.     instructions.  All rules and procedures of the database vendor
  126.     apply unless specifically stated in the ASE manual Appendix A, or
  127.     this README.
  128.  
  129.  
  130.     - Network Support and Locking
  131.  
  132.     Network support is provided for PARADOX and dBASE through table
  133.     locking.  INFORMIX and ORACLE are dependent upon the DBMS
  134.     installation.
  135.  
  136.  
  137.     - Sun SPARCstation
  138.  
  139.     On the SPARC platform, the same driver is used if two or more AutoCAD
  140.     programs are using ASE simultaneously, on the same machine.
  141.  
  142.  
  143.     DRIVER SPECIFIC INFORMATION -- dBASE III PLUS
  144.     ---------------------------------------------
  145.  
  146.     - Environment setup for Sun SPARCstation
  147.  
  148.     The environment variable that describes the database name must be
  149.     uppercase.  For example:
  150.  
  151.         setenv ASETUT  /files/home/acad/tutorial/dbf
  152.  
  153.  
  154.     - Network Configuration and Table Locking
  155.  
  156.     On a PC-NFS network, SHARE must be loaded, and the network drive you
  157.     are connecting to must be set to MUST SHARE, to activate ASE's
  158.     table-locking mechanism in a network configuration.  Use
  159.     NFSCONF.EXE to configure the network drive to MUST SHARE or see
  160.     your PC-NFS documentation for more information.
  161.  
  162.     SHARE must be loaded for NOVELL networks also.
  163.  
  164.     On the SPARC platform, the lock manager (lockd) must be running to
  165.     activate table locking.
  166.  
  167.  
  168.     - Index Notes
  169.  
  170.     To support indexes the dBASE III PLUS driver creates a system table
  171.     SYSIDX3.DBF in the database.  The schema is: 
  172.  
  173.         TBNAME   CHAR(10)   -  table name
  174.         IDXNAME  CHAR(10)   -  index name
  175.  
  176.         Index name length <= 8
  177.         Table name length <= 8
  178.  
  179.     This table will be created in the database directory after the
  180.     first correct CREATE INDEX statement, or the user may create this
  181.     table in dBASE if existing indexes are to be added and used.  The
  182.     driver will only use indexes that are identified in this table.
  183.  
  184.     This table is changed by the driver, when the following statements
  185.     are run:
  186.  
  187.     CREATE INDEX
  188.     An error occurs if the same index name is found in SYSIDX3.
  189.  
  190.     DROP INDEX
  191.     An error occurs if more than one record is found with the same
  192.     index name, in SYSIDX3.
  193.  
  194.     DROP TABLE
  195.     All records in SYSIDX3 with the specified table name are deleted.
  196.  
  197.     CREATE TABLE
  198.     All records in SYSIDX3 with the specified table name are deleted.
  199.  
  200.     All SQL statements are allowed on SYSIDX3, except CREATE INDEX
  201.     <indname> ON SYSIDX3.
  202.  
  203.     If an open cursor on SYSIDX3 exists, statements that modify
  204.     SYSIDX3 will not work.
  205.  
  206.     Descending Indexes are not supported at this time.
  207.  
  208.  
  209.     - Error Codes
  210.  
  211.     The dBASE III PLUS driver generates extended error codes (xerr).
  212.     These are included below for your information:
  213.  
  214. Extended Error Codes for dBASE III PLUS
  215. --------------------------------------------------------------------------
  216. | 3 |  Database not found                      
  217. |   |               Database environment variable was not set.
  218. |   |
  219. --------------------------------------------------------------------------
  220. | 4 |  Directory <name> doesn't exist           
  221. |   |               Directory specified in database environment variable
  222. |   |               doesn't exist.                                 
  223. |   |
  224. --------------------------------------------------------------------------
  225. | 5 |  Table <name> is locked                  
  226. |   |               Table is already in use.
  227. |   |
  228. --------------------------------------------------------------------------
  229. | 7 |  Table name <name> is too long           
  230. |   |               Table name length exceeds 8 characters.
  231. |   |
  232. --------------------------------------------------------------------------
  233. | 8 |  Index name <name> is too long           
  234. |   |               Index name length exceeds 8 characters.
  235. |   |
  236. --------------------------------------------------------------------------
  237. | 9 |  Duplicated index name in <sysidx3> table       
  238. |   |
  239. --------------------------------------------------------------------------
  240. |10 |  Can't create descending index           
  241. |   |               dBASE3 doesn't support descending indexes.
  242. |   |
  243. --------------------------------------------------------------------------
  244. |11 |  Column name <name> is too long          
  245. |   |               Column name length exceeds 10 characters.
  246. |   |
  247. --------------------------------------------------------------------------
  248. |12 |  Column <name> precision is too big       
  249. |   |               Invalid field length was specified.
  250. |   |               Length of character column in DBASE3 must be less than 255.
  251. |   |               Precision of numeric column must be less than 19.
  252. |   |
  253. --------------------------------------------------------------------------
  254. |13 |  Record length must be less than 4000      
  255. |   |               Total length of data in dBASE3 row must be less than 4000.
  256. |   |
  257. --------------------------------------------------------------------------
  258. |14 |  Table <sysidx3> is locked
  259. |   |               System table SYSIDX3 is already in use.
  260. |   |
  261. --------------------------------------------------------------------------
  262. |15 |  Incorrect scale in column <name>       
  263. |   |               Invalid scale was specified for numeric field.
  264. |   |               Numeric scale must be less than or equal to the
  265. |   |               column precision.
  266. |   |
  267. --------------------------------------------------------------------------
  268. |16 |  Column <name> not found       
  269. |   |               Index expression has column name that is not found
  270. |   |               in the table.
  271. |   |
  272. --------------------------------------------------------------------------
  273. |17 |  Table already opened       
  274. |   |               Attempt to 'CREATE TABLE', 'DROP TABLE', 'CREATE INDEX', 
  275. |   |               'DROP INDEX', but table is already in use.
  276. |   |
  277. --------------------------------------------------------------------------
  278. |18 |  System table <sysidx3> is write protected              
  279. |   |               Attempt to write to the write protected system table
  280. |   |               SYSIDX3.
  281. |   |
  282. --------------------------------------------------------------------------
  283. |19 |  Too many columns     
  284. |   |               Total number of columns in table must be less than 256.
  285. |   |
  286. --------------------------------------------------------------------------
  287. |20 |  Table name already exists in system catalog   
  288. |   |               Table name already stored in SYSIDX3 table
  289. |   |               (usually CREATE TABLE).
  290. |   |
  291. --------------------------------------------------------------------------
  292. |21 |  Index name already exists in system catalog       
  293. |   |               Index name is already stored in system table SYSIDX3
  294. |   |               (usually CREATE INDEX).
  295. |   |
  296. --------------------------------------------------------------------------
  297. |22 |  Index name doesn't exist in system catalog       
  298. |   |               SQL command 'DROP INDEX' called and specified
  299. |   |               index name isn't found in the SYSIDX3 table.
  300. |   |
  301. --------------------------------------------------------------------------
  302. |23 |  Index doesn't exist       
  303. |   |               Internal error.
  304. |   |
  305. --------------------------------------------------------------------------
  306. |24 |  Disk full       
  307. |   |
  308. --------------------------------------------------------------------------
  309. |25 |  Too many open files       
  310. |   |
  311. --------------------------------------------------------------------------
  312. |26 |  Table <name> is write protected       
  313. |   |               Specified table is set to read-only mode.
  314. |   |
  315. --------------------------------------------------------------------------
  316. |27 |  Table <name> already exists in database directory       
  317. |   |               SQL command 'CREATE TABLE' called and file with
  318. |   |               specified name exists in database directory.
  319. |   |
  320. --------------------------------------------------------------------------
  321. |28 |  Table <name> doesn't exist in database directory  
  322. |   |               Specified table doesn't exist in the
  323. |   |               database directory.
  324. |   |
  325. --------------------------------------------------------------------------
  326. |29 |  Index <name> already exists in database directory
  327. |   |               SQL command 'CREATE INDEX' called and specified
  328. |   |               index file <name>.ndx already exists in the
  329. |   |               database directory.
  330. |   |
  331. --------------------------------------------------------------------------
  332. |30 |  Index <name> doesn't exist in database directory
  333. |   |               Specified index doesn't exist in the database directory.
  334. |   |
  335. --------------------------------------------------------------------------
  336. |31 |  Index <name> is write protected       
  337. |   |               If table is read-only and index file is not read-only.
  338. |   |
  339. --------------------------------------------------------------------------
  340. |32 |  Index key length is too long       
  341. |   |               Index key length can't be more than 100 characters.
  342. |   |
  343. --------------------------------------------------------------------------
  344. |33 |  Column type <type> can't be used in index
  345. |   |               Logical and Memo fields can't be used in index.
  346. |   |
  347. --------------------------------------------------------------------------
  348. |34 |  Access denied. Directory <name>       
  349. |   |               Operating system error in access to directory.
  350. |   |
  351. --------------------------------------------------------------------------
  352. |35 |  Index expression is too long       
  353. |   |               May be too many columns in 
  354. |   |               the index key and columns names are long.          
  355. |   |               Expression length can't be more than 220 characters.
  356. |   |
  357. --------------------------------------------------------------------------
  358. |36 |  Non-inspected structure of system table <sysidx3>       
  359. |   |               System table SYSIDX3 has the wrong structure.
  360. |   |
  361. --------------------------------------------------------------------------
  362. |37 |  Can't create temporary file <name>       
  363. |   |
  364. --------------------------------------------------------------------------
  365. |38 |  Read error from file <name>
  366. |   |
  367. --------------------------------------------------------------------------
  368. |39 |  Write error to file <name>
  369. |   |
  370. --------------------------------------------------------------------------
  371. |40 |  Seek error in file <name>
  372. |   |
  373. --------------------------------------------------------------------------
  374. |41 |  Access denied. File <name>
  375. |   |
  376. --------------------------------------------------------------------------
  377. |42 |  File <name> is locked
  378. |   |
  379. --------------------------------------------------------------------------
  380. |80 |  Table <name> is corrupted
  381. |   |
  382. --------------------------------------------------------------------------
  383. |83 |  Internal error in table <name>
  384. |   |               Internal error in driver.
  385. |   |
  386. --------------------------------------------------------------------------
  387. |84 |  Table <name> is encrypted
  388. |   |
  389. --------------------------------------------------------------------------
  390. |85 |  Data can't be stored in table <name>
  391. |   |               Data can't be stored in database (constraint violation).      
  392. |   |
  393. --------------------------------------------------------------------------
  394. |110|  Data is not unique in index <name>
  395. |   |               Data is not unique in unique index.
  396. |   |               This happens when SQL commands 'CREATE INDEX', 'UPDATE',
  397. |   |               or 'INSERT' are called.
  398. |   |
  399. --------------------------------------------------------------------------
  400. |118|  Data doesn't satisfy index expression
  401. |   |               For example, index expression is '1/n' and n = 0.0.
  402. |   |
  403. --------------------------------------------------------------------------
  404. |120|  Index <name> is corrupted
  405. |   |
  406. --------------------------------------------------------------------------
  407. |121|  Index <name> doesn't correspond to table
  408. |   |               Index was create for another table or the
  409. |   |               table structure was changed separately from index file.
  410. |   |
  411. --------------------------------------------------------------------------
  412. |122|  Index <name> doesn't exist
  413. |   |               SQL commands 'DROP INDEX' or 'DROP TABLE' called and
  414. |   |               index file doesn't exist in the database directory.
  415. |   |
  416. --------------------------------------------------------------------------
  417. |123|  Cannot insert NULL value in unique index <name>
  418. |   |               This happens when SQL commands 'INSERT' or 'UPDATE'
  419. |   |               are called.
  420. |   |
  421. --------------------------------------------------------------------------
  422.  
  423.     
  424.  
  425.     DRIVER SPECIFIC INFORMATION -- dBASE IV
  426.     ---------------------------------------
  427.  
  428.     - Network Configuration and Table Locking
  429.  
  430.     On a PC-NFS network SHARE must be loaded, and the network drive you
  431.     are connecting to must be set to MUST SHARE, to activate ASE's table
  432.     locking mechanism in a network configuration.  Use NFSCONF.EXE to
  433.     configure the network drive to MUST SHARE or see your PC-NFS
  434.     documentation for more information.
  435.  
  436.     SHARE must be loaded for NOVELL networks also.
  437.  
  438.  
  439.     - Error Codes
  440.  
  441.     The dBASE IV driver generates extended error codes (xerr).
  442.     These are included below for your information:
  443.  
  444. Extended Error Codes for dBASE IV
  445. --------------------------------------------------------------------------
  446. |3  |    Database name not found in <sysdbs> system table
  447. |   |
  448. --------------------------------------------------------------------------
  449. |4  |      Directory <name> doesn't exist 
  450. |   |               Directory for specified database doesn't exist. 
  451. |   |
  452. --------------------------------------------------------------------------
  453. |5  |      Table <name> is locked
  454. |   |               Table is already in used.
  455. |   |
  456. --------------------------------------------------------------------------
  457. |7  |      Table name <name> is too long 
  458. |   |               Table name length exceeds 8 characters.
  459. |   |
  460. --------------------------------------------------------------------------
  461. |8  |      Index name <name> is too long
  462. |   |               Index name length exceeds 10 characters.
  463. |   |
  464. --------------------------------------------------------------------------
  465. |11 |      Column name <name> is too long 
  466. |   |               Column name length exceeds 10 characters.
  467. |   |
  468. --------------------------------------------------------------------------
  469. |12 |      Column <name> precision is too big
  470. |   |               Invalid field length was specified.
  471. |   |               Length of character column in DBASE4 must be less than 255.
  472. |   |               Precision of numeric column must be less than 19.
  473. |   |
  474. --------------------------------------------------------------------------
  475. |13 |      Record length must be less than 4000
  476. |   |               Total length of data in DBASE4 row must be less than 4000.
  477. |   |
  478. --------------------------------------------------------------------------
  479. |15 |      Incorrect scale in column <name>
  480. |   |               Invalid scale was specified for numeric field.
  481. |   |               Numeric scale must be less or equal than column precision.
  482. |   |
  483. --------------------------------------------------------------------------
  484. |16 |      Column <name> not found
  485. |   |               Index expression has column name that is not found
  486. |   |               in the table.
  487. |   |
  488. --------------------------------------------------------------------------
  489. |17 |      Table already opened
  490. |   |               Attempt to 'CREATE TABLE', 'DROP TABLE', 'CREATE INDEX', 
  491. |   |               'DROP INDEX', but table is already in use.
  492. |   |
  493. --------------------------------------------------------------------------
  494. |18 |      System table <name> is write protected
  495. |   |               Attempt to write to the write protected system table.
  496. |   |
  497. --------------------------------------------------------------------------
  498. |19 |      Too many columns
  499. |   |               Total number of columns in table must be less than 256.
  500. |   |
  501. --------------------------------------------------------------------------
  502. |20 |      Table name already exists in system catalog
  503. |   |               Table name is already stored in system table SYSTABLS
  504. |   |               (usually CREATE TABLE).
  505. |   |
  506. --------------------------------------------------------------------------
  507. |21 |      Index name already exists in system catalog
  508. |   |               Index name is already stored in system table SYSIDXS
  509. |   |               (usually CREATE INDEX).
  510. |   |
  511. --------------------------------------------------------------------------
  512. |22 |      Index name doesn't exist in system catalog
  513. |   |               Index name not found in system table SYSIDXS
  514. |   |               (usually DROP INDEX).
  515. |   |
  516. --------------------------------------------------------------------------
  517. |23 |      Index doesn't exist in index file
  518. |   |               Internal error.
  519. |   |
  520. --------------------------------------------------------------------------
  521. |24 |      Disk full
  522. |   |               There is no space on the disk.
  523. |   |
  524. --------------------------------------------------------------------------
  525. |25 |      Too many open files
  526. |   |
  527. --------------------------------------------------------------------------
  528. |26 |      Table <name> is write protected
  529. |   |               Table on disk is set to read-only mode.
  530. |   |
  531. --------------------------------------------------------------------------
  532. |27 |      Table <name> already exists in database directory
  533. |   |               Table name was not found in system catalog, but 
  534. |   |               file (<name>.dbf) was found in database directory on disk.
  535. |   |
  536. --------------------------------------------------------------------------
  537. |28 |      Table <name> doesn't exist in database directory
  538. |   |               Table name was found in system catalog, but 
  539. |   |               file (<name>.dbf) was not found in database directory 
  540. |   |               on disk.
  541. |   |
  542. --------------------------------------------------------------------------
  543. |29 |      Index <name> already exists
  544. |   |               Specified index already exists in the index file.
  545. |   |
  546. --------------------------------------------------------------------------
  547. |30 |      Index <name> doesn't exist
  548. |   |               Specified index doesn't exist in the index file.
  549. |   |
  550. --------------------------------------------------------------------------
  551. |31 |      Index file <name> is write protected
  552. |   |                Table is read-only, but index file is not read-only.
  553. |   |
  554. --------------------------------------------------------------------------
  555. |32 |      Index key is too long
  556. |   |                Length of index key can't be more than 100 characters.
  557. |   |
  558. --------------------------------------------------------------------------
  559. |33 |      Column type <type> can't be used in index
  560. |   |                Logical and Memo fields can't be used in index.
  561. |   |
  562. --------------------------------------------------------------------------
  563. |34 |      Access denied. Directory <name>
  564. |   |                OS error. Directory is inaccessible.
  565. |   |
  566. --------------------------------------------------------------------------
  567. |35 |      Too many indexes 
  568. |   |                One table can't have more than 47 associated indexes.
  569. |   |
  570. --------------------------------------------------------------------------
  571. |36 |      Table name doesn't exist in the system catalog.
  572. |   |
  573. --------------------------------------------------------------------------
  574. |37 |      Database name is too long
  575. |   |                Database name must be less than 9 characters.
  576. |   |
  577. --------------------------------------------------------------------------
  578. |38 |      Permission rights error
  579. |   |                User doesn't have permission to change
  580. |   |                system tables.
  581. |   |
  582. --------------------------------------------------------------------------
  583. |39 |      Index expression is too long
  584. |   |                Index expression written in internal database format is
  585. |   |                too long. Expression length can't be more 220 characters.
  586. |   |
  587. --------------------------------------------------------------------------
  588. |40 |      Can't use ASC and DESC together in the index
  589. |   |                Index columns must be only ASC or only DESC.
  590. |   |
  591. --------------------------------------------------------------------------
  592. |41 |      Can't create temporary file <name>
  593. |   |
  594. --------------------------------------------------------------------------
  595. |42 |      Read error from file <name>
  596. |   |
  597. --------------------------------------------------------------------------
  598. |43 |      Write error to file <name>
  599. |   |
  600. --------------------------------------------------------------------------
  601. |44 |      Seek error in file <name>
  602. |   |
  603. --------------------------------------------------------------------------
  604. |45 |      Access denied. File <name>
  605. |   |
  606. --------------------------------------------------------------------------
  607. |46 |      File <name> is locked
  608. |   |
  609. --------------------------------------------------------------------------
  610. |75 |      Table <name> is locked
  611. |   |                Table file is locked.
  612. |   |
  613. --------------------------------------------------------------------------
  614. |80 |      Table <name> is corrupted
  615. |   |
  616. --------------------------------------------------------------------------
  617. |81 |      Table <name> is not dBASE4 table
  618. |   |
  619. --------------------------------------------------------------------------
  620. |83 |      Internal error in table <name>
  621. |   |                Internal error in driver.
  622. |   |
  623. --------------------------------------------------------------------------
  624. |84 |      Table <name> is encrypted
  625. |   |
  626. --------------------------------------------------------------------------
  627. |85 |      Data can't be stored in table <name>
  628. |   |                Data can't be stored in database (constraint  violation).      
  629. |   |
  630. --------------------------------------------------------------------------
  631. |110|      Data is not unique in index <name>
  632. |   |                Can't create unique index if candidate data is non-unique.
  633. |   |                Can't insert data if unique constraint is not satisfied.
  634. |   |                ('CREATE INDEX', 'UPDATE', 'INSERT')
  635. |   |
  636. --------------------------------------------------------------------------
  637. |120|      Index file <name> is corrupted
  638. |   |
  639. --------------------------------------------------------------------------
  640. |121|      Index  <name> doesn't correspond to table
  641. |   |                Index for another table or table structure 
  642. |   |                was changed without changing index file.
  643. |   |
  644. --------------------------------------------------------------------------
  645. |122|      Cannot insert NULL value in unique index <name>
  646. |   |                Nulls can't be used in unique index.
  647. |   |
  648. --------------------------------------------------------------------------
  649.     
  650.  
  651.     DRIVER SPECIFIC INFORMATION -- INFORMIX
  652.     ---------------------------------------
  653.  
  654.     - Environment Variables
  655.  
  656.     If the database you want to access is not in the current directory
  657.     INFORMIX will use the DBPATH environment variable.  The environment
  658.     variable can be set in your .cshrc file, or in the AutoCAD startup
  659.     script.  DBPATH is not recognized if you set it in a window from
  660.     the UNIX command prompt.
  661.  
  662.  
  663.     - Error messages
  664.  
  665.     Error messages displayed will not contain the table, index or field
  666.     name in the error.  A message like "Error in <> table" will be
  667.     displayed.  This is due to the lack of names being returned from
  668.     the INFORMIX database.
  669.  
  670.  
  671.     - INSERT Statement
  672.  
  673.     The INFORMIX driver will truncate character data too large to fit
  674.     in a character field on an SQL INSERT statement.
  675.  
  676.  
  677.     - ALTER TABLE Statement
  678.  
  679.     The INFORMIX driver does not currently support ALTER TABLE MODIFY
  680.     and ALTER TABLE DROP.
  681.  
  682.  
  683.     DRIVER SPECIFIC INFORMATION -- ORACLE
  684.     -------------------------------------
  685.  
  686.     - Error messages
  687.  
  688.     Error messages displayed will not contain the table, index or field
  689.     name in the error.  A message like "Error in <> table" will be
  690.     displayed.  This is due to the lack of names being returned from
  691.     the ORACLE database.
  692.  
  693.  
  694.     - ALTER TABLE Statement
  695.  
  696.     The ORACLE driver does not currently support ALTER TABLE MODIFY
  697.     and ALTER TABLE DROP.
  698.  
  699.  
  700.     - COMMIT and ROLLBACK Statements
  701.  
  702.     The ORACLE driver supports COMMIT and ROLLBACK only as ASI function
  703.     calls asi_cmt() and asi_rbk().  The keywords COMMIT and ROLLBACK
  704.     are not supported through ASESQLED.
  705.  
  706.  
  707.     - Network Connection String
  708.  
  709.     This is the syntax of the ORACLE network connection string
  710.     (Optional parameters are enclosed in []):
  711.         
  712.         <:| > denotes : or <space> delimiter
  713.  
  714.                 D:hostname[,string1]:sid[<:| >string2]
  715.                 where
  716.  
  717.                 D         - driver name or driver prefix
  718.                 hostname  - machine host name
  719.                 string1   - any string not included ':'
  720.                 sid       - system ID of the database
  721.                 string2   - any string
  722.  
  723.         Correct sample strings:
  724.                 T:boston:acad
  725.                 TT:boston,tcptlisrv:acad:1024
  726.                 TT:boston,tcptlisrv:acad 1024
  727.  
  728.         Wrong sample strings:
  729.                 TT:
  730.                 TT:boston
  731.  
  732.  
  733.     DRIVER SPECIFIC INFORMATION -- PARADOX
  734.     --------------------------------------
  735.  
  736.     - Performance
  737.  
  738.     The PARADOX driver may appear slower than the dBASE drivers because
  739.     it is a real-mode driver.
  740.  
  741.  
  742.     - Network Configuration
  743.  
  744.     To use the PARADOX driver on NOVELL networks, you must first
  745.     install PARADOX according to the PARADOX Network Administrator's
  746.     Guide.  Then set the environment variables explained in the ASE
  747.     Manual in Appendix A.
  748.  
  749.  
  750.     AUTOCAD SQL INTERFACE
  751.     ---------------------
  752.  
  753.     - MetaWare 3.0
  754.  
  755.     MetaWare is no longer selling their 1.73 version.  Instead 3.0 can
  756.     be configured to 1.73.  You must configure MetaWare 3.0 to 1.73 to 
  757.     use the ASIPH.LIB.  In addition you will need to set an additional 
  758.     flag "-onecase".
  759.     
  760.  
  761.     - ASI_SOVR
  762.  
  763.     ASI_SOVR is an indicator value that is set when an overflow
  764.     condition occurs in the value of an output buffer.  It would be set
  765.     in the indp variable of an output buffer in a cursor command, such
  766.     as asi_fet().
  767.  
  768.  
  769.     - EOS character
  770.  
  771.     Cursor operations put an EOS character on the end of a truncated
  772.     string into an output buffer.
  773.  
  774.  
  775.     - Locked Tables
  776.   
  777.     If an ASI program abnormally terminates or doesn't close all of its
  778.     handles, the table might remain locked.  On DOS, terminating the driver
  779.     (ASETERMDBMS) or exiting AutoCAD will unlock the tables.  On SPARC,
  780.     the driver must be terminated by sending it signal USR2 after quitting
  781.     AutoCAD.  For example:
  782.  
  783.         kill -USR2 <driver pid>
  784.  
  785.     where <driver pid> is the driver's process identifier returned by the
  786.     command 'ps -ax'.  USR2 is an ASE normal termination signal to the
  787.     driver.
  788.  
  789.  
  790.      - Programming Tips
  791.  
  792.     If you are calling functions from the MetaWare HIGH C libraries
  793.     NA.LIB or HCC.LIB, these must be included at link time.  This is
  794.     a common oversight.
  795.  
  796.     It is the responsibility of the programmer to declare and allocate
  797.     asi_handle variables for asi_initdrv(), asi_lon() and asi_ohdl().
  798.     These handles must also be closed.  Handles left open will keep
  799.     tables locked.  See the note below on "asi_chdl" in the section
  800.     on Manual Corrections and Additions. 
  801.  
  802.  
  803.     MANUAL CORRECTIONS AND ADDITIONS
  804.     --------------------------------
  805.  
  806.     Chapter 5
  807.  
  808.     - "asi_cfgdrv", page 103.  The fourth sentence of the first paragraph
  809.     should read:
  810.  
  811.         Even though this is not the goal of the interface...
  812.  
  813.  
  814.     - "asi_chdl", page 105.  In the example at the top of the page, all
  815.     handles should be closed when an operation is complete or an error
  816.     occurs.  A call to asi_chdl() should be added under the two asi_errmsg()
  817.     statements in the "if" statements of asi_com() and asi_exe().  The
  818.     example should read:
  819.  
  820.                 .
  821.                 .
  822.                 .
  823.         if (asi_com(&handle, stm)  == ASI_BAD {
  824.           ads_printf("SQL statement: %s\n", stm);
  825.           ads_printf("Error: %s in column %d.\n",
  826.              asi_errmsg(&handle), asi_synerrpos(&handle));
  827.           asi_chdl(&handle);
  828.           return FALSE;
  829.         }
  830.         if (asi_exe(&handle) == ASI_BAD {
  831.           ads_printf("%s\n", asi_errmsg(&handle));
  832.           asi_chdl(&handle);
  833.           return FALSE;
  834.                 .
  835.                 .
  836.                 .
  837.  
  838.  
  839.    - "asi_cvl", page 105.  The function arguments should read:
  840.  
  841.         int asi_cvl (handle, colnum, value, len, type)
  842.  
  843.  
  844.     - "asi_sob", page 114, 115.  The example settings of output buffers
  845.     should read:
  846.  
  847.         asi_sob
  848.  
  849.     for all examples (instead of ase_sob).
  850.  
  851.  
  852.