i-net OPTA 2000 Version 5.01 for MS SQL Server
Last Modified:  05-Feb-2003


Table Of Contents
------------------

	1    Changes To Previous Versions
	1.1  Changes in Version 0.91
	1.2  Changes in Version 0.92
	1.3  Changes in Version 1.00
	1.4  Changes in Version 2.00
	1.5  Changes in Version 2.01
	1.6  Changes in Version 2.03
	1.7  Changes in Version 2.04
	1.8  Changes in Version 2.05
	1.9  Changes in Version 4.00
	1.10 Changes in Version 4.10
	1.11 Changes in Version 4.11
	1.12 Changes in Version 4.12
	1.13 Changes in Version 4.13
	1.14 Changes in Version 4.14
	1.15 Changes in Version 4.15
	1.16 Changes in Version 4.16
	1.17 Changes in Version 4.17
	1.18 Changes in Version 4.18
	1.19 Changes in Version 4.19
	1.20 Changes in Version 5.00
	1.21 Changes in Version 5.01
	2.   Documentation
	3.   Known problems
	4.   Copyright and Support




1 Changes To Previous Versions
-------------------------------

1.1  Changes in Version 0.91
-----------------------------
	- The escape sequence outer join was added.
	- A bug with getUpdateCount() and triggers was fixed.
	- A bug with executeBatch() and PreparedStatements was fixed.
	- The bug "Too many output values from server." with
	  xp_sendmail was fixed.
	- A bug with PDataSource was fixed.


1.2  Changes in Version 0.92
-----------------------------
	- The class JDBCRowSet was added.
	- The bug "Error in the TDS datastream: data(1) greater than block(0/8)" was fixed.
	- The method getDefault() was added to the PoolManager.
	

1.3  Changes in Version 1.00
-----------------------------
	- Many get and set methods were added to the Poolmanager.
	  See the documentation for details.
	- The escape sequence "Encrypt" was added.


1.4  Changes in Version 2.00
-----------------------------
	- A ClassCastException with Context.lookup() was fixed.
	- The method setSqlServer7Mode was added to the DataSources.
	- The method closeAll() was added to the PoolManager i-net PLEXA(tm).
	- The method setTransactionIsolation starts a transaction for compatibility
	  with the JDBC-ODBC bridge now.
	- More SQL States were added.
	- A bug with quotes insides strings was fixed.
	- A bug with named pipes and larger packet size was fixed
	  (more data is available).
	- The bug with sp with parameters and cursors was fixed.
	- The bug with setLong() and PreparedStatement was fixed.
	- The bug with the method absolute() as first move call and 
          negative values was fixed.
	- The subprotocols inetdae6 and inetdae7 were added.
	- An ArrayIndexOutOfBoundsException with many columns was fixed.


1.5  Changes in Version 2.01
-----------------------------
	- A bug with updateRow() and insertRow() was fixed 
	  (no data changed and no exception occured).
	- The method setMaxRows works with cursors now, too.
	- The bug with the method deleteRow() was fixed.
	  (The method deleted the wrong row or the error 
	  "The requested row is not in the fetch buffer." was issued.)
	- The bug with SQL Server 2000 and cursors was fixed.
	- The bug with absolute() and without cursors was fixed.
	- The wrong updatecount for multiple used Statements
	  (second query have returned a update count = 0) was fixed.
	- The bug with return values in conjunction with output values was fixed.


