home *** CD-ROM | disk | FTP | other *** search
- ------------------BEGIN-------------------------------
-
- File: ReadIB.txt
-
- Readme file for Local InterBase Server WI-V4.1.0.194
-
- (c) 1996 Borland International, Inc. All rights reserved.
-
-
- -----------------------------------------------------------
- WELCOME TO BORLAND LOCAL INTERBASE SERVER VERSION 4.1.0.194
- -----------------------------------------------------------
-
- This document contains information that supplements or clarifies the
- information that appears in the Help files and printed documentation
- provided with the Local InterBase Server.
-
- To print this document from your word processor, use the Print command
- on the File menu.
- ________
- CONTENTS
-
- i. Important Installation Notes
- I. Supported and Unsupported Features
- II. Starting and Stopping InterBase on Windows 95 and
- Windows NT 4.0
- III. Starting and Stopping InterBase on Windows NT 3.51
- IV. Command-line Utilities
- V. Server Manager
- VI. Windows ISQL
- VII. General Issues
- VIII. International Issues
- IX. Deployment
- X. Tutorial
- XI. ODBC Driver
- XII. Linking and Compiling your applications.
- XIII. Errata
-
-
- _______________________________
- i. IMPORTANT Installation Notes
-
- 1. DO NOT install Local InterBase Server
- and InterBase Server for NT on the same PC.
- If you do, the NT server configuration will
- be invalidated and the server will not run.
-
- 2. To ensure a clean installation, remove any previously installed
- field test version(s). If you have installed any Borland Database
- Engine (BDE) field tests, remove the GDS32.DLL
- from the BDE installation directory.
-
- _____________________________________
- I. Supported and Unsupported Features
-
- Server features added since the release of Local InterBase V4.0c:
-
- - Array support
- - Server shutdown and restart
- - BLOB filters
- - Events
- - User Defined Functions (UDFs)
- - New language drivers for Korean, Taiwanese, and
- Chinese support
- - Server Configuration Utility
-
- Updated Windows tools:
-
- - Windows ISQL
- - Server Manager
- - Communications Diagnostic Tool
- - Registry Configuration Tool
-
- Command-line tools now supported on Windows NT/95 platforms:
-
- - Database Definition utility
- - Database Repair utility
- - User Security utility
- - Database Statistics analyzer
- - Database Backup/Restore utility
- - InterBase Registry Installation utility
- - Lock Manager Print utility
- - Interactive SQL utility
-
- Unsupported Local InterBase features:
-
- - Write Ahead Log (WAL)
-
- ____________________________________________________________________
- II. Starting and Stopping InterBase on Windows 95 and Windows NT 4.0
-
- You must start the Local InterBase server prior to connecting
- to a database. When the sever is running, the server icon
- appears in the Task Tray.
-
- When you install the Local InterBase Server and reboot your
- system, the server is automatically started.
-
- To start a server that has been shut down, select the InterBase
- server from the Local InterBase Server 4.1 program folder under the
- start menu.
-
- To shut down the Local InterBase Server, right-click on the
- InterBase server icon, located in the Task Tray, and select
- Shutdown from the menu.
-
- If you have open connections, it is recommended that you close
- them before shutting down the server. You should also close
- all client applications you are running.
-
- _______________________________________________________
- III. Starting and Stopping InterBase on Windows NT 3.51
-
- You must start the Local InterBase server prior to connecting
- to a database. When the sever is running, the server icon
- appears on the desktop.
-
- When you install the Local InterBase Server and reboot your
- system, the server automatically started.
-
- To start a Local InterBase Server that has been shut down,
- select the Local InterBase Server icon from the
- Local InterBase Server 4.1 program group.
-
- To shut down the Local InterBase Server, left-click on
- the server icon, and select Shutdown from the menu.
-
- If you have open connections, it is recommended that you close
- them before shutting down the server. You should also close
- all client applications you are running.
-
- __________________________
- IV. Command-line Utilities
-
- GFIX.EXE Database Repair utility
- GSEC.EXE User Security utility
- GSTAT.EXE Database Statistics Analyzer
- GBAK.EXE Backup/Restore utility
- INSTREG.EXE Registry Installation utility
- IBLOCKPR.EXE Lock Manager Print utility
- ISQL.EXE Interactive SQL Data Definition utility
-
- _________________
- V. Server Manager
-
- * Environment Variables
-
- Use of the environment variables ISC_USER and ISC_PASSWORD as the
- default username and password by Server Manager is not recommended.
- An unauthorized user can determine definitions and circumvent
- database security features.
-
- However, if you do use them, make sure that, once defined,
- they actually exist in the local security database, ISC4.GDB.
- Add them to ISC4.GDB using Server Manager. If they are
- not in ISC4.GDB, you will get an error message that your user
- name and password are undefined.
-
- * Verbose Output Messages
-
- For backup/restore, lock manager, and database statistics the output
- text window is limited to 32K. If your request exceeds this space,
- you will see a dialog box stating the buffer space was exceeded and
- prompting you to save the results to a file. If you choose 'yes',
- all future results will be saved to the specified file and the text
- in the window will scroll off the top. If you choose 'no', the
- operation will still complete, but the verbose output will stop.
-
- * Slash Character
-
- When issuing a connect, backup, or restore to a database on a Unix
- server, always start the pathname with the slash character (/).
-
- ________________
- VI. Windows ISQL
-
- * The SQL Output area is limited to 32 KBytes of output. Output
- that exceeds this amount will be appended to the end of the
- buffer, and the initial lines in the buffer will scroll off.
- For queries which return a large amount of data, the cursor will
- become an hourglass, and when the query completes, the last 32K of
- output will be displayed in the Output Area. To see results that
- exceed 32K, click on "Save Results to File" and view the file.
-
- * Maximum row size (size of each field, plus 1 byte per field) is
- limited to 64K bytes. On a Windows Client, ISQL requests that
- NULL indicator fields require a smaller maximum row size,
- because each NULL indicator field adds an additional 2 bytes to
- retrieval requirements.
-
- * When selecting data of type FLOAT, the results will be rounded.
- To retrieve the exact precession, use the DOUBLE data type.
-
- ___________________
- VII. General Issues
-
- * On-Disk Structure:
-
- The Local InterBase Server and InterBase for NT share the same
- database on-disk structure. Databases on either of those
- platforms can be copied from one environment to another
- (when no one is accessing the database). Compatibility with
- NetWare 4.0 is planned for a future release.
-
- * Security:
-
- Local InterBase Server requires a user name and password.
- User name and password will be validated against the security
- database and access to the database will fail if they are
- not found.
-
- Every Local InterBase Server has a SYSDBA user, with password
- "masterkey". Initially, SYSDBA is the only authorized user on the
- server. SYSDBA must authorize all other users on the server.
-
- It is strongly recommended that you change the password for SYSDBA
- as soon as possible. Otherwise, the SYSDBA account will not be
- secure and unauthorized users can access databases on the server.
-
- * Access to Mapped Drives on Remote Machines:
-
- Local InterBase Server is designed to provide a local database
- application development environment for a single user. Some users
- might want to store large databases on mapped (remote) drives,
- however, access to mapped remote drives is not supported.
-
- * Dropping Tables:
-
- Before attempting to DROP a table, first issue an explicit COMMIT;
- statement. Some operations, such as a SELECT, will set an 'in use'
- flag that will not be cleared until a COMMIT is done. If you try
- to drop a table and get an 'object <table_name> is in use' error
- message, issue an explicit COMMIT; and try the drop again.
-
- * Decimal Representations:
-
- Internally, InterBase represents decimal numbers as data type
- SHORT with a scale factor, or as a type LONG with a scale factor,
- if the specified precision is small enough to fit in these
- datatypes.
-
- Embedded SQL applications need to adjust decimal numbers of 9
- digits or less by taking the scale factor into account (that is,
- divide the number by 10 to the exponent of scale factor).
-
- For example, for the three following decimal representations:
-
- a(4,2) b(9,3) c(15,2)
- short/100 long/1000 double/100
-
- select a, b, c into :a, :b, :c
- from tablex
- print (a/10**2, b/10**3, c/10**2)
-
- * Local Variables:
-
- In DSQL, CHAR and VARCHAR columns fetched from a table are not
- NULL terminated. In C and C++ applications, be sure that local
- variables are declared with an extra byte of storage for a NULL
- terminator, and that the application also inserts a NULL ('\0')
- in the final byte.
-
- * Character Columns:
-
- In DSQL, CHAR columns are interpreted by PREPARE and DESCRIBE as
- SQL_TEXT + 1.
-
- * Text Representations:
-
- In DSQL, when casting non-text data into a text representation,
- use the SQL cast operator in the DSQL statements rather than
- setting SQL type in the SQLDA. For example, rather than using:
-
- SELECT date . . .
-
- instead use:
-
- SELECT cast (date as character(20)) . . . .
-
- * Creating an index with more than sixteen (16) columns
- is not supported and may cause unexpected results.
-
- * Dynamic SQL (DSQL) cannot process calls to obtain information
- (through isc_dsql_sql_info) on requests that exceed 64K. Requests
- that exceed this limitation will cause unexpected results.
- For example, a complex DSQL query that requests information from
- a table with 1500 columns where average column width is >44 bytes
- (1500 x 44 = 66,000) will cause unexpected results.
-
- * This release does not include SPX support for InterBase 4.0
- running on NetWare. To access this InterBase server, use TCP/IP.
-
- * Multi-threaded Programming
-
- The InterBase client library is thread safe on threaded platforms.
- To access an InterBase server from a multi-threaded client, you
- cannot issue two requests to the same database handle simultaneously
- on two different threads. For most applications, one database
- attachment per thread is recommended.
-
- * If your application traps for invalid transaction handles, you may
- need to change the error code from isc_bad_trans_handle (335544332)
- to isc_dsql_error (335544569).
-
- * If the server fails to start automatically on Windows NT 3.51
-
- The install program may create a program group called 'STARTUP'. If
- this is incorrect for your version of Windows NT, you will need to
- create a startup group appropriate to your version of Windows NT, and
- add the server icon to that startup group. This is most likely to
- occur in a non-English version of Windows NT.
-
- If the name of your personal startup group has been changed, and you
- use the InterBase Configuration Utility (REGCFG.EXE) to have windows
- automatically start the server, a common program group may be created.
- If the server fails to start the next time windows is started, you
- will need to create a startup group appropriate to your version of
- Windows NT, and add the server icon to that startup group.
- __________________________
- VIII. International Issues
-
- * When accessing InterBase 4.0 servers from InterBase 4.1 clients, you
- should avoid using extended characters in database names. This is
- because InterBase 4.1 clients use the ANSI code page whereas InterBase
- 4.0 servers use the OEM code page.
-
- * A Version 3.3 database which used international subtypes
- must be backed up using the version 3.3 GBAK utility and
- restored using the GBAK supplied with Local InterBase Server.
-
- * If a database is created using CHARACTER SET and COLLATE clauses
- with the NOT NULL attribute, and the schema is then extracted
- using ISQL -a, the extracted schema will contain a syntax error.
- This must be corrected before the schema file can be run using
- ISQL -i to recreate the database.
-
- * An international version of the example employee database has been
- added to the example directory. This example database, named
- 'intlemp.gdb', uses the international character set ISO8859_1 to
- define some character and blob fields. The database also has
- stored procedures which sort data. There are no associated example
- programs.
-
- * When setting up an alias for the intlemp.gdb database using
- the BDE (SQL Links), set the "Language Driver" on the
- Alias screen to BLLT1FR0. This informs both the client and
- InterBase to expect data in the Latin 1 character set.
- The driver uses French collation, but any Latin 1 driver
- can be used.
-
- * When viewing international data from the Windows SQL tool or from
- your Borland desktop product, an international language driver
- should be used. If data display problems occur, check the language
- driver to be sure that the character set for the driver matches the
- character set of the database data.
-
- * SQL II character count semantics for column sizes are not enforced
- for double-byte characters. Defining a field as CHAR(3) CHARACTER
- SET EUCJ_0208 (double-byte) should allow only 3 characters to be
- stored (in 6 bytes of internal storage). Currently, if the data
- inserted is single-byte, up to 6 single byte characters are
- accepted into the field before an error is produced.
-
- ______________
- IX. Deployment
-
- For information about deploying applications which use the Local
- InterBase Server 4.1 see DEPLOY.TXT located in the root of your
- InterBase install directory.
-
- ___________
- X. Tutorial
-
- If you are using the tutorial on a Windows NT or 95 Local InterBase Server,
- the table sales_ext in SALES_XT.SQL should be defined as:
-
- CREATE TABLE sales_ext external
- "c:\Program Files\Borland\IntrBase\Examples\Tutorial\sales.dat"
- (
- po_number CHAR(10),
- cust_no CHAR(12),
- sales_rep CHAR(10),
- order_status CHAR(13),
- order_date CHAR(12),
- ship_date CHAR(12),
- date_needed CHAR(12),
- paid CHAR(7),
- qty_ordered CHAR(12),
- total_value CHAR(12),
- discount CHAR(16),
- item_type CHAR(8),
- eol CHAR(2)
- );
- Notice that eol is 2 characters to account for the End of Line being 2 characters
- under Windows. Eol should be 1 if sales.dat resides on a Unix server.
-
- _______________
- XI. ODBC Driver
-
- Uninstall is not supported for the InterBase ODBC driver and the
- ODBC Driver manager.
-
- On-line help about the InterBase ODBC driver is provided. To view
- the help, start the ODBC administrator and select a data source of type
- InterBase 4.x Driver by Visigenic
- from the list of data sources. Press SETUP | HELP.
-
- * ODBC Conformance Levels
-
- The InterBase ODBC driver is ODBC 2.5 compliant. It supports API
- Level 1 and Core SQL Grammar. For specific ODBC calls that are
- supported, refer to the InterBase ODBC Driver on-line help.
-
- * Limitations and Known Problems
-
- This version of the InterBase ODBC Driver does not support array
- datatypes.
-
- ___________________________________________
- XII. Linking and Compiling your application
-
- * The import libraries included with Local InterBase have been tested
- with Borland C++ 5.0, Microsoft Visual C++ 2.0 and Microsoft
- Visual C++ 4.0.
-
- * If you are
- -using a Microsoft Visual C++ 2.0 or Microsoft Visual C++ 4.0
- -compiling and linking separately
- and
- -using the Dynamic Run Time Library (MSVCRT20.DLL or MSVCRT40.DLL)
- you will need to use /MD compiler flag to compile with the RTL, as well as
- linking with the correct import library.
-
- ____________
- XIII. Errata
-
- * Programmer's Guide
-
- In Chapter 6 Working with Data, in the section Using Inner Joins,
- there are two SQL examples. The SELECT statements in the examples
- and the accompanying text have some errors.
-
- The correct syntax for the SELECT statement (in both examples) is:
-
- SELECT D.DEPARTMENT, D.MNGR_NO, E.SALARY
- FROM DEPARTMENT D INNER JOIN EMPLOYEE E
- ON D.MNGR_NO = E.EMP_NO
- AND E.SALARY*2 > (SELECT SUM(S.SALARY) FROM EMPLOYEE S
- WHERE D.DEPT_NO = S.DEPT_NO)
- ORDER BY D.DEPARTMENT;
-
- The accompanying text should say that this statement returns the
- department name, manager number, and salary for any manager whose
- salary is equal to or greater than the sum of all the salaries of
- the employees in that department.
-
- * Language Reference
-
- The word 'DISPLAY' was omitted from the reserved word list.
-
- The InterBase Client for Windows User's Guide
-
- On page 22, Figure 2 1 shows a box with NETAPI.DLL. The box is
- shaded, indicating that NETAPI.DLL is a component of the InterBase
- Client for Windows. That is not correct. The box should be
- unshaded, indicating that NETAPI.DLL is not a component of the
- Client for Windows. It is supplied by the NetBEUI vendor.
-
- On Page 35, in the section on Temporary Files, mention is made of
- the TMP environment variable. These mentions also apply to the
- environment variable TEMP, although that spelling is not mentioned.
-
- ### END OF READLIB.TXT ###
-