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