Database and JDBC Compatibility
Database Support for SQL data types
Database and JDBC versions
The Database package does not currently support all the functionality provided by the JDBC. Maple does not support all the SQL99 data types.
The Database package supports the following SQL data types: BIGINT, BINARY, BIT, BOOLEAN, CHAR, DATE, DECIMAL, DOUBLE, FLOAT, INTEGER, LONGVARBINARY, LONGVARCHAR, SQLNULL, NUMERIC, REAL, SMALLINT, TIME, TIMESTAMP, TINYINT, VARBINARY, VARCHAR.
In particular, Database does not currently support Large Objects (for example, CLOBs and BLOBs), ARRAYs, or STRUCTs.
Database tries to automatically convert from SQL types to Maple types wherever needed. When converting SQL types to Maple types, this process is fairly straightforward. However, some SQL types do not have unique representations in Maple. Therefore Database may not be able to correctly convert a Maple type into the correct SQL type. In these cases explicit type casting must be used to tell Database what SQL type to use. For more information, see conversions.
For complete Database functionality, use a JDBC version 3 driver. However, the Database package, in general, can function, in a more limited fashion, using JDBC version 2 drivers.
If a JDBC version 2 driver is used, the following may not be available: Result scrolling (only Next may work) and updatability ( UpdateData, UpdateRow, InsertRow and DeleteRow may not work).
Another possible problem is incomplete support for the JDBC interface by the JDBC driver. For example, some JDBC drivers do not allow multiple statements in a Statement or PreparedStatement. Database attempts to function with incomplete JDBC Drivers; however, in many cases you must work around these issues.
For a list of known issues with various databases, see the issues help page.
See Also
Database
Database[Connection]
Database[DataInterfaceStream]
Database[Driver]
Database[JDBC]
Database[Result]
Database[Statement]
Download Help Document