Äîêóìåíò âçÿò èç êýøà ïîèñêîâîé ìàøèíû. Àäðåñ îðèãèíàëüíîãî äîêóìåíòà : http://xmm.vilspa.esa.es/calibration/ept/perlscripts/data_conv.pl
Äàòà èçìåíåíèÿ: Fri Aug 4 16:34:41 2006
Äàòà èíäåêñèðîâàíèÿ: Sun Apr 10 14:12:10 2016
Êîäèðîâêà:

Ïîèñêîâûå ñëîâà: universe
#!/usr/bin/perl

# Haut die Daten der alten in die Neue DB

use polilib;
print header();
print "Data Conv. from Old to New DB
";

#-----------------------------------------------------------

$MYSQL_DATABASE_OLD = "DBI:mysql:database=db85172522;host=localhost";
$MYSQL_DATABASE_NEW = "DBI:mysql:database=dl24;host=localhost";

$MYSQL_USERNAME = 'root';
$MYSQL_PASSWORD = '';

#-----------------------------------------------------------

print <














Krafstoff

Aufabu

Marken

Modelle

Linien

Restwert


Prototyp













HTML

#-----------------------------------------------------------

# Empty all Table from New DB
if (strparam('empty_table') ne '')
{
new_do_sql('delete from marken where 1=1');
new_do_sql('delete from linien where 1=1');
new_do_sql('delete from Modelle where 1=1');
new_do_sql('delete from restwertgruppen where 1=1');
new_do_sql('delete from aufbau where 1=1');
new_do_sql('delete from kraftstoff where 1=1');
new_do_sql('delete from prototypen where 1=1');

print "All Tables are empty

";
}


#-----------------------------------------------------------


$Restwert = strparam('restwert');
$Linien = strparam('linien');
$Modelle = strparam('modelle');
$Marken = strparam('marken');
$Krafstoff = strparam('krafstoff');
$Aufbau = strparam('aufbau');
$Prototyp = strparam('prototyp');


#-----------------------------------------------------------


my $sql;
my $c;

# -----------
# Aufbau
#------------
if ($Aufbau ne '') {
$c = 0;
my $res = old_searchMysql_Hash('select name from aufbau');
foreach (@$res) {
$sql = "insert into aufbau (name) values ('$_->{'name'}')";
new_do_sql($sql);
$c++;
#print $sql . "
";
}
print "
$c Aufbauten
";
}



# -----------
# Krafstoff
#------------
if ($Krafstoff ne '') {
$c = 0;
my $res = old_searchMysql_Hash('select name from kraftstoff');
foreach (@$res) {
$sql = "insert into kraftstoff (name) values ('$_->{'name'}')";
new_do_sql($sql);
$c++;
#print $sql . "
";
}
print "
$c Kraftstoff
";
}


# -----------
# Marken
#------------
$c = 0;
if ($Marken ne '') {
my $res = old_searchMysql_Hash('select name from marken');
foreach (@$res) {
$sql = "insert into marken (name) values ('$_->{'name'}')";
new_do_sql($sql);
$c++;
#print $sql . "
";
}
print "
$c Marken
";
}

# -----------
# Modelle
#------------
if ($Modelle ne '') {
$c = 0;
my $res = old_searchMysql_Hash('select bezeichnung, marke from modelle');
foreach (@$res) {

my $new_marke_id = get_new_marke_id($_->{'marke'});

if ($new_marke_id eq '') {
print "zu Modell: $_->{'bezeichnung'} wurde keine Marke gefunden: old_marke_id: $_->{'marke'}. Modell wird nicht Ýbernommen
";
next;
}
if ($_->{'bezeichnung'} eq '') {
print "zu Modell: $_->{'bezeichnung'} wurde keine Bezeichnung gefunden: old_marke_id: $_->{'marke'}. Modell wird nicht Ýbernommen
";
next;
}

#print "$_->{'marke'} --- $new_marke_id
";

$sql = "insert into modelle (marke_id,name) values ($new_marke_id,'$_->{'bezeichnung'}')";
new_do_sql($sql);
$c++;
#print $sql . "
";
}
print "
$c Modelle
";
}


