-PR-
締切済み

DBMの容量制限

  • 困ってます
  • 質問No.74638
  • 閲覧数279
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 69% (29/42)

DBモジュールを使ってちょっとしたDBを作ってるんですが、容量制限
らしきものでひっかかってます。そう、1024byteの壁です。これを越えると
sdbm store returned -1, errno 22, key "0012018" at ./hoehoe.pl line ~.
と叱られてしまうのです。

他にもODBMはもちろんのこと、NDBMも試しましたが結果は同じです。
容量制限のない GDBM、DB_Fileは大丈夫でした。
しかし SDBM、NDBMは 4096byteまで大丈夫だったはず。なにか別の方法が
あるのでしょうか?

今回の試しに以下のものを書いてみました。「3000」を「1000」くらいに
すると通ります。DB_File、GDBMでは「3000」でも大丈夫です。

----------------------------------------
use Config;
use Fcntl;
use SDBM_File;

$flags = O_CREAT|O_RDWR|&BINARY;
tie( %HOE, 'SDBM_File', 'hoe', $flags, 0666 ) || die "Can't open DB";
$uiui .= 'UIUI' while( 3000 > length( $uiui ));
$HOE{'key'} = $uiui;
untie( %HOE );
print "ok\n";
exit;

sub BINARY{
return O_BINARY if( $Config{osname} =~ /^(MS)?Win/ );
}
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全2件)

  • 回答No.1
レベル10

ベストアンサー率 64% (73/113)

perldoc AnyDBM_Fileでも、5.6.0で配布されているソース見ても、
制限は1024でしたよ。4096はdirの方ではないですか。
補足コメント
dany

お礼率 69% (29/42)

http://www.din.or.jp/~abe/Perl5Man/AnyDBMFile.3pm.html
これによるとSDBMにはデフォルト「1k」で再定義可能
のようですね。といってもプロバイダなのでroot権限もって
ないからどうしようもないのですが。^^;

しかしNDBMは「4k」とあるのですが、これは1レコードのサイズ
とは違うのでしょうか? NDBMでもうまくいかないのです。
投稿日時 - 2001-05-12 22:22:50


  • 回答No.2
レベル10

ベストアンサー率 64% (73/113)

ああ、SDBMだけじゃなくてNDBMにも制限が1kだけど?という質問
だったんですね。失礼しました。

私の使ってるOSはNDBMをGDBMでエミュレーションしてしまうので、
制限無しでした。

http://www.wwnet.net/~janc/incnote/dbm.html などのNDBMの項を見ると

> However, there is still a limit on the total size of the key/content pairs that can be stored
(this ranges from 1018 bytes to 4096 bytes).

とあるのでこれによると必ずしも4Kと限っているわけじゃなさそうです。
お使いのOSの環境にもよるんじゃないでしょうか。
お礼コメント
dany

お礼率 69% (29/42)

なるほど、環境もしくは設定によって違ってくるのかもしれませんね。
もうちょっと調べてみたいと思います。ありがとうございました。
投稿日時 - 2001-05-14 03:27:39
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