
Rubyでパケットの情報をDBに入れるプログラムを動かしております。
以下のサイトにあるプログラムを実行しました。
http://www.db.is.kyushu-u.ac.jp/rinkou/libpcap/r …
エラーメッセージで、以下のように出力されました。
$ sudo ruby packet.rb
drop table tcppackets...
define table tcppackets...
/var/lib/gems/1.8/gems/sqlite3-ruby-1.3.1/lib/sqlite3/database.rb:85:in `initialize': table tcppackets already exists (SQLite3::SQLException)
from /var/lib/gems/1.8/gems/sqlite3-ruby-1.3.1/lib/sqlite3/database.rb:85:in `new'
from /var/lib/gems/1.8/gems/sqlite3-ruby-1.3.1/lib/sqlite3/database.rb:85:in `prepare'
from /var/lib/gems/1.8/gems/sqlite3-ruby-1.3.1/lib/sqlite3/database.rb:220:in `execute_batch'
from packet.rb:51
どうしたら良いか教えて頂けないでしょうか。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
table tcppackets already existsとなっていますので、
同じテーブルを再定義しようとしてエラーが発生しているように思われます。
テーブル作成は初回だけ行えばいいので、CREATE TABLEを消して
再度実行されてみてはいかがでしょうか?
(SQLを作成している部分のコードをよく読まれることをお勧めします。)
この回答への補足
回答ありがとうございます。
CreateTableのところをコメントアウトして実行したところ、以下のように出力されました。
実際に読み込んでいるpcapファイルの読み込みに失敗して、nilが返されたという理解でいいのでしょうか?pcapファイルの不備ですかね。Wiresharkではパケットがきちんと見ることが出来ます。
$ sudo ruby packet.rb
drop table tcppackets...
insert values...
packet.rb:59 is calling SQLite3::Database#execute with nil or multiple bind params
without using an array. Please switch to passing bind parameters as an array.
/var/lib/gems/1.8/gems/sqlite3-ruby-1.3.1/lib/sqlite3/database.rb:85:in `initialize': no such table: udppackets (SQLite3::SQLException)
from /var/lib/gems/1.8/gems/sqlite3-ruby-1.3.1/lib/sqlite3/database.rb:85:in `new'
from /var/lib/gems/1.8/gems/sqlite3-ruby-1.3.1/lib/sqlite3/database.rb:85:in `prepare'
from /var/lib/gems/1.8/gems/sqlite3-ruby-1.3.1/lib/sqlite3/database.rb:127:in `execute'
from packet.rb:59
from packet.rb:54:in `loop'
from packet.rb:54
>nekomikekamoさん
問題解決しました。
恥ずかしいことに、プログラムの転送モードをバイナリーにしており文字化けした改行コードが入っていました。Asciで転送したらうまくいきました。
コメントありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSSのhtmlへの紐付けについ...
-
1、Rstudioで回帰直線を求める...
-
パソコンのスクリーンセーバー...
-
(再質問)エクセルのマクロボ...
-
Ruby require ライブラリー
-
ビーリアルのユーザー名を変え...
-
英数字を含む文字列(0-9,A-Z)...
-
100万件越えCSVから条件を満た...
-
C言語の入力した文字を反転させ...
-
pandasでsqlite3にテーブル作成...
-
Ruby on railsをrails sで立ち...
-
Accessで文字列のバイト数読み込み
-
ruby OpenURI::Meta
-
ルビー言語 ライブラリー
-
Ruby 変数 用途と違い
-
WinSCPで画像のように puttyを...
-
教えてください
-
プログラミングについてです。...
-
pythonエラー
-
VBScriptでExcel(2019)上のデー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エラーが起こる理由を教えてい...
-
rubyでパケットキャプチャ出来...
-
ruby.exeとrubyw.exeに違いがあ..
-
RubyでMySQLを使いたいけど。
-
小文字wと大文字Wの区別
-
ruby on railsインストールでエ...
-
プログラミング言語で大文字と...
-
COBOLのIFの入れ子について
-
VB.NETで階乗を求めるプログラ...
-
web上のhtmlファイルから文字デ...
-
画像をページ右側に並べる方法...
-
Xcodeでランダム整数
-
RubyでNo such file or directo...
-
Pro*CとCの間|変数の有効範囲
-
プログラミング講師はまだ需要...
-
rubyプログラムからrubyプログ...
-
ruby の File.exist? メソッド...
-
たびたびすいません。VBAです。
-
Ruby / passenger のインストー...
-
GoTo文について
おすすめ情報