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:47
#35325 #35325
User since
2006-11-15
108 Artikel
BenutzerIn
[default_avatar]
Hallo,

rotzdem habe ich geschrieben :

und er liefert mir dieses Fehler auf die COnsole:

Code: (dl )
1
2
3
4
5
6
router3-2926:Try connecting via telnet...
Router  nicht erreichbar/kann nicht einloggen
Can't call method "prepare" on an undefined value at ./test.pl line 109.
Line 109:
ist damit folgendes gemeint:
"$sth = $dbh->prepare($query) or die "Querry Error prepare: $DBI::errstr\n";"


der problem Dass mein Programmt wird an den Zeile "print "Router nicht erreichbar/kann nicht einloggen \n";"Stoppt und macht nicht weiter!

Woran das liegt Habe ich keine ahnung!





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
Hier ist noch mal mein Code Ohne " RENNE" Lösung

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=shift;
my $machine=shift;
 my $ip=shift;
 my $user=shift;
 my $pwd=shift;

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();





}



Danke

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