Thread Datei von einem Array in die Datenbank einlegen: DAtenbank (5 answers)
Opened by nour at 2007-03-07 12:42

nour
 2007-03-07 13:31
#35323 #35323
User since
2006-11-15
108 Artikel
BenutzerIn
[default_avatar]
Hallo ,

Ist besser wenn ich schreibe den ganzen Code Komplett:
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
use strict;
use warnings;
use DBI;
use Net::Telnet::Cisco;
use Digest::MD5;
our $dbh;

open(DAT, '<','../gate_common/MySQLAccount.txt') or  die"Could not open SQL-Data-file!";
$raw_data=<DAT>;
close(DAT);
chomp $raw_data;

my  ($host,$user,$pass,$db) = split(/:/, $raw_data);
print "host ".$host."\n"."user ".$user."\n"."pass ".$pass."\n"."db   ".$db."\n";

$dbh = DBI->connect("DBI:mysql:".$db.":".$host,$user,$pass) or die "Connect Error: $DBI::errstr()\n";

my @Routerlist =(
 
[ qw/1  router3 10.100.2.99  admin router/ ],
 
[ qw/2  router9 10.100.2.105 admin router/ ],
);
for my $cisco ( @ciscolist ) {
 get_Router( @{ $cisco } );

}

$dbh->disconnect;

sub get_Router
{

my ($neid,$name,$ip,$user,$pwd) = @_;

my ($query,$sth,$sth1,$execu,$newdata,$ds, $datarefid);

if (!$loggedin)
    {
    eval
    {
     print "$stext:Try connecting via telnet...\n";
     $session = Net::Telnet::Cisco->new(-Timeout => 10);
     $session->open($ip);
     $session->login($user,$pwd);
     $loggedin=1;
    };
     if ($@) # Ist ein Fehler aufgetreten
     {
     $session->close;
   
     print "Router nicht erreichbar/kann nicht einloggen \n";
 
$query="SELECT ID, ASTATE, RefID FROM STATE WHERE NEID='$neid' ORDER BY  DESC LIMIT 1";
            $sth = $dbh->prepare($query) or die "Querry Error prepare: $DBI::errstr\n";
            $sth->execute or die "Querry Error execute: $DBI::errstr\n";
       if ($Astate )

    {$sth->finish;

 
        $loggedin=0;
}

if ($loggedin)
{

$query="INSERT INTO DATEN(ID,Type,Name,Address,Referenz,Data_RefIerenz,User_ID) VALUES ('',2,'','$ip',$neid,0,0)";
                $sth = $dbh->prepare($query) or die "Querry Error prepare: $DBI::errstr\n";
                $ds = $sth->execute or die "Querry Error execute: $DBI::errstr\n";
                $datarefid = $dbh->{'mysql_insertid'};
                $sth->finish();





}

Mit der Lösung von Renne Bekomme ich ein fehler in der Folgende Zeile : """if ($@) # Ist ein Fehler aufgetreten ""

------> ein fehler beim connection war
und die fehller in meinem COde HAbe ich genau bekommen nach der Neue Lösung von " RENEE".

Kann mich jemand helfen ob das fehler an Folgendes liegt:
"my ($neid,$name,$ip,$user,$pwd) = @_;"



Danke

View full thread Datei von einem Array in die Datenbank einlegen: DAtenbank