home *** CD-ROM | disk | FTP | other *** search
/ C Programming Starter Kit 2.0 / SamsPublishing-CProgrammingStarterKit-v2.0-Win31.iso / bde / readlink.pak / READLINK.TXT < prev    next >
Encoding:
Text File  |  1997-07-24  |  16.9 KB  |  469 lines

  1.  
  2. ============================================================
  3.     WELCOME TO BORLAND SQL LINKS 2.5 FOR WINDOWS
  4.     --------------------------------------------
  5.  
  6. This file contains important, late-breaking information 
  7. about Borland SQL Links for Windows, including revisions 
  8. to the documentation.  Information in this file supercedes 
  9. information in the SQL Links documentation.
  10.  
  11.  
  12. TABLE OF CONTENTS
  13. -----------------
  14.  
  15. 1. TIPS FOR USING SQL LINKS
  16. 2. KNOWN PROBLEMS
  17. 3. INTERBASE SQL LINK DRIVER
  18. 4. INFORMIX SQL LINK DRIVER
  19. 5. ORACLE SQL LINK DRIVER
  20. 6. SYBASE SQL LINK DRIVER
  21.  
  22.  
  23. 1. TIPS FOR USING SQL LINKS
  24. ---------------------------
  25.  
  26. VENDOR DLLs
  27. If a vendor DLL is not found on the system, check the
  28. WINDOWS\SYSTEM directory.  
  29.  
  30. USING ALIASES WITHOUT SPECIFYING A LANGUAGE DRIVER
  31. If no language driver is specified, the default language 
  32. driver is ASCII.  Language-specific processes like 
  33. character translation, sorting and table name validation
  34. will default to U.S. rules.  For further information, see
  35. Chapter 3 of Borland SQL Links for Windows Getting Started 
  36. and your driver's Connecting to... manual.
  37.  
  38. WORKING WITH LARGE TABLES
  39. If you create data entry forms on large tables you might
  40. find some performance degradation,particularly if the user 
  41. is allowed to view unrestricted record sets.  The following 
  42. suggestions can help cut down the load on your server and 
  43. optimize server performance:
  44.  
  45. -  With large data sets, try to write applications that
  46.    access relatively few records at a time.  One way to do 
  47.    this within a form-based application is to create forms 
  48.    that order the data by index and set range criteria to 
  49.    limit the record set.  (For example, instead of 
  50.    creating a form that displays all orders for all 
  51.    customers, write your application to limit the user's 
  52.    working selection by criteria such as customer name, 
  53.    state, and area code.)
  54.  
  55. -  Where possible, create applications that order on 
  56.    fields created with the REQUIRED (NOT NULL) option.
  57.    Because this field property must be specified at 
  58.    the time of table creation, be sure to plan for this
  59.    as part of your application design.
  60.  
  61. WORKING WITH "SNAPSHOTS" (TABLES WITHOUT A UNIQUE INDEX OR
  62. ROW ID)
  63. If you insert records into a "snapshot" table, you might
  64. need to close and reopen the table to see your additions.
  65.  
  66. NEW STATEMENT ROW COUNT PROPERTY
  67. The new statement property, stmtROWCOUNT, can be used with
  68. DbiGetProp for retrieving the effected row count of
  69. DELETE/UPDATE/INSERT statements.
  70.  
  71. SYNONYM AND CROSS DATABASE / CROSS SERVER TABLE ACCESS
  72. Oracle and Informix synonyms can now be accessed using
  73. DbiOpenTable and DbiQPrepareExt.  Tables on different
  74. databases or servers can also be accessed in the same way.
  75. For example, you can now open "SCOTT"."CUSTOMER"@"DBLINK"
  76. on Oracle and pubs.dbo.authors on Sybase.
  77.  
  78. UPDATEABLE SQL QUERIES
  79. Updateable SQL queries are not supported with aliases that
  80. have the SQLPASSTHRU MODE parameter set to NOT SHARED. The
  81. SQLPASSTHRU MODE is a parameter that can be set by the BDE
  82. Configuration Utility for each SQL alias.
  83.  
  84. 2. KNOWN PROBLEMS
  85. -----------------
  86.  
  87. UPDATING SNAPSHOTS--TABLES WITHOUT UNIQUE INDEX OR ROW ID
  88. When working with a table that does not have
  89. a unique index or row ID, keep the following in mind:
  90.  
  91. - The SQL Links do not support record modifications 
  92.   and deletions on "snapshots" within an explicit 
  93.   client transaction.  Emptying tables is supported 
  94.   within an explicit client transaction, but rolling 
  95.   back such an operation does not update the internal 
  96.   record cache.
  97.  
  98. - To update the record cache, close the table and then
  99.   open it again.
  100.  
  101. UPDATEABLE SQL QUERIES
  102. Tables owned by another user must be qualifed by owner
  103. name.  Use quotation marks around the entire qualified
  104. name, for example "OWNER.TABLE".
  105.  
  106.  
  107. 3. INTERBASE DRIVER
  108. -------------------
  109.  
  110. INTERBASE SQL LINK and LOCAL INTERBASE SERVER
  111. InterBase SQL Link installs a subset of the InterBase vendor
  112. DLLs necessary for Local InterBase Server.  If you have an
  113. earlier version of Local InterBase Server on your computer
  114. when you install InterBase SQL Link, be sure to upgrade
  115. with the latest version.
  116.  
  117. CONNECTING VIA FTP PC/TCP
  118. The connection to InterBase via FTP PC/TCP is sensitive to
  119. the amount of conventional memory available to DOS before
  120. Windows is started.  You 
  121. need at least 440 KB to use this connection protocol.
  122.  
  123. ADDITIONAL VENDOR DLLs
  124. IUTLS.DLL and DSQL.DLL have been added.
  125.  
  126. ADDITIONAL TRANSACTION ISOLATION LEVEL SUPPORT
  127. Read Committed is now supported. 
  128.  
  129. SETTING INTERBASE DRIVER FLAGS
  130. Specifying a Read Committed transaction isolation level
  131. can result in incompatibility with applications using
  132. earlier versions of SQL Links for InterBase.
  133. Earlier versions of SQL Links supported Reapeatable
  134. Read only. To maintain transaction support compatibility
  135. with earlier versions of SQL Links, use the BDE
  136. Configuration Utility to set the DRIVER FLAGS option to 512.
  137.  
  138.  
  139. 4. INFORMIX DRIVER
  140. ------------------
  141.  
  142. This release of Borland SQL Link includes two Informix
  143. drivers:
  144.   SQLD_IN5.DLL
  145.   SQLD_INF.DLL
  146.   
  147. SQLD_IN5.DLL is an ESQL/C 5.x application supporting
  148. INFORMIX-NET for Windows Version 5.x.  This driver supports
  149. multiple connections per workstation.  When installing this
  150. driver, no Informix vendor support files are installed.
  151. All vendor files, such as LDLLSQLW.DLL, must be acquired
  152. directly from Informix. INFORMIX-NET for Windows Version
  153. 5.x supports any WINSOCK 1.1 Compliant DLL.
  154.  
  155. SQLD_INF.DLL is an ESQL/C 4.x application supporting
  156. INFORMIX-NET PC Version 4.x.  This driver is limited to
  157. one connection per workstation and may encounter some
  158. limitations with the INFORMIX LDLLSQLW.DLL (version 4.x)
  159. file.
  160.  
  161. BDECFG.EXE & INFORMIX TSR (Informix ESQL/C 4.x driver ONLY)  
  162. The Informix TSR contains entries for HOST NAME, USER NAME, 
  163. and PASSWORD that over-ride any entries for SERVER NAME, 
  164. USER NAME, and PASSWORD set for the Informix driver 
  165. by using the BDE Configuration Utility.  This is necessary
  166. because you cannot set or change SERVER NAME, USER NAME
  167. and PASSWORD from within your BDE application.  Your BDE
  168. application accesses the database specified in the BDE
  169. configuration file (usually called IDAPI.CFG), but the
  170. server name, user name and password will always reflect
  171. what was set up through the Informix REMSQL or SETNET
  172. programs.
  173.  
  174. For ANSI-compliant databases, the user name specified in 
  175. the configuration file is used to qualify object names 
  176. when accessing tables.  If you encounter privilege problems,
  177. make sure that the USER NAME in your configuration file
  178. matches the USER NAME that was specified when REMSQL or
  179. SETNET was executed.
  180.  
  181. WINDOWS MEMORY PROBLEMS AND CONNECTING TO INFORMIX  
  182. If there are a number of Windows applications open when 
  183. you attempt to connect to Informix through your BDE
  184. application, you may see Informix error message #837:
  185.  
  186.      Not enough memory available.
  187.  
  188. Exit Windows, then re-start Windows and your BDE
  189. application.  If the problem continues you might need 
  190. more workstation memory.
  191.  
  192. LIMITATIONS ON OPENING TABLES
  193. This edition of the Informix SQL Link driver does not
  194. support opening a table with a column name that is an
  195. Informix keyword or function name. Some examples include
  196. MONTH, DAY, YEAR, AVG, COUNT, ALL, and UNIQUE.
  197.  
  198. For a complete list of keywords and function names, see 
  199. your Informix documentation.
  200.  
  201. COPYING INFORMIX TABLE WITH INTERVAL COLUMN
  202. When an Informix table with an interval column is copied,
  203. the destination table is created with an interval that has
  204. a qualifier of year-to-month.  If this qualifier does not 
  205. match the source table's interval qualifier, you will 
  206. receive an error during the copy.
  207.  
  208. To work around this problem, use passthrough SQL to 
  209. create the destination table with the correct interval 
  210. qualifier.  Then append the contents of the source table 
  211. to the destination table.
  212.  
  213. INFORMIX ERROR MESSAGES WITH EMBEDDED FORMAT STRINGS
  214. For certain error messages (such as "Table not found"),
  215. the Informix error message contains an embedded "%s"
  216. instead of a variable name.
  217.  
  218. FTP/INFORMIX CONNECTION WITH INFORMIX NET PC 4.X AND FTP
  219. System configuration: The dos path should include:
  220. C:\PCTCP;C:\INFORMIX\BIN
  221. Enter in your AUTOEXEC.BAT (by using odi and PCTCP
  222. dos/win network drivers) SET FTP_ETC=C:\ETC
  223. (per Informix docs if using FTP software)
  224.  
  225.  
  226. STORED PROCEDURE SUPPORT IN SQLD_IN5.DLL
  227. The new Informix driver supports stored procedures. 
  228. Please note the following points:
  229.  
  230. 1. Informix stored procedures have input params but
  231.    no output parameters.
  232.  
  233. 2. DbiOpenSPParamList returns all input parameters
  234.    and sets SPParamDesc.uParamNum and SPParamDesc.szName
  235.    starting from 1. 
  236.  
  237.       SPParamDesc[0].uParamNum = 1
  238.       SPParamDesc[0].szName = "1"
  239.      and  SPParamDesc[0].eParamType = paramIN;
  240.       .
  241.       .
  242.       .
  243.   
  244.    The rest of the information for SPParamDescs
  245.    (such as uFldType, usubType, iUnits1, iUnits2, uOffset,
  246.     uLen, and uNullOffset) must be set by user.
  247.  
  248.  
  249.  
  250.  
  251.  
  252. 5. ORACLE DRIVER
  253. ----------------
  254.  
  255. SUPPORT FOR QUOTED OBJECT NAMES
  256. This release of SQL Links supports the creation of Oracle
  257. tables with quoted object names.  Object names enclosed
  258. in double quotation marks may contain spaces, special
  259. characters, reserved words, or mixed case.  When querying
  260. a table with special object names, be sure to enclose the
  261. name in double quotation marks. For example:
  262.  
  263.      SELECT * from "Customer"
  264.  
  265. For more information on object naming rules, see your 
  266. Oracle server documentation.
  267.  
  268. ADDITIONAL TRANSACTION ISOLATION LEVEL SUPPORT
  269. Repeatable Read is now supported. A Repeatable Read 
  270. transaction is always read-only.
  271.  
  272. SETTING ORACLE DRIVER FLAGS
  273. Using mixed-case object names can result in incompatibility
  274. with earlier versions of SQL Links for Oracle. Earlier
  275. versions of SQL Links used uppercase object names only. To
  276. use uppercase object names only, set the DRIVER FLAGS option
  277. to 1 using the BDE Configuration Utility.
  278.  
  279. Specifying a Repeatable Read transaction isolation level
  280. can result in incompatibility with applications using earlier 
  281. versions of SQL Links for Oracle. Earlier versions of SQL 
  282. Links supported Read Committed only. To maintain transaction 
  283. support compatibility with earlier versions of SQL Links, use
  284. the BDE Configuration Utility to set the DRIVER FLAGS option
  285. to 512.
  286.  
  287. To use uppercase object names only AND maintain transaction 
  288. support compatibility with earlier versions of SQL Links, use
  289. the BDE Configuration Utility to set the DRIVER FLAGS option
  290. to 513 (representing 512+1).
  291.  
  292. TRANSLATING AN ORACLE DATE FIELD TO dBASE
  293. In Table 1.8 of CONNECTING TO ORACLE it is stated that Oracle
  294. DATE fields translate to dBASE DATE fields. This is
  295. incorrect. They actually translate to dBASE character fields
  296. with date and time information.
  297.  
  298. RUNNING NETINIT.EXE BEFORE STARTING YOUR BDE APPLICATION
  299. If you are using SQL*Net for DOS, depending 
  300. on your system memory configuration you may need to load 
  301. the Oracle NetInit program (NETINIT.EXE) before you start 
  302. your BDE application.
  303.  
  304. ORACLE UPDATEABLE QUERIES
  305. All names, both column and table,
  306. are case sensitive (as if they were quoted explicitly).
  307.  
  308. ORACLE BLOCK WRITE SUPPORT
  309. Support for Oracle array binding
  310. in this release shows improved performance for block writes
  311. when using DbiBatchMove and DbiWriteBlock.
  312.  
  313. SQL LINK UNDER OS/2 WARP WITH IBM TCP/IP 2.0 NETWORK
  314. CONNECTION
  315. You must install three layers:
  316.  
  317. a) Oracle CDE CASE Tools, Version 5.1, Windows and Win-OS/2
  318. b) Oracle Products for Windows, Version 7.1, 2/1/95
  319. c) SQL VDM to interface the DOS-to-OS2 connection
  320.  
  321. CONFIGURING BDE FOR USE WITH ORACLE SQL*NET V2.0
  322. In all cases you need to make sure that the 'Network
  323. Protocol' entry is blank in the alias manager. 
  324. Also make sure that the SQL Link Oracle driver's
  325. (not just the alias) "Net Protocol" is blank.  
  326. Using the BDE Configuration Utility, enter:
  327.  
  328.   TNS:myservername
  329.  
  330. into the 'Server Name' setting - also in the alias manager
  331. (if you configured only for one server it might be necessary
  332. to type in 'TNS' for the 'Server Name')
  333.  
  334.  
  335. PERSONAL ORACLE7 CONNECTION ISSUES
  336. Possible solution to Error Message:
  337. (ORA-01034 Oracle7 not Available),when trying to connect
  338. to Personal Oracle7: Make sure Personal Oracle7 is loaded
  339. and running before trying to connect via the Alias Manager.
  340. (The username is oracle7 and the password is oracle).
  341.  
  342. Possible solution to Error Message:
  343. (ORA-03121 NO INTERFACE DRIVER CONNECTED), when trying to
  344. connect to Personal Oracle7.
  345.  
  346.  In the BDE Configuration Utility, 
  347.  1) Set Vendor Init to ORA7WIN.DLL.
  348.  2) Set NET PROTOCOL to blank.
  349.  
  350.  In ORACLE.INI,
  351.  1) Remark out any settings referring to -
  352.    LOCAL=X:SERVERNAME (it should be LOCAL=2:)
  353.    REMOTE=X:SERVERNAME
  354.  
  355.  In Alias Manager,
  356.  1) Net Protocol = 2
  357.  2) Server Name = SERVERNAME
  358.  
  359. Possible solution to Error Message:
  360. "ORA-09368: Windows 3.1 Two-Task driver unable to spawn
  361. Oracle."  If you get this when trying to start Personal
  362. Oracle7 (via Oracle Database Manager), it might mean that
  363. you are low on Windows resources.
  364.  
  365.  
  366. 6. SYBASE DRIVER
  367. ----------------
  368.  
  369. ADDITIONAL TRANSACTION ISOLATION LEVEL SUPPORT
  370. An error (DBIERR_NOTSUPPORTED) is returned if
  371. Repeatable Read is specified. 
  372.  
  373. Specifying a Repeatable Read transaction isolation level 
  374. might result in incompatibility with applications using
  375. earlier versions of SQL Links for Sybase. Earlier versions
  376. of SQL Links supported Read Committed only. To maintain
  377. transaction support compatibility with earlier versions
  378. of SQL Links, use the BDE Configuration Utility to set
  379. the DRIVER FLAGS option to 512.
  380.  
  381. USING DEFAULT SYBASE DRIVER FLAGS SETTING
  382. If your Sybase SQL Server faults while executing BLOB reads
  383. or BLOB writes, check the SQL Link driver's DRIVER FLAGS 
  384. parameter.  If DRIVER FLAGS is set to 0 (the Sybase 
  385. default):
  386.  
  387.   1.  Call Sybase Customer Support and describe the 
  388.       problem, referencing Case #125046.
  389.  
  390.   2.  Set the DRIVER FLAGS parameter to 1.  Use this 
  391.       DRIVER FLAGS setting until you receive the necessary
  392.       software fix from Sybase.
  393.  
  394. Setting DRIVER FLAGS to 1 will enable you to execute BLOB 
  395. reads and BLOB writes without causing a server fault.  
  396. This may cause the client to receive SQL Server timeouts 
  397. during BLOB writes.
  398.  
  399. To execute BLOB reads and writes AND maintain transaction 
  400. support compatibility with earlier versions of SQL Links,
  401. use the BDE Configuration Utility to set the DRIVER FLAGS
  402. option to 513 (representing 512+1).
  403.  
  404. MULTIPLE RESULT SETS
  405. The Sybase SQL Link driver does not support the use of
  406. stored procedures that return multiple answer sets.
  407.  
  408. SYBASE INDEX HINT FOR UPDATEABLE QUERIES
  409. This release of SQL Link has added support for Sybase's
  410. forceindex hint for query optimization when performing
  411. updateable queries. For example, the following query is
  412. now a valid updateable query:
  413.    SELECT * FROM CUSTOMER (2)
  414.  
  415. SYBASE URGENT PARAMETER AND TABLE CLOSE PERFORMANCE
  416. The use of the URGENT parameter is supported by the named
  417. pipes driver, the Novell NetWare networking software
  418. (SPX/IPX) as well as many TCP/IP networking packages:
  419. (Note: the dll's specified in the following examples are
  420. network and network transport specific.)
  421.  
  422. myNLMsrvr=C:\SQL\BIN\WDBNOVSP,04200020,1,83BD,URGENT
  423. myUNIXsrvr=C:\SQL\BIN\WDBNOVTC, 128.0.168.245, 1425, URGENT
  424. myNamedPipesrvr=C:\SQL\BIN\DLL_NAME,\\MY_SRVR\ROOT, URGENT
  425.  
  426. The  Sybase Open Client documentation erroneously notes that
  427. Novell's LanWorkPlace does not support the URGENT parameter.
  428. You actually need a version of LanWorkPlace version later
  429. than 4.0 Lan WorkPlace for OS/2 is compatible only with
  430. version 3.0.
  431.  
  432. Certain DB-Library (W3DBLIB.DLL) versions may not work
  433. properly regarding dbcancel() (Files dated 10-09-92 and
  434. 6-1-94 may be among these.)
  435.  
  436. URGENT requires Out of Band Data (OOBD) support and is
  437. necessary for Sybase's  dbcancel() to work effectively.  
  438. Dbcancel() is called to cancel the retrieval of un-read
  439. result sets.
  440.  
  441. In order to properly support OOBD, your Solaris-based
  442. server may need a call to ndd to set its
  443. tcp_rexmit_interval_max parm.
  444. The call is:
  445.  
  446. /usr/sbin/ndd -set /dev/tcp tcp_rexmit_interval_max nnnn
  447.  
  448. where nnnn is a number of milliseconds.
  449.  
  450. You might see a delay when clicking on the master grid of
  451. a master-detail form - the query to retrieve the data for
  452. the detail might not return for several minutes.
  453.  
  454. By default, the TCP protocol will wait until a packet is
  455. full before sending it. This will generally help packet
  456. transmission over large networks because it cuts down on
  457. the number of packets sent. This can often slow the
  458. performance of client applications. If the server needs
  459. to send 750 bytes to an application and is using 512-byte
  460. packets, the client will see a delay while the server waits
  461. on 274 bytes of additional data.
  462.  
  463. It might be possible to disable this on the SQL Server
  464. itself.  This can be done by adding a trace flag to the
  465. RUN_SERVER file, -T1610.
  466.  
  467. ============================================================
  468.  
  469.