したがって、私は Perl も SQLite も初めてです。SQL の経験はありますが、この新しい Perl 構文には少し戸惑っています。
そのため、Perl スクリプトを使用して IPtable ログから DB を作成して、テーブルにあるデータを解析し、人々に通知を送信しようとしているという問題があります。このスクリプトはユーザーに通知も送信しますが、それがこの問題と関係があるとは思えません。
これは私が受け取っているエラーです。
DBD::SQLite::db の準備に失敗しました: そのようなテーブルはありません: ./send_notification_syslog.pl 行 251 の syslog_decom_notif。
以下は、エラーを受け取っているコードです。
2 sub select_contacts {
233 my @contact_info;
234 my $dbh = DBI->connect( DECOM_NOTIFICATION_DB ,"","");
235
236 my ( $where_clause, @exec_params ) = build_where_clause();
237
238 my $SQL = <<SQL;
239 select
240 contact
241 , status
242 , contact_mngr
243 , hostname
244 , contact_type
245 , syslog_server
246 from
247 syslog_decom_notif
248 $where_clause
249 SQL
250 debug ( __LINE__ . " Excuting SQL = \n[ $SQL ]\n" );
251 my $sth = $dbh->prepare( $SQL );
252 $sth->execute( @exec_params );
253 if ( $debug_mode ) {
254 my @cols = @{$sth->{NAME}};
255 print join '|', @cols;
256 print "\n";
257 }
258 while (my @res = $sth->fetchrow) {
259 for ( my $i=0; $i<@res; $i++ ) { $res[$i] = 'Null' if ! defined $res[$i]; }
260 my $row = join '|', @res;
261 debug "$row\n";
262 push @contact_info, $row;
263 }
264 $sth->finish();
265 return @contact_info;
266 }
私は周りを検索しましたが、この問題に本当に役立つものを見つけることができないようです.
ありとあらゆるアイデアに感謝します。
よろしくお願いします