Wie CSV importieren und DBM erzeugen?
Wie CSV importieren und DBM erzeugen?
am 13.08.2006 21:38:27 von Christian Schmidt
Hallo miteinander,
ich bin auf der Suche nach Mitteln und Wegen, um den vorhandenen
CSV-Export einer bestehenden DBM-Datenbank auf einem anderen System
wieder in "DBM-Form" bringen zu lassen.
Meine Kenntnisse in Perl sind leider sehr begrenzt, und irgendwie
wollen mir fuer Google heute nicht die richtigen Suchbegriffe
einfallen. :-(
Falls jemand Hinweise auf lesenswerte Manuals, Webseiten etc. hat,
waere ich dankbar fuer ein kurzes Posting.
Gruss & schoenen Restsonntag,
Christian
--
Christian Schmidt | Germany | ChriSchmiLi@gmx.de
No HTML Mails, please!!
De eene hett 'n Rittergut, de annere ritt 'n Gitter rut.
Re: Wie CSV importieren und DBM erzeugen?
am 13.08.2006 22:06:17 von Johannes Plunien
Hallo Christian,
> ich bin auf der Suche nach Mitteln und Wegen, um den vorhandenen
> CSV-Export einer bestehenden DBM-Datenbank auf einem anderen System
> wieder in "DBM-Form" bringen zu lassen.
vielleicht hilft dir das ja weiter:
http://search.cpan.org/author/TIMB/DBI-1.52/DBI.pm
http://search.cpan.org/author/JZUCKER/DBD-CSV-0.22/lib/DBD/C SV.pm
http://search.cpan.org/author/TIMB/DBI-1.52/lib/DBD/DBM.pm
--
Johannes Plunien | mailto:plu@pqpq.de | http://www.pqpq.de
Re: Wie CSV importieren und DBM erzeugen?
am 14.08.2006 12:17:18 von Christian Schmidt
Hallo Johannes,
Johannes Plunien schrieb/wrote:
>> ich bin auf der Suche nach Mitteln und Wegen, um den vorhandenen
>> CSV-Export einer bestehenden DBM-Datenbank auf einem anderen System
>> wieder in "DBM-Form" bringen zu lassen.
>
> vielleicht hilft dir das ja weiter:
>
> http://search.cpan.org/author/TIMB/DBI-1.52/DBI.pm
> http://search.cpan.org/author/JZUCKER/DBD-CSV-0.22/lib/DBD/C SV.pm
> http://search.cpan.org/author/TIMB/DBI-1.52/lib/DBD/DBM.pm
Da muss ich mich dann wohl mal durchkaempfen...
Gruss & Dank,
Christian
--
Christian Schmidt | Germany | ChriSchmiLi@gmx.de
No HTML Mails, please!!
De eene hett 'n Rittergut, de annere ritt 'n Gitter rut.
Re: Wie CSV importieren und DBM erzeugen?
am 16.08.2006 23:48:02 von Slaven Rezic
Christian Schmidt writes:
> Hallo miteinander,
>
> ich bin auf der Suche nach Mitteln und Wegen, um den vorhandenen
> CSV-Export einer bestehenden DBM-Datenbank auf einem anderen System
> wieder in "DBM-Form" bringen zu lassen.
>
> Meine Kenntnisse in Perl sind leider sehr begrenzt, und irgendwie
> wollen mir fuer Google heute nicht die richtigen Suchbegriffe
> einfallen. :-(
>
> Falls jemand Hinweise auf lesenswerte Manuals, Webseiten etc. hat,
> waere ich dankbar fuer ein kurzes Posting.
>
perldoc -f tie
perldoc perltie
perldoc NDBM_File
Muss der Datentransfer unbedingt über CSV passieren? Ansonsten
könntest du Storable oder Data::Dumper verwenden.
Gruß,
Slaven
--
Slaven Rezic - slaven rezic de
sf-upload: make batch releases on SourceForge
http://sf-upload.sf.net
[Solved] Wie CSV importieren und DBM erzeugen?
am 17.08.2006 16:01:35 von Christian Schmidt
Hallo Slaven, hallo Rest,
Slaven Rezic schrieb/wrote:
> Christian Schmidt writes:
>
> perldoc -f tie
> perldoc perltie
> perldoc NDBM_File
>
> Muss der Datentransfer unbedingt über CSV passieren?
Nein, es steht auch ein "normaler" aka zeilenweiser Dump zur
Verfuegung.
Ein Bekannter hat jetzt innerhalb von wenigen Minuten ein Skript
zusammengehaemmert, das uns den zeilenweisen Dump wieder "in DBM" ueberfuehrt.
Ich frage ihn mal, ob ich es hier posten darf.
Gruss,
Christian
--
Christian Schmidt | Germany | ChriSchmiLi@gmx.de
No HTML Mails, please!!
De eene hett 'n Rittergut, de annere ritt 'n Gitter rut.
Re: [Solved] Wie CSV importieren und DBM erzeugen?
am 19.08.2006 14:51:36 von Christian Schmidt
Christian Schmidt schrieb/wrote:
> Ein Bekannter hat jetzt innerhalb von wenigen Minuten ein Skript
> zusammengehaemmert, das uns den zeilenweisen Dump wieder "in DBM" ueberfuehrt.
>
> Ich frage ihn mal, ob ich es hier posten darf.
Positiv. ;-)
Folgendes Skript hat uns als catdbm.pl sehr geholfen, und ich moechte
mich nochmals ganz doll bei Thomas bedanken!!
---- schnipp ----
#!/usr/bin/perl
#
# dbmcat - dumps a DBM (.pag & .dir) database.
# Provide file name without extension on the command line.
#
# Copyright (C) 2006 Thomas Jahns
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
#
use strict;
use warnings;
#use lib "/usr/lib/perl/5.8.4";
#use SDBM_File;
unless(@ARGV == 2)
{
print(STDERR 'Usage: catdbm.pl CATINFILE DBMOUTFILE', "\n");
die;
}
my ($catfile, $dbmfile)=@ARGV[0..1];
my %DB;
dbmopen(%DB, $dbmfile, 0644) || die "$0: $catfile $dbmfile: ";
open(CATFILE, '<', $catfile)
or die('Could not open cat file for reading');
{
local $_;
my $state='EXPECTKEY'; # one of EXPECTKEY, READVAL
my ($key, $value);
while()
{
if($state eq 'EXPECTKEY')
{
chomp($_);
$key = $_;
$_ = ;
die('Unexpected error when reading separator') if(!defined($_) or !$_);
die('Missing separator after key ', $key) unless(/^\#$/);
$state = 'READVAL';
$value = '';
}
elsif($state eq 'READVAL')
{
if($_ =~ /^#$/)
{
# end of value record encountered, read next (empty) line
$_ = ;
chomp($_);
die('non-empty line after value separator') unless(/^$/);
if($key !~ /^(?:\d{1,3}\.){3}\d{1,3}$/)
{
die('Invalid key: ', $key, ' for entry ',
$value);
}
$DB{$key} = $value;
$state = 'EXPECTKEY';
}
# append any line not equaling '#' to $value
$value .= $_;
}
}
}
#while (($key,$val) = each %DB) { print "$key\n#\n$val#\n\n"; }
dbmclose(%DB);
---- schnapp ----
Gruss,
Christian
--
Christian Schmidt | Germany | ChriSchmiLi@gmx.de
No HTML Mails, please!!
De eene hett 'n Rittergut, de annere ritt 'n Gitter rut.