blx::xsdsql
==========================
The README is used to introduce the module and provide instructions on
how to install the module, any machine dependencies it may have (for
example C compilers and installed libraries) and any other information
that should be provided before the module is installed.
A README file is required for CPAN modules since CPAN extracts the
README file from a module distribution so that people browsing the
archive can use it get an idea of the modules uses. It is usually a
good idea to provide version information here so that people can
decide whether fixes for the module are worth downloading.
INSTALLATION
To install this module type the following:
perl Makefile.PL [PREFIX=
]
make
make test
make install
DEPENDENCIES
This module requires these other perl modules and external programs
XML::Parser => '1.21'
XML::Writer => '0.600'
DBI => '1.58'
Carp::Assert => '0.20'
Attribute::Constant => '0.06'
DBD::DBM => '0.06' (if it's use DBM or run the test suite with default database)
MLDBM => '2.05' (if it's use DBM or run the test suite with default database)
SQL::Statement => '1.33' (if it's use DBM or run the test suite with default database)
DBD::mysql => '4.0.20' (if it's use mysql)
DBD::Oracle => '1.44' (if it's use oracle)
DBD::Pg => '2.19.0' (if it's use postgresql)
xmllint if run the testsuite
xmldiff if run the testsuite
The database supported is oracle,postgresql,mysql and DBM
Other databases is possible in future versions
The minimum perl version supported is 5.10
After the installation the directory $PREFIX/bin contain the programs:
xml_repo.pl for manage repository,schemas and xml
xsd2sql.pl - for drop or construct repository and schema catalog manually
this program produce a sql files to run with the appropriate database client
or alternatively with the isql.pl in tools directory
Test with other databases:
if you want a complete tests with one or more databases the steps are:
install the DBD driver of the appropriate database
set the enviroment variable XSDSQL_ with ::= DBM|ORA|PG|MYSQL and export it
exec testall.pl in t directory
this examples are for the bash shell:
postgres: export XSDSQL_PG='sql::pg:myuser/mypwd@mydb:127.0.0.1:5432;RaiseError => 1,AutoCommit => 0,pg_enable_utf8 => 1'
mysql: export XSDSQL_MYSQL='sql::mysql:myuser/mypwd@mydb:127.0.0.1:3306;RaiseError => 1,AutoCommit => 0,mysql_enable_utf8 => 1'
dbm: export XSDSQL_DBM='sql::DBM:dbm_mldbm=Storable;RaiseError => 1,f_dir=> q(/tmp)'
oracle: export XSDSQL_ORA='sql::oracle:myuser/mypwd@orcl:127.0.0.1:1522;RaiseError => 1,AutoCommit => 0'
export NLS_LANG='AMERICAN_AMERICA.AL32UTF8' # set the utf8 on the client
WARNING: the databases must support utf8
The format of connection string is:
[::]:/@[:hostname[:port]][;[,...]]
::= sql (this is the default)
::= pg|mysql|oracle|DBM
::= username
::= password
::= database name
:: socket remote hostname or ipaddress - the default is 127.0.0.1
:: socket remote port - the default is the database port default
:: extra attribute - see the manual of DBI, section connect
example of run in bash shell:
cd t && ./testall.pl > logfile.log 2>&1
COPYRIGHT AND LICENCE
Copyright (C) 2010 by lorenzo bellotti
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.10.1 or,
at your option, any later version of Perl 5 you may have available.