Special note concerning "connections" to remote servers via the Borland SQL-Link. Sybase and MS SQL 4.x DBLIB client software does not allow multiple "statements" per connection which necessitates the need for multiple user connections for multiple "Tables", "Queries/SQL" and "Linked Cursors" for a Sybase/MSSQL client. "Multiplexing" a single connection would incur a decrease in performance. Interbase, Oracle, and Informix 5.x and above, etc. do not have this restriction and therefore do not need additional connections except for specific situations. ============================================== BDE write management: all write and locking operations are performed on a single, "special" connection, to minimize deadlock potential and allow easier change commit coordination. SELECTs may be issued on this connection as well, if they are known to produce very small datasets. The BDE default mechanism is singleton commits - that is, each UPDATE is normally committed after it is known successful. Explicit BDE transaction API calls and batch operations override this. When "NOT SHARED" (SERVER DRIVER PASSTHROUGH MODE) is used a different connection is maintained for passthrough operations as opposed to non passthrough operations. This is true for all SQL Links. However, the "Special" connection is a Sybase specific feature, due to their lack of cursor support. Sybase only allows one active statement per connection, so multiple active cursors require multiple connections. The BDE, (not the BDE client) determines the best connection to use for executing SQL statements. However, there are well defined rules, as mentioned; writes, locking, and passthrough queries on the special connection; table opens on other available connections, etc." ============================================== To check the number of open connections: INTERBASE: IB 4.0 Database Manager: connect to database | Tasks | Database Maintenance | Database | Active Users SYBASE: sp_who ORACLE: "select * from user_users" INFORMIX: tbd