NAME
Dimedis::Sql - Database Independent SQL Layer
DESCRIPTION
This module allows to create database independent applications
with Perl, not only on the data transport layer, as provided by
DBI, but also on the SQL layer. It defines methods for SQL
operations, for which the different RDBMS are not compatible
with their SQL language.
Dimedis::Sql can interact with Dimedis::Ddl, which generates
DDL code to create database objects in a database independent
manner. Refer to the correspondent manpage for details.
Dimedis::Sql currently supports the following RDBMS:
* Oracle
* MySQL (>= 4.0.13)
* Microsoft MS-SQL
* Sybase SQL Anywhere
* Sybase Adaptive Server
* Informix
* PostgreSQL
Support for other RDBMS can be added easily by implementing
corresponding Dimedis::SqlDriver:: modules.
SYNOPSIS
use Dimedis::Sql;
# Construction and initialization
my $sqlh = new Dimedis::Sql ( ... );
$sqlh->install ( ... );
# Basic I/O operations
my $seq_id = $sqlh->insert ( ... ); # also blob insertion
my $modified = $sqlh->update ( ... ); # also blob updates
my $blob_sref = $sqlh->blob_read ( ... );
# Handle different database schemas on one DBI connection
$sqlh->use_db ( ...)
my $db_prefix = $sqlh->db_prefix ( ...)
# Handy methods for arbitrary SQL execution
my $modified = $sqlh->do ( ... );
my $href = $sqlh->get ( ... );
my @row = $sqlh->get ( ... );
# Create database specific code for specific operations
my ($from, $where) = $sqlh->outer_join ( ... );
my $cond = $sqlh->cmpi ( ... );
my $where = $sqlh->contains ( ... );
# Get compatibility flags of the current connected
# database system
my $feature_href = $sqlh->get_features;
Additionally two programs for database independent export and
import are shipped with Dimedis::Sql:
dsql_import
dsql_export
INSTALLING Dimedis::Sql
perl Makefile.PL
make
make test
make install
DOCUMENTATION
Currently the documentation of this module is available in
German only. There are several manpages:
Dimedis::Sql
The Dimedis::Sql API itself, and how you use it from
within your programs.
dsql_export
dsql_import
The export/import programs provide their own manpages.
NOTE
The module name Dimedis::Sql is subject to change, because
having the company's name in the module's namespace isn't
a good idea for publically available modules. Namespace
suggestions are welcome, please send them to the author.
AUTHOR
Joern Reder <joern AT dimedis.de>
COPYRIGHT
Copyright (C) 1999-2003 by dimedis GmbH, 50672 Koeln, Germany
All Rights Reserved.
This library is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
SEE ALSO
DBI, Dimedis::Ddl