Thread Einträge in SQL Datenbank: Testdatei in SQL DB einlesen und aktuali (5 answers)
Opened by Gast at 2006-12-20 13:03

Gast Gast
 2006-12-20 13:03
#35014 #35014
Hallo,
bin der absolute Perl-Einsteiger.
Ich versuche Dateien aus einer Textdatei in eine SQL-Datenbank über ODBC einzulesen. Das klappt jetzt auch schon und die Datenbank wird gefüllt.

Mein Problem ist jetzt, wie kann ich die Daten aktualisieren, wenn sich täglich die Textdateiinhalte teilweise ändern/erneuern.

Ich müsste irgendwie den Inhalt der Datenbank mit dem Inhalt der Textdatei vergleichen und wenn die Einträge neuer sind, dann in der SQL-Datenbank überschreiben.

Kann mir da jemand helfen?

Anbei mal das Skript:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!perl
#Datenimport Etikett von PPS ----> Etikett SQL DB
#use strict;
use Win32;
use Win32::ODBC;

my $db =new Win32::ODBC("dsn=Etikett") or die "Fehler1: $!\n";
print qq|eingelesen1\n|;

my $file = qq|t:/wip-etti.prn|;

open LESEN, "$file" or die "Fehler2: $!\n";
@lines = <LESEN>;
close(LESEN);
print qq|eingelesen\n|;
foreach (@lines) {
print qq|$_\n|;
chomp($_;
my $Auftrag = substr($_,119,16);
my $Artikel = substr($_,23,10);
my $Typ = substr($_,41,24);
my $Stueck = substr($_,66,10);
# (my $Auftrag,my $Artikel,my $Typ,my $Stueck) = split(/\|/,$_;
print qq|$Auftrag,\t$Artikel,\t$Typ,\t$Stueck\n|;
$statement = "INSERT INTO Etikett (Auftrag,Artikel,Typ,Stueck) VALUES('$Auftrag', '$Artikel', '$Typ', '$Stueck'";
$db->Sql("$statement");

}
$db->Close();
\n\n

<!--EDIT|renee|1166630272-->

View full thread Einträge in SQL Datenbank: Testdatei in SQL DB einlesen und aktuali