dbf jdbc
DBD::JDBC 0.70
DBD::JDBC is a JDBC proxy driver for the DBI module. more>>
SYNOPSIS
use DBI;
$dbh = DBI->connect("dbi:JDBC:hostname=$hostname;port=$port;url=$url",
$user, $password);
# See the DBI module documentation.
DBD::JDBC is a Perl module which works in conjunction with a server written in Java to provide a DBI front end to a JDBC driver. The Perl module and Java server may be installed on different machines, as long as socket connections are allowed. The Java server portion is multi-threaded and supports multiple simultaneous connections.
This driver currently supports JDBC drivers which implement the JDBC 1.22 interface. JDBC 2.0-compatible drivers are expected to work, but no JDBC 2.0 functionality is explicitly exposed via DBD::JDBC. The $h->jdbc_func method exposes additional JDBC and driver-specific methods. Only Java methods with primitive or String parameters and return types are currently supported in this way.
The expected use for this module is as a DBI interface to databases with JDBC drivers but no DBI drivers. The implementation of this module was originally done for a non-SQL database in order to take advantage of the existing SQL parser in the databases JDBC driver.
The Java classes provided with this module also allow a Java application or servlet to create a JDBC connection and then execute a Perl script which can use that pre-existing JDBC connection via DBI. This particular functionality was implemented in order to allow Perl customizations to a Java servlet-based application. See the example in the example/ directory.
JDBC 0.01
JDBC is a Perl 5 interface to Java JDBC (via Inline::Java). more>>
SYNOPSIS
use JDBC;
JDBC->load_driver("org.apache.derby.jdbc.EmbeddedDriver");
my $con = JDBC->getConnection($url, "test", "test");
my $s = $con->createStatement();
$s->executeUpdate("create table foo (foo int, bar varchar(200), primary key (foo))");
$s->executeUpdate("insert into foo (foo, bar) values (42,notthis)");
$s->executeUpdate("insert into foo (foo, bar) values (43,notthat)");
my $rs = $s->executeQuery("select foo, bar from foo");
while ($rs->next) {
my $foo = $rs->getInt(1);
my $bar = $rs->getString(2);
print "row: foo=$foo, bar=$barn";
}
This JDBC module provides an interface to the Java java.sql.* and javax.sql.* JDBC APIs.
HA-JDBC 2.0
HA-JDBC is a JDBC driver implementation that provides light-weight. more>>
Main features:
- Supports any database accessible via JDBC.
- High-availability - Database cluster can lose a node without failing the current transaction.
- Improves performance of concurrent read-access by distributing load across individual nodes.
- Support for full JDBC 3.0 (Java 1.4) feature set.
- Compatible with JDBC RowSet implementations found in Java 1.5.
- Out-of-the-box database-independent strategies for synchronizing a failed cluster node.
- Exposes JMX management interface to allow administration of database clusters.
- Open source (LGPL).
RmiJdbc 3.3
RmiJdbc is a client/server JDBC Driver that relies on Java RMI. more>>
RmiJdbc project is a client/server JDBC Driver that relies on Java RMI.
All JDBC classes (like Connection, ResultSet, etc...) are distributed as RMI objects, so that you can distribute as you like the access to any database supporting the JDBC API.
In fact, RmiJdbc is just a bridge to allow remote access to JDBC drivers.
Why RmiJdbc?
- You develop a client/server application with databases on Windows (NT)? Use RmiJdbc along with the JDBC/ODBC Bridge, your Windows (NT) databases become remotely accessible in Java.
- You implement a JDBC Driver? Just implement the JDBC classes locally, dont bother with remote access!
- You need serializable JDBC classes? Here they are.
Enhancements:
- Add features/limitations/changes here
StelsDBF 2.0
StelsDBF is a DBF JDBC type 4 driver that allows to perform SQL queries and other JDBC operations on DBF files. more>>
StelsDBF driver is completely platform-independent and does not require installing additional client or server software to provide access to DBF files. It can be effectively used to create, process and export DBF databases in your Java applications.
Main features:
- It supports most keywords of ANSI SQL92
- It supports inner and outer table joins
- It supports CREATE, INSERT, UPDATE and DELETE statements
- It supports transactions
- It supports aggregate, converting, string and user-defined SQL functions
- It is a platform independent
JdbcTool 1.0
JdbcTool project is a collection of command line utilities for making your life easy when working with Java JDBC databases. more>>
jdbctool:
An interactive command line tool for executing SQL statements.
jdbcdump:
Dump the contents of a database as SQL statements into a file, like mysqldump.
jdbcload
Execute SQL statements from a file (the opposite of jdbcdump)
Currently, only HSQLDB is supported.
SQLiteJDBC 034
SQLiteJDBC supports the most commonly used features of JDBC that can be efficiently implemented on top of SQLite. more>>
SQLiteJDBC supports the most commonly used features of JDBC that can be efficiently implemented on top of SQLite. Only a single native JNI library is required, and SQLite is compiled in.
Binaries are provided for Linux, Mac OS X, and Windows.
JDBCImporter 0.73
JDBCImporter provides a consistent mechanism for importing data from a file to a database. more>>
JDBCImporter API can run from the command line using an XML config file or from inside an Ant build script. It works with CSV, fixed data, and XML files and supports numbers, strings, and date/times as database column types.
Custom classes can be used to parse different file formats, format column values into different file formats, translate column values before importing or after exporting, or allocate or release JDBC connections.
Installation:
Below are the installation steps for installing JDBC Importer:
unzip the jdbcimporter.zip file
add jdbcimporter.jar and commons-logging.jar to the CLASSPATH.
For example: set CLASSPATH=%CLASSPATH%;INSTALL_DIRlibjdbcimporter.jar;INSTALL_DIRlibcommons-logging.jar
JDBC Importer
Basic Usage:
> java [options] net.sourceforge.jdbcimporter.Importer [plugin file]
where :
config file : the import config file
plugin file : the (optional) property file that describes the plugins available during the import
options : two system properties may be set (both are optional)
jdbcimporter.engine = The import engine to use
jdbcimporter.failonerror = Flag indicating that the import should end if an error occurrs
Enhancements:
- This release fixes a bug with CSV delimiter parser.
HDBC 1.0.1.2
HDBC is a Haskell Database Connectivity. more>>
HDBC provides an abstraction layer between Haskell programs and SQL relational databases. This lets you write database code once, in Haskell, and have it work with any number of backend SQL databases (MySQL, Oracle, PostgreSQL, ODBC-compliant databases, etc.)
HDBC is modeled loosely on Perls DBI interface http://search.cpan.org/~timb/DBI/DBI.pm, though it has also been influenced by Pythons DB-API v2, JDBC in Java, and HSQL in Haskell.
HDBC is a from-scratch effort. It is not a reimplementation of HSQL, though its purpose is the same.
db2dot 0.2.2
db2dot reverse engineers an existing database and produces an ER diagram in dot format. more>>
The dot file can be fed through graphvizs dot to produce a pretty ER diagram. The diagram includes tables and relationships derived from db meta-data and foreign key constraints.
What format is the output?
It generates a dot file which can be turned into a diagram with the graphviz utility.
What database servers will it work with?
It has only been tested with MySQLs JDBC driver, but it uses only
generic java.sql.* classes so it should work with any JDBC driver which is
sufficiently advanced.
What license is the code released under?
db2dot is released under the GPL v2.0 license.
How do I build the source?
Run: ant build jar
What are the command line arguments?
The command line arguments may be in any order, the following are required:
driver=< JDBCDriver class >
url=< db connection url >
user=< db user name >
pass=< db password >
The following are optional:
+showRelations
+showColumns
aSVERD Beta 2
aSVERD project is a Scalable Vector Graphics Entity Relationship Diagram generator. more>>
The motivation for creating this was than I have worked in many organisations that have databases with no ERDs and no tools for creating them. I finally got so fed up that I decided to do something about it and this is the result.
The way it is intended to work is that you point SVERD at your database and it creates an SVG file containing all tables and links between them. It DOES NOT attempt to create a fancy layout. it just puts the tables on the diagram in a grid. This can be viewed in a web browser (may need an SVG plug-in). You then use an SVG editor, such as GLIPSGraffiti to lay ou the tables. If you re-run SVERD on an exisitng output file it will not move the tables, therefore the diagram can be updated with out loosing your edits.
NOTE: the links between the tables are rendered using JavaScript, so that if you move the tables around in an editor, the links stay with them. The disadvantage of this is that the editor may not show the links while you are editing (this is the case with GLIPS).
If the table references are not defined in the database they can be supplied in a text file.
Usage
java -jar asverd.jar PropertiesFile
Or
java -jar asverd.jar -d driver -c connectionString -u user -p password [-o outputFile] [-q tableQuery] [-s schema] [-c catalog] [-r refs.txt]
e.g. sverd.TableLister -d com.mysql.jdbc.Driver -c jdbc:mysql://168.0.0.200:3306/DataBase1 -u fred -p secret
The properties file should contain
sverd.driver=databaseDriver
sverd.url=connectionString
sverd.user=username
sverd.password=password
sverd.outputFile=outputFile (optional - STDOUT used if not present)
sverd.tableQuery=query for table name - e.g. INV% (optional - all tables returned if not present)
sverd.schema=database schema (optional - leave out for DBs that do not use)
sverd.catalog=database catalog (optional - leave out for DBs that do not use)
sverd.references=refs.txt (optional - a file containing referecnes if these are not defined in the database. This file should be of the format TABLE [tablename] [foriegnKeyColName] REFERENCES [tablename] [primaryKeyColName] - I know flat text files are not trendy but this format is relatively easy to generate from either XML or SQL (via AWK, SED, PERL, etc)
Enhancements:
- This release fixes bugs with using the SVG in FireFox and adds JavaScript based zooming (click an entity to zoom). The jar contains source and class files
JDBC SQL Profiler 0.3
JDBC SQL Profiler is a Swing-based GUI tool to recommend database index creation. more>>
This small tool, released under an Apache-based license connects to the P6Spy JDBC logger and displays in real time the queries going to the database. It uses an integrated SQL parser to build statistics on the most accessed tables and columns and can generate SQL index creation files.
Other information is also gathered and displayed, such as the request time for a single request, for a class of request, and for all the requests. Sorting may be done on these views to detect database problems efficiently.
This tool can be very useful when you have a big volume of queries that you need to analyze not one by one (meaning that the specific time isnt that much of interest), but rather when you want to know what "group" of queries is taking a lot of time, such as queries on the same tables and columns but with different query values. The integrated SQL parser (built with ANTLR) is used to analyze the incoming SELECT queries.
The Swing GUI was based on Apaches Log4J Chainsaw, but all the bugs are mine. Also contributors are welcome to test, make new suggestions, give their opinion and submit patches.
jdbfviewer 0.6
jdbfviewer allows you to display dbf files in a JTable view (and optionally delete rows). more>>
This is work in progress, without progress.
I created the viewer to view lots of dbf-Files, and did not add any functionality you would probably expect, but which I didnt need.
Later I was asked to add an option to delete rows, which I only started to implement, but without the convenience to select a filename for example.
Another missing feature is, to change values of fields, but I guess its not too much work, to get it done.
lyteRAD CE 2.4
With lyteRAD you can build desktop & mobile database applications easily. Create, share and sell your own solutions. Contains an Embedded DB for maintenance free simplicity, use visualizers for better insights, and even choose industry standard database servers as the backend. more>>
lyteRAD CE - With lyteRAD you can build desktop & mobile database applications easily. Create, share and sell your own solutions. Contains an Embedded DB for maintenance free simplicity, use visualizers for better insights, and even choose industry standard database servers as the backend. Build complete business solutions with zero code, Mobilize your applications and take it with you, Use visualizers to get deeper insights into your information, Create graphs and charts with just a few clicks, Use industry standard JDBC compliant databases for higher robustness, Available for Windows & linux. Build share and sell your applications at your own terms.
Enhancements:
Version 2.4
Table templates,one click web service, MultiItem datatype, Enhanced application widgets, many bug fixes and enhancements.
Version 2.3
Derived Fields in Reports, Enhanced UI, Statistics module, Math Triggers
Version 2.2
Row Markers, More Powerful Reports, Application Store
Version 2.1
System Requirements:<<less
jTDS 1.2
jTDS is a JDBC 3.0 type 4 driver for Microsoft SQL Server and Sybase. more>>
jTDS is 100% JDBC 3.0 compatible, supporting forward-only and scrollable/updateable ResultSets, concurrent (completely independent) Statements and implementing all the DatabaseMetaData and ResultSetMetaData methods.
Quite a few of the commercial JDBC drivers out there are based on jTDS (or FreeTDS), even if they no longer acknowledge this.
jTDS has been tested with virtually all JDBC-based database management tools and is the driver of choice for most of these (recommended for DbVisualizer and SQuirreL SQL, distributed with Aqua Data Studio and DataDino).
jTDS is also becoming a common choice for enterprise-level applications: it passes both the J2EE 1.3 certification and Hibernate test suites, and is recommended for JBoss, Hibernate, Atlassian JIRA and Confluence and Compiere.
jTDS is free software. jTDS is released under the terms of the GNU LGPL, giving you not only the posibility to debug and tweak it to your own liking but also to use it in and distribute it with your free or commercial applications.
The other "free" choices, the JDBC-ODBC bridge and Microsofts own JDBC driver are not actually free. If you encounter an issue with any of them you wont be able to fix it yourself and response times from both Microsoft and Sun are anything but short. Also, both of them lack functionality (the Microsoft driver implements JDBC 2.0, while the bridge is just a JDBC 1.0 implementation) and have serious stability problems: the bridge crashes the JVM if the ODBC driver has any problem and Microsoft just has no intention of really supporting Java/JDBC.
jTDS is also the most performant JDBC driver for both SQL Server and Sybase. We have an older benchmark result but we strongly encourage you to download any benchmark published by commercial JDBC driver vendors and see for yourself. Here are a couple of benchmarks you could use: JNetDirects JDBC Performance Benchmark and i-net Softwares BenchTest 2.1 for MS SQL Server.
Anyway, just give it a spin.
Enhancements:
New features:
- Support for Sybase ASE 15
- Improved support for SQL Server 2005 varchar(max) and varbinary(max)
- Complete handling of cursor exceptions and downgrading
- Better handling of cancels and timeouts
- Configurable socket timeout
- Subclasses of basic JDBC types recognized as setObject() values
Major bug fixes (out of over 30 fixes):
- Statement pool memory leak
- Java 1.5 BigDecimal problems
- Possible synchronization problems
- setAutoCommit() behavior not according to specification
- getTimestamp() returns invalid value after calling getString()
- Cursor opens fails when cursor threshold -1
- iso_1 charset and Sybase
- "All pipe instances are busy" not handled properly
- SSL fails with SQL Server 2005
- Sybase: insert UTF8 string fails when length is 255