Output format

The report output format is Latex, an important amount of documentations are available on this topic.

As i think that Latex is the most beautiful typesetting language, and considering all it's features, the fact that binaries are available on all platforms and that pdf/ps are the easiest formats to print, i chose Latex for the report output format. So the whole report process is cross-platform.

In all cases, to have a better overview of what the output looks like, go to the samples page where a set of compiled pdf is available.

Supported operating systems

As this software has been developped on Standard Java 1.5 development Kit, you can use this software on any platform on which suitable JRE/SDK has been installed, and available in your PATH environment. JDK/Jre are freely available from sun. JDK sources are now under GPL licence (Open Jdk).

Supported drivers

DbLatexReports supports any kind of Database drivers :

  • Any kind of Jdbc drivers (Type 4, ...)
  • Any odbc datasource link (also called dsn) : in this case the Java Native Jdbc.Odbc bridge is used, in this case, the connection is rerieved by the default operating system driver Manager as it is (most of the time) provided by the Operating System. On Unix stations, you will sometime need to install yourself an Odbc Driver Manager, like UnixOdbc for example.

Reported objects

The goal of this software is to report as much objects as possible as from my experience, all Local Operating System settings can have an impact on the database connection , so i finally decided to grab as much datas as possible to be able to investigate the database connection in a more efficient way.

The main purpose of this tool is to avoid you to, always ask the following questions :

  • Which OS service pack do you use ? Are you sure ?
  • Which driver version do you use ?
  • Which version of your JRE do you use ?
  • What is the target database version and release version ?
  • Which privileges have been set to your tables ?
  • Do you have this stored procedure ?
  • What's your LIBPATH ?
  • Under which session are you logged ?
  • ...
Well with this tool, all informations are summarized at a single place and can be kept, so it can be used as a snaphot to log the Station/Drivers changes.

Operating System objects

Here is the list of Operating System reported objects :
  • Os Account
  • Os Name
  • Os Architecture
  • Os Version
  • Path Separator
  • Current user's Home Directory
  • Working Directory
  • Java Version
  • Java Vendor
  • Java Vendor Url
  • JAVA_HOME
  • JVM spec. version
  • JVM spec. name
  • JVM version
  • JVM implementation vendor
  • JVM implementation name
  • JRE spec. version
  • JRE spec. vendor
  • JRE spec. name
  • Java Class Format Version Number
  • Classpath
  • LIBPATH
  • User's TEMP directory
  • JIT compiler
  • Java Extension directory (or directories)

Database Driver Properties

  • Driver Major Version
  • Driver Minor Version
  • Driver Name
  • Driver Version
  • Identifier quoted string
  • JDBC Major Version
  • JDBC Minor Version
  • The login timeout
  • Database Connection Properties

    • Database Catalog (when applicable)
    • The Catalog term for this DBMS
    • Transaction Isolation Level
    • Catalog separator
    • Database Product Name
    • Database Product Version
    • Default Transaction Isolation Level
    • The name used in this database for "database procedure"
    • The name used to describe a schema
    • The JDBC url used to get the connection
    • The user name under wich the connection has been established
    • Maximum number of connections

    Database Limitations

    • Max binary litteral length
    • Max char litteral length
    • Max column name length
    • Max columns in group by statement
    • Max columns in index
    • Max columns in order by
    • Max columns in select
    • Max tables in select
    • Max columns in Table
    • Max cursor name length
    • Max index length
    • Max schema name length
    • Max user name length
    • Max procedure name length
    • Max table name length
    • Max Catalog name length
    • Max row size
    • Does max row size include blobs
    • Max SQL statement length
    • Max statements
    • Does this database support data definition and data definition transactions ?
    • Does this database support Data manipulation transactions only
    • Does data definition cause Transaction commit ?
    • Are data definition ignored in Transactions ?
    • All details about different cursors types including Trasnactions isolation levels and supports
    • All details about how Transactions (inserts, delete, updates) are managed between concurrent sessions
    • Does this database support batch updates ?
    • Does this database support savepoints ?
    • Does this database support named parameters ?
    • Does this database support multiple open resulsets ?
    • Does this database support the "get generated keys feature" ?
    • Does this database support statements pooling ?
    • Do allocators update copy ?

    Database objects

    As i try to get the maximum set of properties from the driver through the Jdbc Api, you should be able to retrieve the values you can get through the Jdbc API, when they are implented (which is not always the case ...). When a feature is not available in driver's API, the exception output message is displayed instead. Depending on how the JDBC API has been implemented (and most of all how the implementation respects the official JDBC API) the report strongly depends on the driver you are using, here are the database objects you will be able to find in your report :
    • The database types with all their properties (size, type, name, length, and some more detailed properties)
    • The SQL reserved keywords of the RDBMS
    • The native db Time/Date functions
    • The native db System functions
    • The native db String functions
    • The native db Numeric functions
    • User defined available stored procedure and functions, with their parameters descriptions (type, order, nullable, remarks and some other details), as well as remarks (when available)
    • Tables are reported (according to driver features, see limitations section). On each table, a summarized report (like the row size, the table type, the row buffer size, the row char octet length) is provided, but you also have report on it's columns, indexes, primary keys, and privileges