home *** CD-ROM | disk | FTP | other *** search
-
- ============================================================
- 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 supercedes
- information in the SQL Links documentation.
-
-
- 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 might
- find some performance degradation,particularly if the user
- is allowed to view unrestricted record sets. The following
- suggestions can help cut down the load on your server and
- optimize server performance:
-
- - With large data sets, try to write applications that
- access relatively few records at a time. One way to do
- this within a form-based application is to create forms
- that order the data by index and set range criteria to
- limit the record set. (For example, instead of
- creating a form that 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 that order on
- fields created with the REQUIRED (NOT NULL) option.
- Because 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 might
- need to close and reopen the table to see your additions.
-
- NEW STATEMENT ROW COUNT PROPERTY
- The new statement property, stmtROWCOUNT, can be used with
- DbiGetProp for retrieving the effected row count of
- DELETE/UPDATE/INSERT statements.
-
- SYNONYM AND CROSS DATABASE / CROSS SERVER TABLE ACCESS
- Oracle and Informix synonyms can now be accessed using
- DbiOpenTable and DbiQPrepareExt. Tables on different
- databases or servers can also be accessed in the same way.
- For example, you can now open "SCOTT"."CUSTOMER"@"DBLINK"
- on Oracle and pubs.dbo.authors on Sybase.
-
- UPDATEABLE SQL QUERIES
- Updateable SQL queries are not supported with aliases that
- have the SQLPASSTHRU MODE parameter set to NOT SHARED. The
- SQLPASSTHRU MODE is a parameter that can be set by the BDE
- Configuration Utility for each SQL alias.
-
- 2. KNOWN PROBLEMS
- -----------------
-
- UPDATING SNAPSHOTS--TABLES WITHOUT 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.
-
- UPDATEABLE SQL QUERIES
- Tables owned by another user must be qualifed by owner
- name. Use quotation marks around the entire qualified
- name, for example "OWNER.TABLE".
-
-
- 3. INTERBASE DRIVER
- -------------------
-
- INTERBASE SQL LINK and LOCAL INTERBASE SERVER
- InterBase SQL Link installs a subset of the InterBase vendor
- DLLs necessary for Local InterBase Server. If you have an
- earlier version of Local InterBase Server on your computer
- when you install InterBase SQL Link, be sure to upgrade
- with the latest version.
-
- 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, use the BDE
- Configuration Utility to set the DRIVER FLAGS option to 512.
-
-
- 4. INFORMIX DRIVER
- ------------------
-
- This release of Borland SQL Link includes two Informix
- drivers:
- SQLD_IN5.DLL
- SQLD_INF.DLL
-
- SQLD_IN5.DLL is an ESQL/C 5.x application supporting
- INFORMIX-NET for Windows Version 5.x. This driver supports
- multiple connections per workstation. When installing this
- driver, no Informix vendor support files are installed.
- All vendor files, such as LDLLSQLW.DLL, must be acquired
- directly from Informix. INFORMIX-NET for Windows Version
- 5.x supports any WINSOCK 1.1 Compliant DLL.
-
- SQLD_INF.DLL is an ESQL/C 4.x application supporting
- INFORMIX-NET PC Version 4.x. This driver is limited to
- one connection per workstation and may encounter some
- limitations with the INFORMIX LDLLSQLW.DLL (version 4.x)
- file.
-
- BDECFG.EXE & INFORMIX TSR (Informix ESQL/C 4.x driver ONLY)
- The Informix TSR contains entries for HOST NAME, USER NAME,
- and PASSWORD that over-ride any entries for SERVER NAME,
- USER NAME, and PASSWORD set for the Informix driver
- by using the BDE Configuration Utility. This is necessary
- because you cannot set or change SERVER NAME, USER NAME
- and PASSWORD from within your BDE application. Your BDE
- application accesses the database 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.
-
- 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 BDE
- 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 might need
- more workstation memory.
-
- LIMITATIONS ON OPENING TABLES
- This edition of the Informix SQL Link driver does not
- support opening a table with a column name that 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 that 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 passthrough SQL to
- create the destination table with the correct interval
- qualifier. Then append the contents of the source table
- to the destination table.
-
- INFORMIX ERROR MESSAGES WITH EMBEDDED FORMAT STRINGS
- For certain error messages (such as "Table not found"),
- the Informix error message contains an embedded "%s"
- instead of a variable name.
-
- FTP/INFORMIX CONNECTION WITH INFORMIX NET PC 4.X AND FTP
- System configuration: The dos path should include:
- C:\PCTCP;C:\INFORMIX\BIN
- Enter in your AUTOEXEC.BAT (by using odi and PCTCP
- dos/win network drivers) SET FTP_ETC=C:\ETC
- (per Informix docs if using FTP software)
-
-
- STORED PROCEDURE SUPPORT IN SQLD_IN5.DLL
- The new Informix driver supports stored procedures.
- Please note the following points:
-
- 1. Informix stored procedures have input params but
- no output parameters.
-
- 2. DbiOpenSPParamList returns all input parameters
- and sets SPParamDesc.uParamNum and SPParamDesc.szName
- starting from 1.
-
- SPParamDesc[0].uParamNum = 1
- SPParamDesc[0].szName = "1"
- and SPParamDesc[0].eParamType = paramIN;
- .
- .
- .
-
- The rest of the information for SPParamDescs
- (such as uFldType, usubType, iUnits1, iUnits2, uOffset,
- uLen, and uNullOffset) must be set by user.
-
-
-
-
-
- 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 enclosed
- in double quotation marks may 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 quotation marks. For example:
-
- 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, use
- the BDE Configuration Utility to set the DRIVER FLAGS option
- to 512.
-
- To use uppercase object names only AND maintain transaction
- support compatibility with earlier versions of SQL Links, use
- the BDE Configuration Utility to set the DRIVER FLAGS option
- to 513 (representing 512+1).
-
- TRANSLATING AN ORACLE DATE FIELD TO dBASE
- In Table 1.8 of CONNECTING TO ORACLE it is stated that Oracle
- DATE fields translate to dBASE DATE fields. This is
- incorrect. They actually translate to dBASE character fields
- with date and time information.
-
- RUNNING NETINIT.EXE BEFORE STARTING YOUR BDE 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 BDE application.
-
- ORACLE UPDATEABLE QUERIES
- All names, both column and table,
- are case sensitive (as if they were quoted explicitly).
-
- ORACLE BLOCK WRITE SUPPORT
- Support for Oracle array binding
- in this release shows improved performance for block writes
- when using DbiBatchMove and DbiWriteBlock.
-
- SQL LINK UNDER OS/2 WARP WITH IBM TCP/IP 2.0 NETWORK
- CONNECTION
- You must install three layers:
-
- a) Oracle CDE CASE Tools, Version 5.1, Windows and Win-OS/2
- b) Oracle Products for Windows, Version 7.1, 2/1/95
- c) SQL VDM to interface the DOS-to-OS2 connection
-
- CONFIGURING BDE FOR USE WITH ORACLE SQL*NET V2.0
- In all cases you need to make sure that the 'Network
- Protocol' entry is blank in the alias manager.
- Also make sure that the SQL Link Oracle driver's
- (not just the alias) "Net Protocol" is blank.
- Using the BDE Configuration Utility, enter:
-
- TNS:myservername
-
- into the 'Server Name' setting - also in the alias manager
- (if you configured only for one server it might be necessary
- to type in 'TNS' for the 'Server Name')
-
-
- PERSONAL ORACLE7 CONNECTION ISSUES
- Possible solution to Error Message:
- (ORA-01034 Oracle7 not Available),when trying to connect
- to Personal Oracle7: Make sure Personal Oracle7 is loaded
- and running before trying to connect via the Alias Manager.
- (The username is oracle7 and the password is oracle).
-
- Possible solution to Error Message:
- (ORA-03121 NO INTERFACE DRIVER CONNECTED), when trying to
- connect to Personal Oracle7.
-
- In the BDE Configuration Utility,
- 1) Set Vendor Init to ORA7WIN.DLL.
- 2) Set NET PROTOCOL to blank.
-
- In ORACLE.INI,
- 1) Remark out any settings referring to -
- LOCAL=X:SERVERNAME (it should be LOCAL=2:)
- REMOTE=X:SERVERNAME
-
- In Alias Manager,
- 1) Net Protocol = 2
- 2) Server Name = SERVERNAME
-
- Possible solution to Error Message:
- "ORA-09368: Windows 3.1 Two-Task driver unable to spawn
- Oracle." If you get this when trying to start Personal
- Oracle7 (via Oracle Database Manager), it might mean that
- you are low on Windows resources.
-
-
- 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
- might 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, use the BDE Configuration Utility to set
- the DRIVER FLAGS option to 512.
-
- 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,
- use the BDE Configuration Utility to set the DRIVER FLAGS
- option to 513 (representing 512+1).
-
- MULTIPLE RESULT SETS
- The Sybase SQL Link driver does not support the use of
- stored procedures that return multiple answer sets.
-
- SYBASE INDEX HINT FOR UPDATEABLE QUERIES
- This release of SQL Link has added support for Sybase's
- forceindex hint for query optimization when performing
- updateable queries. For example, the following query is
- now a valid updateable query:
- SELECT * FROM CUSTOMER (2)
-
- SYBASE URGENT PARAMETER AND TABLE CLOSE PERFORMANCE
- The use of the URGENT parameter is supported by the named
- pipes driver, the Novell NetWare networking software
- (SPX/IPX) as well as many TCP/IP networking packages:
- (Note: the dll's specified in the following examples are
- network and network transport specific.)
-
- myNLMsrvr=C:\SQL\BIN\WDBNOVSP,04200020,1,83BD,URGENT
- myUNIXsrvr=C:\SQL\BIN\WDBNOVTC, 128.0.168.245, 1425, URGENT
- myNamedPipesrvr=C:\SQL\BIN\DLL_NAME,\\MY_SRVR\ROOT, URGENT
-
- The Sybase Open Client documentation erroneously notes that
- Novell's LanWorkPlace does not support the URGENT parameter.
- You actually need a version of LanWorkPlace version later
- than 4.0 Lan WorkPlace for OS/2 is compatible only with
- version 3.0.
-
- Certain DB-Library (W3DBLIB.DLL) versions may not work
- properly regarding dbcancel() (Files dated 10-09-92 and
- 6-1-94 may be among these.)
-
- URGENT requires Out of Band Data (OOBD) support and is
- necessary for Sybase's dbcancel() to work effectively.
- Dbcancel() is called to cancel the retrieval of un-read
- result sets.
-
- In order to properly support OOBD, your Solaris-based
- server may need a call to ndd to set its
- tcp_rexmit_interval_max parm.
- The call is:
-
- /usr/sbin/ndd -set /dev/tcp tcp_rexmit_interval_max nnnn
-
- where nnnn is a number of milliseconds.
-
- You might see a delay when clicking on the master grid of
- a master-detail form - the query to retrieve the data for
- the detail might not return for several minutes.
-
- By default, the TCP protocol will wait until a packet is
- full before sending it. This will generally help packet
- transmission over large networks because it cuts down on
- the number of packets sent. This can often slow the
- performance of client applications. If the server needs
- to send 750 bytes to an application and is using 512-byte
- packets, the client will see a delay while the server waits
- on 274 bytes of additional data.
-
- It might be possible to disable this on the SQL Server
- itself. This can be done by adding a trace flag to the
- RUN_SERVER file, -T1610.
-
- ============================================================
-