1.6  Changes in Version 2.03
-----------------------------
	- A bug with updateRow() was fixed.
	  ("[xxx]Formal parameter '@xxx' was defined as OUTPUT but the actual parameter
	  not declared OUTPUT")
	- The bug with column alias and SQL Server 7 mode was fixed.
	- The "ArrayIndexOutOfBoundsException: 8192" with setBytes was fixed.
	- A bug with string output parameters in SQL Server 6 mode was fixed.
	  The value was ever null.
	- A problem that is occured if the driver was used with Solaris and JDK 1.1.6 or
 	  higher was fixed. 
	  The problem was that the driver hangs when the program tried to load the driver
	  classes with:
		Class.forName("com.inet.tds.TdsDriver");
		or
		Class.forName("com.inet.tds.TdsDriver").newInstance();
		or
		new com.inet.tds.TdsDriver();.
	- The method Statement.setFetchSize() works also for forward only, read only 
          ResultSets now.
	- The method getColumnClassName() returns "java.sql.Timestamp" 
	  and not "java.sql.TimeStamp" now.
	- The bug unknown datatype with "bigint not null" was fixed.
	- A problem with a bug in jBuilder was fixed that 2 or more calls of setDate(), 
	  setTime() or setTimestamp() produce equals values.
	- A bug with SQL Server 2000 was fixed. Before that it could happen that no data 
	  were returned from sp with parameters (no return data, no ResultSet).
	- A bug with sql7 mode and the charset property was fixed. This bug can occur
	  when the charset on the SQL Server 
	  is different to the charset that is specified in the JDBC url property "charset".
	- A bug was fixed that can occur when a string larger than 4000 characters
	  was sent to a sp. This large string was sent wrong in the sql7 mode.
	  This bug can also occur when a string 
	  larger than 4000 characters was used in the Where clause of a SQL statement.
	- Cascading escape sequences are now supported for SQL Server 7 or higher.
	- Multiple bugs with useCursorAlways and DatabaseMetaData were fixed.
	- The bug with updateNull was fixed ("Unknown output datatype:xx").
	- A performance problem with setString() and large strings was fixed.


1.7  Changes in Version 2.04
-----------------------------
	- A bug with "Unknown output datatype:xx" was fixed. This bug can occur when a 
	  callable statement with one or more output parameters is executed multiple times.
	- A bug was fixed that can occur when a string larger than 4000 characters
	  was sent to a sp. This large string was sent erroneously in the sql7 mode.
	  This bug can also occur when a string larger than 4000 characters
	  was used in the Where clause of a SQL statement.
	- The following methods are now implemented:
	   - ResultSet.getDate(int i, Calendar cal)
	   - ResultSet.getTime(int i, Calendar cal)
	   - ResultSet.getTimestamp(int i, Calendar cal)
	   - PrepareStatement.setDate (int i, Date x, Calendar cal)
	   - PrepareStatement.setTime (int i, Time x, Calendar cal)
	   - PrepareStatement.setTimestamp (int i, Timestamp x, Calendar cal)
	   - CallableStatement.getDate(int i, Calendar cal)
	   - CallableStatement.getTime(int i, Calendar cal)
	   - CallableStatement.getTimestamp(int i, Calendar cal)
	- A bug that can occur when a empty string is used as SP parameter, 
	  e.g. with setString(x,"") and the driver is running in SQL Server 6.5 mode was fixed.
	- The interface XADataSourse was added (XDataSource)
	- The NullPointerException with setClob( .., null) and setBlob( .., null)
	  was fixed.
	- The error "Unknown output datatype:2005" with setNull( Types.CLOB ) and
	  "Unknown output datatype:2004" with setNull( Types.BLOB ) was fixed.
	- The bug that a sp with CLOB datatypes was not execute correct was fixed.
	- The NullPointerException that can occur if you call setTime(null), setDate(null) 
	  and/or setTimestamp(null) was fixed.



1.8  Changes in Version 2.05
-----------------------------
	- A bug in getCrossReference with foreignTable not being used correctly was fixed.
	- A bug with the setXXX( , , Calendar) and getXXX( , Calendar) methods was fixed.
	- Support of special database names without quotion marks.
	- A bug with SQL Server 7 SP2 and updateAsciiStream, updateCharacterStream
	  was fixed.
	- The bug with getSearchStringEscape() and the DatabaseMetaData methods
	  was fixed.
	- A bug with a SP producing one updateCount too many was fixed.
	- The ArrayIndexOutofBoundException:-129 with many columns was fixed.
	- A bug with getResultSet() in the pooled driver was fixed. The method returns
	  a ResultSet even if the result is an update count.
	- The bug in JBuilder with PoolManager "internal compiler error" was compensated.
	- A bug with the method getByte(..) returning an empty array and not null on
	  a uniqueidentifier column with a SQL NULL value was fixed.
	- The bug with the method BatchUpdateException.getUpdateCounts() returning 
	  one update count too many was fixed.
	- A performence increment with getLong() on decimal and numeric data types.
	- A rollback was added to a connection from a pool after the call of close.
	- The wrong return value from getMoreResults was fixed.
	- Date/Time values being saved wrongly with SPs before 1970 was fixed.
	- If the SQL Server (>=7.0) does not support a cursor for a sp or SQL statement
	  then the driver uses a read only, forward only ResultSet without a cursor.
	- The bug with getSchemas() and SQL Server 2000 (column suid not exists) was fixed.
	- The call of setXXX for the return parameter (not output parameters)
	  is ignored now.
	- You can use the return parameter (not output parameters) with named parameters.
	- The pooled driver does support any subprotocol now.


1.9  Changes in Version 4.00
-----------------------------
	- The corrupted connection after an OutOfMemoryError is closed now.
	- After a timeout exception with an overloaded SQL Server or an overloaded JVM
	  the connection can be corrupted. This is fixed now.
	- A fix for JBoss to use XADataSource was added.
	- A bug with the update counts from executeBatch() was fixed if a single
	  SQL expression produces more than one update.
	- The error "Error in the TDS datastream" with a SP and an output parameter from
          data type int that returns null was fixed.
	- The property impltran was added.
	- The error "Error in the TDS datastream" with a SP and an output parameter from
          data type float, real that returns null was fixed.
	- The changes made to a row were not visible even after calling updateRow().
	- The subprotocol inetdae7a was added.
	- A problem with quoted SPs and group numbers was fixed.
	- Change the package of the class PDataSource from com.inet.pool to
	  com.inet.tds.
	- Add the get/set methods to PDataSource for initialPoolSize, minPoolSize,
	  maxPoolSize, maxIdleTime, maxStatements and propertyCycle.
	- Replace the methods getMaxConnectionCount/setMaxConnectionCount
	  of the PoolManager with getMaxPoolSize/setMaxPoolSize.
	- Replace the methods getPoolTimeout/setPoolTimeout
	  of the PoolManager with getMaxIdleTime/setMaxIdleTime.
	- The PoolManager uses the properties initialPoolSize, minPoolSize,
	  maxPoolSize, maxIdleTime of the DataSources now.
	- Different PDataSources in a JNDI directory create a new pool now.
	- The "StringIndexOutOfBoundsException: 0" with no host in the url
	  (only set with properties) was fixed.
	- A bug with tinyint and smallint in the method getColumnClassName()
	  was fixed.
	- The error message "Too many output values from server." with remote SPs
	  with output parameters in a SP was fixed.
	- A rounding problem with setTimestamp() and SPs was fixed.
	- An exception with a null value in a variant data type was fixed.
	- The bug that updateRow() doesn't work with a column alias was fixed.
	- updateRow() supports views and joined tables now.
	- The money data type is mapped to BigDecimal now.
	- A bug that null value with setObject() was ignored was fixed.
	- The bug with Clob.getCharacterStream() and unicode data type was fixed.
	- Change the package of the JDBCRowSet to com.inet.tds.
	- Add the class CachedRowSet.
	- Add the methodes setMode and getMode to the DataSources.
	- A bug in getLong() with bigint, numeric and decimal was fixed.



1.10 Changes in Version 4.10
-----------------------------
	- A serialize error with CachedRowSet was fixed.
	- A error "The Xid is not valid." with WebLogic was fixed.
	- The performance of the CachedRowSet was improved.
	- The method size was added to CachedRowSet.
	- The bug with absolute(),relative() and previous() in CachedRowSet was fixed.
	- The bug that with a TYPE_FORWARD_ONLY server cursor the methods getRow()
	  and isFirst() returns wrong value after the first fetch buffer was fixed.
	- Performance increment with binary streams.
	- The driver is certified for J2EE by Exodus on behalf of SUN.



1.11 Changes in Version 4.11 
-----------------------------
	- Extra columns with FOR BROWSE were removed.
	- The bug that the method isSigned() returns true for some non number
	  data types with the SQL Server 7 or higher was fixed.
	- Performance increase with binary streams.
	- After a timeout exception with a DELETE, INSERT or UPDATE expression
	  the connection can be corrupted. This is fixed now.
	- The SQLException "Too many output values from server." was changed
	  to a SQLWarning.
	- Refresh problems with acceptChanges in CachedRowSet was fixed.
	- The error "The Xid is not valid." with JBoss was fixed.
	- A memory hold after reading large objects was fixed.
	- The methods getFreeConnectionCount(DataSource) and
	  getUsedConnectionCount(DataSource) have returned the total count of 
	  connections instead of the free or used connections count.
	- The methods getFloat() and getDouble() that returned wrong values
	  for the data type smallmoney for large values was fixed.
	- The NullPointerExcption in PreparedStatement.executeQuery() without
	  a ResultSet was fixed.
	- The method recover() returns the prepared transactions now.
	- The DT.rollback() with JBoss did not rollback completely. 
	- A ClassCastException with pooled driver and execute() in
	  CachedRowSet was fixed.
	- A bug with previous() and dynamic cursors was fixed.
	- Performance increase for findColumn().
	- The scrolling type (TYPE_SCROLL_INSENSITIVE, CONCUR_UPDATABLE) is stepped up
	  to (TYPE_SCROLL_SENSITIVE, CONCUR_UPDATABLE) and not stepped down to
	  (TYPE_SCROLL_INSENSITIVE, CONCUR_READ_ONLY).
	- The bug that the SQL expression COMPUTE BY merged the result
	  only in 2 ResultSets was fixed.
	- The event connectionErrorOccured was added.
	- The CachedRowSet now will only use the timestamp column of the table in the
	  where clause if the table contains a timestamp column. If it does not contain
	  a timestamp column then the where clause contains all columns.



1.12 Changes in Version 4.12 
-----------------------------
	- Now the driver prevents a deadlock with an XA transaction by 
	  using multiple connections to one SQL Server.
	- An erroneous rollback that occured after a second connection was added
	  and closed with XA transaction is removed.
	- The getXXX methods are supported on insert row now.
	- On ResultSets with a server cursor the driver has used the
	  default timeout and not the query timeout for fetching the data.
	- The method next() of the CachedRowSet returns false with an empty
	  ResultSet now. Prevoiusly it throwed an exception.
	- An ArrayIndexOutBoundException with executeXXX() was fixed.
	  This execption could occur with large results in specific cases.
	- The option fulltran was added.
	- Now the method PreparedStatement.getMetaData() returns the
	  ResultSetMetaData before the call of executeQuery().
	- Performance increase for getDate(), getTime() and getTimeStamp().
	- Adding precompiled PreparedStatements. This means that the
	  statements are now precompiled on the SQL Server.
	- Performance increase for setDate(), setTime() and setTimeStamp().
	- A ClassCastException with CachedRowSet, pooled connections and
	  parameter was fixed.




1.13 Changes in Version 4.13 
-----------------------------
	- The bug with precompiled PreparedStatements without parameters was
	  fixed ("Line 1: Incorrect syntax near ')'." or ArrayIndexOutOfBoundsException)
	- The bug related to output and return parameters not working in 4.12 was fixed.
	- A NullPointerException with CachedRowSet on serialized was fixed.
	- The exception "Transaction count after EXECUTE indicates that a 
	  COMMIT or ROLLBACK TRANSACTION statement is missing." with XA in 4.12 was fixed.




1.14 Changes in Version 4.14 
-----------------------------
	- The bug that setInitialPoolSize() can create fewer connections as the size value
	  was fixed.
	- The bug with clearParameters() was fixed. --> The following exceptions could occur 
	  "Empty Parameter:0" or 
          "The name '...' is not permitted in this context. Only constants, expressions, or 
	   variables allowed here. Column names are not permitted".
	- With precompiled PreparedStatements varbinary data was save as binary data.
	- The bug with CachedRowSet and nXXX data types was fixed (string data was
	  invalid after serialized).
	- The bug in CachedRowSet that last() returns false with one row was fixed.
	- The property instance was added to the JDBC url.
	- The methods isBeforeFirst() and isAfterLast() returned a wrong value 
	  if you were before the first row and then you called next() and previous().
	- The error "Unknown parameter datatype:0" that could occur with 
	  setNull( x, Types.NULL) or setObject(x, Types.Null) was fixed.
	- The wrong access to the hidden column on server cursor ResultSets
	  over the col number was fixed.
	- A ClassCastException with CachedRowSet and execute was fixed.
	- A ClassCastException with CachedRowSet and acceptChanges and a pooled
	  connection was fixed.



1.15 Changes in Version 4.15 
-----------------------------------
	- Performance increase for setCharacterStream().
	- ArrayIndexOutOfBoundsException in CachedRowSet in last() with an empty
	  ResultSet.
	- Empty CachedRowSets can be serialized now.
	- Output values are supported with Stored Procedure calls having static
	  parameters or named parameters.
	- A bug with prepared statement that returned parameter and static
	  or named parameter(s) was fixed. 
	  Because of this bug the following exception could occur:
	  java.sql.SQLException: Unknown parameter datatype:-12342.
	- The DTCDataSource for working with the MSDTC was added.
	- A bug was fixed that produce the following exception (for instance when an empty 
	  password was specified in the datasource):
	  javax.naming.NamingException: problem generating object using object factory. 
	  Root exception is java.lang.NullPointerException.
	- In the CahedRowSet a scroll method like first(), last(), next(), ... 
	  before calling the method moveToCurrentRow did not move the pointer 
	  from the current insert row.
	- The support for the "FOR READ ONLY" clause was added.
	- "Unknown parameter datatype:2004" and "Unknown parameter datatype:2005"
	  with prepare=true was fixed.
	- Calling a SQL Server 2000 function as procedure returns
	  the return parameter now.
	- The bug that the sequence backslash+newline in a string was not saved
	  with prepare=false was fixed.
	- The option failover was added.
	- The failover management was added to the PoolManager.
	- A bug was fixed that could produce a java.lang.StackOverflowError in JDK 1.4.x if 
	  an exception had occured.
	- A BigDecimal that was created with "new BigDecimal( double ) had not been saved;
	  it had been ignored by the SQL Server because the scale with >50 was too large
	  for the SQL Server.



1.16 Changes in Version 4.16
-----------------------------
	- The method isClosed() was redesigned to compensate for a bug with the JDK1.4.0.
	- The bug that the sequence (backslash+carriage return) in a string was not saved
	  with prepare=false was fixed.
	- The bug that ResultSet.relative() moved to a wrong position was fixed.
	- A bug with BigDecimal, SQL Server 2000, PreparedStatements and 
	  a Precision larger 28 was fixed "Error converting data type decimal to decimal".
	- The hanging of executeQuery() with an empty String was fixed.
	- A unicode bug with setClob() was fixed.
	- This bug was fixed: A PreparedStatement that initially had been executed with
	  a BigDecimal with small scale and then was reexecuted with a larger scale
	  truncated the scale to the value of the first execution.
	  This only occured with prepare=true (default).
	- The error (-1) in DTCDataSource with start(xid,TMJOIN) and a xid from
	  a TMSUCCESS transaction was fixed.
	- The error "The connection is closed" with DTCDataSource on prepare() or
	  commit() in WebLogic Server was fixed.
	- The bug that setObject() with a Long value and prepare=true could truncate
	  the value was fixed.
	- Now the driver also uses real prepared for expressions without parameters.
	- The error "Unknown parameter datatype:-8 - ..." with prepare=true was fixed.
	- You can use the CachedRowSet with a JNDI name without a username and password
	  now.



1.17 Changes in Version 4.17
-----------------------------
	- An ArrayIndexOutOfBoundsException with executeBatch and PreparedStatements and
	  large data size (>16* TDS packet size) was fixed.
	- If an exception occured on a statement with a row limit [setMaxRows()]
	  then the row limit was not reset and for all following statements without
	  a row limit this row limit was used. This bug was fixed.
	- The property useInsteadOfTrigger was added.
	- i-net PLEXA(tm) uses the login timeout from the DataSource if it is different
	  from 0.
	- The error "Incorrect syntax near ')'" with SQL Server 7 and
	  PreparedStatments without parameters was fixed.
	- The method getTableName() was added to the CachedRowSet.





1.18 Changes in Version 4.18
-----------------------------
	- The property systemDatabase was added to the DTCDataSource.
	- PrepareStatement pooling was added.
	- The error "Distributed transaction completed. Either enlist this session
	  in a new transaction or the NULL transaction." with DTCDataSource was fixed.
	- The connection crash with setAsciiStream and inedae7a was fixed.
	- An ArrayIndexOutOfBoundsException with getTableName() and calculate 
	  columns was fixed.
	- A time offset with Calendar methods was fixed for time values that are 
	  in the current timezone daylight hole 
	  (for example 2002-04-07 02:30:00 in America/New_York).
	- The problems (Operand type clash) with setNull( Types.NULL ) and
	  images, text, ntext and uniqueidentifer data types was fixed.
	- A mapping for Types.JAVA_OBJECT was added.
	- Statement.cancel() corrupted the Connection if nothing had been running (fixed).
	- An unfrequent hanging of the DTCDataSource in recover when there was more
	  than one DTCDataSource to the same application server was fixed (dll 1.0.4).
	- The bug with a transaction running in the wrong instance if you have 
	  2 DTCDataSource pools with 2 instances on the same SQL Server host was fixed.
	- Wrong values with getLong() for large Decimal was fixed.
	- A protocoll violation with many columns and data type text or ntext was fixed.
	- A bug with CachedRowSet.rowInserted(), CachedRowSet.rowUpdated() and
	  CachedRowSet.rowDeleted() was fixed.
	- The error "Invalid operator for data type. Operator equals add, type equals text."
	  with strings larger 4000 and the sequence backslash+newline and prepare=false
	  was fixed.



1.19 Changes in Version 4.19
-----------------------------
	- The instance property can be used together with LocalHost now.
	- In CachedRowSet you can save null Objects now.
	- CachedRowSet.createCopy() creates a 100% copy now.
	- A life time bug with PreaparedStatement was fix. Every
	  PreaparedStatement older than 1 minute was unprepared. Now
	  every PreaparedStatement that has not been used for a minute
	  is unprepared.
	- The method updateObject() for datetime, int, smallint, byte
	  and bit data types supports Strings now.
	- Property "logging" was added.
	- A bug in JDBCRowSet with DataSource without username was fixed.
	- The error "Could not find prepared statement with handle x" after
	  setCatlog() was fixed.
	- Add the methods set/getUseCursorsAlways to the DataSources.
	- An ArrayIndexOutOfBoundsException with unicode mode, prepare=false
	  and backslash+newline in very rare situations was fixed.
	- The error "Syntax error converting the xxxx value xxxx to a
	  column of data type int." with a null value parameter without
	  a value type was compensated. In general it is faster to set the
	  value type with null values.
	- A NullPointerException with setObject(x,null,Types.JAVA_OBJECT)
	  was fixed.
	- Property "loginTimeout" was added.
	- Property "queryTimeout" was added.
	- Property "JAVA_OBJECT" was added.
	- Property "prepareLiveTime" was added.



1.20 Changes in Version 5.00
-----------------------------
	- For Xa support the extended procedures was replaced with a NT-Service.
	- The SQLException toString() from SQL Server looks like the output
	  In the Query Analyzer. It includes info about msg number, level,
	  state, procedure and line. The getMessage() output was not changed.




1.21 Changes in Version 5.01
-----------------------------
	- The driver supports precision 38 with SQL Server Version 7.0 and 6.5
	  and the /p option now.
	- ArrayIndexOutOfBoundException:8190 (value 2*string size) with prepare=false,
	  unicode mode and large Strings (approx. > 4095).
	- A bug with wasNull() and getXXX( x, Calendar) was fixed.
	- A bug with isFirst() in CachedRowSet was fixed.
	- A bug with DTCDataSource, SQL Server 7 and WebLogic was fixed.
	- A ClassCastException in CachedRowSet.acceptChanges() with a
	  Connection from a lookup was fixed.
	- The error "Disallowed implicit conversion ..." with CachedRowSet and
	  null values was fixed.
	- Property initSQL was added.
	- A loop for name resolution of the instance name was added.
	- A reconnect for the DTCProxy was added if a network error occur.
	- In CachedRowSet and JDBCRowSet the methods absolute() and 
	  relative fire cursorMoved event now.



2. Documentation
------------------
	The documentation is provided with the file manual.pdf.



3.   Known problems
---------------------
	- The method ResultSetMetaData.getTableName() requires a server cursor
	  or the "for browse" statement.
	- Calling stored procedures with output parameters from type binary or char 
	  produce output with value 0x00 and spaces cut. (e.g., you have a sp
	  with the parameter "char(10) output" and the output value is "abc       " 
	  you receive the value "abc").

	The following methods are not supported by this release:
		- PrepareStatement.setArray (int i, Array x)
		- PrepareStatement.setRef (int i, Ref x)

		- CallableStatement.getObject (int i, java.util.Map map)
		- CallableStatement.getRef (int i)
		- CallableStatement.getArray (int i)

		- DatabaseMetaData.getUDTs(String catalog, String schemaPattern, 
		                           String typeNamePattern, int[] types) 
	
		- ResultSet.getObject (int i, java.util.Map map)
		- ResultSet.getRef (int i)
		- ResultSet.getArray (int i)

		- Connection.getTypeMap ()
		- Connection.setTypeMap (java.util.Map map)

	- The recover() methods from the XADataSource works only in one JVM.
	  After a crash of the JVM
	  the SQL Server will rollback all transactions. With the DTCDataSource
	  the methods work completly.


4.   Copyright and Support
----------------------------
	 2000-2003 by i-net software
	More info and updates are located at
	http://www.inetsoftware.de
	opta@inetsoftware.de



 1998-2003 i-net software