WELCOME TO BORLAND SQL LINKS 2.5 FOR WINDOWS -------------------------------------------- This file contains important, late-breaking information about Borland SQL Links for Windows, including revisions to the documentation. Information in this file supersedes information in the SQL Links documentation. For information about using Borland SQL Links with Paradox or the Database Desktop, see PDOXSQL.TXT. TABLE OF CONTENTS ----------------- 1. TIPS FOR USING SQL LINKS 2. KNOWN PROBLEMS 3. INTERBASE SQL LINK DRIVER 4. INFORMIX SQL LINK DRIVER 5. ORACLE SQL LINK DRIVER 6. SYBASE SQL LINK DRIVER 1. TIPS FOR USING SQL LINKS --------------------------- VENDOR DLLs. If a vendor DLL is not found on the system, check the WINDOWS\SYSTEM directory. USING ALIASES WITHOUT SPECIFYING A LANGUAGE DRIVER. If no language driver is specified, the default language driver is ASCII. Language-specific processes like character translation, sorting and table name validation will default to U.S. rules. For further information, see Chapter 3 of Borland SQL Links for Windows Getting Started and your driver's Connecting to... manual. WORKING WITH LARGE TABLES. If you create data entry forms on large tables you may find some performance degradation -- particularly if the user is allowed to view unrestricted record sets. The following suggestions may help cut down the load on your server and help optimize server performance: - With large data sets, try to write applications which access relatively few records at a time. One way to do this within a form-based application is to create forms which order the data by index and set range criteria to limit the record set. (For example, instead of creating a form which displays all orders for all customers, write your application to limit the user's working selection by criteria such as customer name, state, and area code.) - Where possible, create applications which order on fields which were created with the REQUIRED (NOT NULL) option. Since this field property must be specified at the time of table creation, be sure to plan for this as part of your application design. WORKING WITH "SNAPSHOTS" (TABLES WITHOUT A UNIQUE INDEX OR ROW ID). If you insert records into a "snapshot" table, you may need to close and reopen the table to see your additions. 2. KNOWN PROBLEMS ----------------- UPDATING "SNAPSHOTS" (TABLES WITHOUT A UNIQUE INDEX OR ROW ID). When working with a table that does not have a unique index or row ID, keep the following in mind: - The SQL Links do not support record modifications and deletions on "snapshots" within an explicit client transaction. Emptying tables is supported within an explicit client transaction, but rolling back such an operation does not update the internal record cache. To update the record cache, close the table and then open it again. 3. INTERBASE DRIVER ------------------- CONNECTING VIA FTP PC/TCP. The connection to InterBase via FTP PC/TCP is sensitive to the amount of conventional memory available to DOS before Windows is started. You need at least 440 KB to use this connection protocol. ADDITIONAL VENDOR DLLs. IUTLS.DLL and DSQL.DLL have been added. ADDITIONAL TRANSACTION ISOLATION LEVEL SUPPORT. Read Committed is now supported. SETTING INTERBASE DRIVER FLAGS. Specifying a Read Committed transaction isolation level can result in incompatibility with applications using earlier versions of SQL Links for InterBase. Earlier versions of SQL Links supported Reapeatable Read only. To maintain transaction support compatibility with earlier versions of SQL Links, set the DRIVER FLAGS option to 512 using the BDE Configuration Utility. 4. INFORMIX DRIVER ------------------ The Borland SQL Link Informix driver is an ESQL/C 4.x application. Therefore, you are limited to one connection per workstation and may encounter some limitations with the INFORMIX LDLLSQLW.DLL (version 4.x) file. The Borland SQL Link Informix driver supports INFORMIX-NET PC Version 4.1. It does not work with INFORMIX-NET for Windows Version 5.01. BDECFG AND THE INFORMIX TSR. The Informix TSR contains entries for HOST NAME, USER NAME, and PASSWORD that over- ride any entries for SERVER NAME, USER NAME, and PASSWORD that are set for the Informix driver through the BDE Configuration Utility. This is because SERVER NAME, USER NAME and PASSWORD cannot be set or changed from within your BDE application. Your BDE application accesses the database which is specified in the BDE configuration file (usually called IDAPI.CFG), but the server name, user name and password will always reflect what was set up through the Informix REMSQL or SETNET programs. For ANSI-compliant databases, the user name specified in the configuration file is used to qualify object names when accessing tables. If you encounter privilege problems, make sure that the USER NAME in your configuration file matches the USER NAME that was specified when REMSQL or SETNET was executed. LIMITATIONS ON OPENING TABLES. This edition of the Informix SQL Link driver does not support opening a table with a column name which is an Informix keyword or function name. Some examples include MONTH, DAY, YEAR, AVG, COUNT, ALL, and UNIQUE. For a complete list of keywords and function names, see your Informix documentation. COPYING INFORMIX TABLE WITH INTERVAL COLUMN. When an Informix table with an interval column is copied, the destination table is created with an interval which has a qualifier of year-to-month. If this qualifier does not match the source table's interval qualifier, you will receive an error during the copy. To work around this problem, use pass-through SQL to create the destination table with the correct interval qualifier. Then append the contents of the source table to the destination table. WINDOWS MEMORY PROBLEMS AND CONNECTING TO INFORMIX. If there are a number of Windows applications open when you attempt to connect to Informix through your IDAPI application, you may see Informix error message #837: Not enough memory available. Exit Windows, then re-start Windows and your BDE application. If the problem continues you may need more workstation memory. INFORMIX ERROR MESSAGES WITH EMBEDDED FORMAT STRINGS. For certain error messages (such as "Table not found"), the error message Informix displays will contain an embedded "%s" instead of a variable name. 5. ORACLE DRIVER ---------------- SUPPORT FOR QUOTED OBJECT NAMES. This release of SQL Links supports the creation of Oracle tables with quoted object names. Object names which are enclosed in double quotes can contain spaces, special characters, reserved words, or mixed case. When querying a table with special object names, be sure to enclose the name in double quotes; e.g. SELECT * from "Customer" For more information on object naming rules, see your Oracle server documentation. ADDITIONAL TRANSACTION ISOLATION LEVEL SUPPORT. Repeatable Read is now supported. A Repeatable Read transaction is always read-only. SETTING ORACLE DRIVER FLAGS. Using mixed-case object names can result in incompatibility with earlier versions of SQL Links for Oracle. Earlier versions of SQL Links used uppercase object names only. To use uppercase object names only, set the DRIVER FLAGS option to 1 using the BDE Configuration Utility. Specifying a Repeatable Read transaction isolation level can result in incompatibility with applications using earlier versions of SQL Links for Oracle. Earlier versions of SQL Links supported Read Committed only. To maintain transaction support compatibility with earlier versions of SQL Links, set the DRIVER FLAGS option to 512 using the BDE Configuration Utility. To use uppercase object names only AND maintain transaction support compatibility with earlier versions of SQL Links, set the DRIVER FLAGS option to 513 (representing 512+1) using the BDE Configuration Utility. TRANSLATING AN ORACLE DATE FIELD TO dBASE. In Table 1.8 of CONNECTING TO ORACLE we state that Oracle DATE fields translate to dBASE DATE fields. They actually translate to a dBASE character fields with date and time information. RUNNING NETINIT.EXE BEFORE STARTING YOUR IDAPI APPLICATION. If you are using SQL*Net for DOS, depending on your system memory configuration you may need to load the Oracle NetInit program (NETINIT.EXE) before you start your IDAPI application. 6. SYBASE DRIVER ---------------- ADDITIONAL TRANSACTION ISOLATION LEVEL SUPPORT. An error (DBIERR_NOTSUPPORTED) is returned if Repeatable Read is specified. Specifying a Repeatable Read transaction isolation level can result in incompatibility with applications using earlier versions of SQL Links for SYBASE. Earlier versions of SQL Links supported Read Committed only. To maintain transaction support compatibility with earlier versions of SQL Links, set the DRIVER FLAGS option to 512 using the BDE Configuration Utility. USING DEFAULT SYBASE DRIVER FLAGS SETTING. If your SYBASE SQL Server faults while executing BLOB reads or BLOB writes, check the SQL Link driver's DRIVER FLAGS parameter. If DRIVER FLAGS is set to 0 (the SYBASE default): 1. Call SYBASE Customer Support and describe the problem, referencing Case #125046. 2. Set the DRIVER FLAGS parameter to 1. Use this DRIVER FLAGS setting until you receive the necessary software fix from SYBASE. Setting DRIVER FLAGS to 1 will enable you to execute BLOB reads and BLOB writes without causing a server fault. This may cause the client to receive SQL Server timeouts during BLOB writes. To execute BLOB reads and writes AND maintain transaction support compatibility with earlier versions of SQL Links, set the DRIVER FLAGS option to 513 (representing 512+1) using the BDE Configuration Utility. MULTIPLE RESULT SETS. The Sybase SQL Link driver does not support the use of stored procedures that return multiple answer sets.