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.