# -----------
# Linie -> angebote.weitere_bez
#------------
if ($Linien ne '') {
$c = 0;
my $res = old_searchMysql_Hash('select marke, modell, weitere_bez from angebote');
foreach (@$res) {

my $new_marke_id = get_new_marke_id($_->{'marke'});
my $new_modell_id = get_new_modell_id($_->{'modell'});

if ($new_marke_id eq '') {
print "zu Linie: $_->{'weitere_bez'} wurde keine Marke gefunden: old_marke_id: $_->{'marke'}. Linie wird nicht Ýbernommen
";
next;
}
if ($new_modell_id eq '') {
print "zu Linie: $_->{'weitere_bez'} wurde keine Modell gefunden: old_modell_id: $_->{'modell'}. Linie wird nicht Ýbernommen
";
next;
}
if ($_->{'weitere_bez'} eq '') {
print "zu Linie: $_->{'bezeichnung'} wurde keine Bezeichnung gefunden: old_modell_id: $_->{'modell'}. Linie wird nicht Ýbernommen
";
next;
}

$sql = "insert into linien (modell_id, marke_id ,name) values ($new_modell_id, $new_marke_id,'$_->{'weitere_bez'}')";
new_do_sql($sql);
$c++;
#print $sql . "
";
}
print "
$c Linien
";
}


# -----------
# Restwert
#------------
if ($Restwert ne '') {
$c = 0;
my $res = old_searchMysql_Hash('select gruppe,zeit,leistung,restwert from restwerte');
foreach (@$res) {
$sql = "insert into restwertgruppen (gruppe,zeit,leistung,restwert) values ('$_->{'gruppe'}','$_->{'zeit'}','$_->{'leistung'}','$_->{'restwert'}')";
new_do_sql($sql);
$c++;
#print $sql . "
";
}
print "
$c Restwertgruppen
";
}



# -----------
# Prototyp
#------------
if ($Prototyp ne '') {
$c = 0;
my $res = old_searchMysql_Hash('select marke, modell, weitere_bez, rw_gruppe from angebote limit 5');
foreach (@$res) {

my $new_marke_id = get_new_marke_id($_->{'marke'});
my $new_modell_id = get_new_modell_id($_->{'modell'});
my $new_linie_id = get_new_linie_id_byString('$_->{weitere_bez}');

my $new_restwertgruppe = get_new_restwertgruppe('$_->{rw_gruppe}');

if ($new_marke_id eq '') {
print "zu Prototyp: Marke($_->{'marke'}), Modell($_->{'modell'}), : $_->{'weitere_bez'} wurde keine Marke gefunden: old_marke_id: $_->{'marke'}. Prototyp wird nicht Ýbernommen
";
next;
}
if ($new_modell_id eq '') {
print "zu Prototyp: Marke($_->{'marke'}), Modell($_->{'modell'}), : $_->{'weitere_bez'} wurde keine Modell gefunden: old_modell_id: $_->{'modell'}. Prototyp wird nicht Ýbernommen
";
next;
}
if ($new_linie_id eq '') {
print "zu Prototyp: Marke($_->{'marke'}), Modell($_->{'modell'}), : $_->{'weitere_bez'} wurde keine Modell gefunden: old_modell_id: $_->{'modell'}. Prototyp wird nicht Ýbernommen
";
next;
}



$sql = "insert into prototyp (modell_id, marke_id, linie_id, aufbau_id, motorisierung_id, krafstoff_id, restwergruppe_id ) values ($new_modell_id, $new_marke_id,$new_linie_id,999,999,999,$new_restwertgruppe)";
#new_do_sql($sql);
$c++;
print $sql . "
";
}
print "
$c Prototypen
";
}



exit;


# --------------------------------------------------------------------------
# --------------------------------------------------------------------------
# --------------------------------------------------------------------------

sub get_new_linie_id_byString
{
my $old_linie_string = shift;
my $new_linie_id = new_searchMysql_Hash("select linie_id from linie where name = '$old_linie_string'")->[0]->{linie_id};
return $old_linie_string;
}

sub get_new_marke_id
{
# in: old_marke_id
# out: new_marke_id

my $old_marke_id = shift;

my $name = old_searchMysql_Hash("select name from marken where id = $old_marke_id")->[0]->{name};

#$name eq '' and print "Error: zur alten marke_id: $old_marke_id keine Name gefunden
";

my $new_marke_id = new_searchMysql_Hash("select marke_id from marken where name = '$name'")->[0]->{marke_id};

#$new_marke_id eq '' and print "Error: zu $name keine Marke gefunden
";

return $new_marke_id;

}

