sql::translator::parser::xsv(3pm) [debian man page]
SQL::Translator::Parser::xSV(3pm) User Contributed Perl Documentation SQL::Translator::Parser::xSV(3pm)NAME
SQL::Translator::Parser::xSV - parser for arbitrarily delimited text files
SYNOPSIS
use SQL::Translator;
use SQL::Translator::Parser::xSV;
my $translator = SQL::Translator->new(
parser => 'xSV',
parser_args => { field_separator => " " },
);
DESCRIPTION
Parses arbitrarily delimited text files. See the Text::RecordParser manpage for arguments on how to parse the file (e.g.,
"field_separator", "record_separator"). Other arguments include:
OPTIONS
o scan_fields
Indicates that the columns should be scanned to determine data types and field sizes. True by default.
o trim_fields
A shortcut to sending filters to Text::RecordParser, will create callbacks that trim leading and trailing spaces from fields and
headers. True by default.
Field names will automatically be normalized by "SQL::Translator::Utils::normalize_name".
AUTHORS
Darren Chamberlain <darren@cpan.org>, Ken Y. Clark <kclark@cpan.org>.
SEE ALSO
Text::RecordParser, SQL::Translator.
perl v5.14.2 2012-01-18 SQL::Translator::Parser::xSV(3pm)
Check Out this Related Man Page
SQL::Translator::Parser::DBI(3pm) User Contributed Perl Documentation SQL::Translator::Parser::DBI(3pm)NAME
SQL::Translator::Parser::DBI - "parser" for DBI handles
SYNOPSIS
use DBI;
use SQL::Translator;
my $dbh = DBI->connect('dsn', 'user', 'pass',
{
RaiseError => 1,
FetchHashKeyName => 'NAME_lc',
}
);
my $translator = SQL::Translator->new(
parser => 'DBI',
dbh => $dbh,
);
Or:
use SQL::Translator;
my $translator = SQL::Translator->new(
parser => 'DBI',
parser_args => {
dsn => 'dbi:mysql:FOO',
db_user => 'guest',
db_password => 'password',
}
);
DESCRIPTION
This parser accepts an open database handle (or the arguments to create one) and queries the database directly for the information.
The following are acceptable arguments:
o dbh
An open DBI database handle. NB: Be sure to create the database with the "FetchHashKeyName => 'NAME_lc'" option as all the DBI
parsers expect lowercased column names.
o dsn
The DSN to use for connecting to a database.
o db_user
The user name to use for connecting to a database.
o db_password
The password to use for connecting to a database.
There is no need to specify which type of database you are querying as this is determined automatically by inspecting
$dbh->{'Driver'}{'Name'}. If a parser exists for your database, it will be used automatically; if not, the code will fail automatically
(and you can write the parser and contribute it to the project!).
Currently parsers exist for the following databases:
o MySQL
o SQLite
o Sybase
o PostgreSQL (still experimental)
Most of these parsers are able to query the database directly for the structure rather than parsing a text file. For large schemas, this
is probably orders of magnitude faster than traditional parsing (which uses Parse::RecDescent, an amazing module but really quite slow).
Though no Oracle parser currently exists, it would be fairly easy to query an Oracle database directly by using DDL::Oracle to generate a
DDL for the schema and then using the normal Oracle parser on this. Perhaps future versions of SQL::Translator will include the ability to
query Oracle directly and skip the parsing of a text file, too.
AUTHOR
Ken Y. Clark <kclark@cpan.org>.
SEE ALSO
DBI, SQL::Translator.
perl v5.14.2 2012-05-01 SQL::Translator::Parser::DBI(3pm)