sub get_new_modell_id
{
# in: old_modell_id
# out: new_modell_id

my $old_modell_id = shift;

my $name = old_searchMysql_Hash("select bezeichnung from modelle where id = $old_modell_id")->[0]->{bezeichnung};

my $new_modell_id = new_searchMysql_Hash("select modell_id from modelle where name = '$name'")->[0]->{modell_id};

return $new_modell_id;

}

sub get_new_restwertgruppe
{

my $old_restwertgruppe_id = shift;

#my $name = old_searchMysql_Hash("select bezeichnung from modelle where id = $old_modell_id")->[0]->{bezeichnung};
#my $new_modell_id = new_searchMysql_Hash("select modell_id from modelle where name = '$name'")->[0]->{modell_id};

return 1234;

}


sub old_searchMysql_Hash
{
# In: Sql-Statement ($sql)
# Out: - Ergebnis dieser Abfrage in /@result ( array von hashrefs)
# - globale Var. $INSGESAMT


my $sql = shift;
my @result = (); # pro Ergebnis ein hashref


# Anmelden am MySql Server
my $dbh = DBI->connect($MYSQL_DATABASE_OLD, $MYSQL_USERNAME, $MYSQL_PASSWORD,
{RaiseError => 0, PrintError => 0 })
or MysqlError("Couldn't connect to Database");

my $sth = $dbh->prepare($sql)
or MysqlError("Couldn't prepare Statement");

$sth->execute()
or MysqlError("Couldn't execute");

$INSGESAMT = 0;
while (my $href = $sth->fetchrow_hashref())
{
$result[$INSGESAMT] = $href;
$INSGESAMT++;
}


$DBI::err == 0
or MysqlError("Error on loading Data");
$sth->finish()
or MysqlError("Couldn't finish Statement");
$dbh->disconnect()
or MysqlError("Couldn't disconnect from Database");
return \@result;
}

sub new_searchMysql_Hash
{
# In: Sql-Statement ($sql)
# Out: - Ergebnis dieser Abfrage in /@result ( array von hashrefs)
# - globale Var. $INSGESAMT


my $sql = shift;
my @result = (); # pro Ergebnis ein hashref


# Anmelden am MySql Server
my $dbh = DBI->connect($MYSQL_DATABASE_NEW, $MYSQL_USERNAME, $MYSQL_PASSWORD,
{RaiseError => 0, PrintError => 0 })
or MysqlError("Couldn't connect to Database");

my $sth = $dbh->prepare($sql)
or MysqlError("Couldn't prepare Statement");

$sth->execute()
or MysqlError("Couldn't execute");

$INSGESAMT = 0;
while (my $href = $sth->fetchrow_hashref())
{
$result[$INSGESAMT] = $href;
$INSGESAMT++;
}


$DBI::err == 0
or MysqlError("Error on loading Data");
$sth->finish()
or MysqlError("Couldn't finish Statement");
$dbh->disconnect()
or MysqlError("Couldn't disconnect from Database");
return \@result;
}

sub _MysqlError
{
my $text = shift;
print "\n $text --> \n\n Error: $DBI::err ($DBI::errstr)\n\n";
end_html();
}

sub new_do_sql
{
# FÝhrt SQl-Statement aus, das kein RÝckgabewert hat

# In : Sql Statenment
# Out: LAST_INSERT_ID

my $sql = shift;

if ($sql eq '' ){
Error("Kein SQL Befehl");
}
my $dbh = DBI->connect($MYSQL_DATABASE_NEW, $MYSQL_USERNAME, $MYSQL_PASSWORD,
{RaiseError => 0, PrintError => 0 })
or MysqlError("Couldn't connect to Database");
my $sth = $dbh->prepare($sql)
or MysqlError("Couldn't prepare Statement");
$sth->execute()
or MysqlError("Couldn't execute");

my $LAST_INSERT_ID = $dbh->{'mysql_insertid'};

$DBI::err == 0
or MysqlError("Error on loading Data");
$sth->finish()
or MysqlError("Couldn't finish Statement");
$dbh->disconnect()
or MysqlError("Couldn't disconnect from Database");

return $LAST_INSERT_ID;

}#-----------------------------------------------------------