5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

InterBaseを使いこなすスレ

1 :ななしっす。:02/03/04 23:00
InterBase。
コンパクトで一通りの機能がそろっているデータベースサーバ。

マルチプラットフォーム、UNICODE、レプリケーションをこなし、
クライアントへのイベント通知(InterBaseの特許)といった特異機能もある
が、情報が少ないのでココで盛り上げていきましょう。

2 :デフォルトの名無しさん:02/03/04 23:01
関連ページにリンクを貼って。

3 :ななしっす:02/03/04 23:16

Borland InterBase
http://www.borland.co.jp/interbase/

InterBase For Linux and FreeBSD
http://iblinux.rios.co.jp/

InterBase Information
http://isweb1.infoseek.co.jp/~tmaki/index.html

InterBase6 メモ
http://homepage1.nifty.com/Que/plamo/ib4linux/

IBReplicator レプリケータ
http://www.replication.co.za/

Borland ニュースグループ
newsgroups.borland.co.jp

オープンソース関係

IB Phoenix オープンソース版 InterBase / FireBird をサポート
http://www.ibphoenix.com/

InterBase 6.01 OpenSource
http://www.borland.com/devsupport/interbase/opensource/

FireBird もうすぐ 1.0 がリリース
http://firebird.sourceforge.net/

XTG InterBase ODBC Driver [Free]
http://www.xtgsystems.com/ib6odbc.php3

Twise Lab
http://www.twise.co.jp/index.html
オープンソース版の日本語対応を行っている

俺の知っている範囲だとこれだけ。
書籍情報やML、NewsGroup などの情報も求む。
日本語情報は貴重。


4 :デフォルトの名無しさん:02/03/04 23:18
なんだ暴乱怒か。いらねーな。

5 :仕様書無しさん:02/03/05 00:10
某スレは人気ねーな・・・メインで使用してるのにな。漏れはな。

6 :デフォルトの名無しさん:02/03/05 00:16
BDEと比べて何がいいの?

7 :仕様書無しさん:02/03/05 01:50
BDEと何を比べるのだ?Interbaseと比べるのか?

8 :デフォルトの名無しさん:02/03/05 05:09
Delphi6Proに付いて来た版をDelphi6Proのチュートリアルの通りに試しただけの素人ですけど

・BDEはファイル=テーブルだが、InterBaseはひとつのファイルに
 複数テーブル置けるっぽいのでリレーショナルが楽かな?
・でもいちいちサーバー起動させないといけないっぽい。
 常駐させる気はさらさらないので、個人じゃオーバースペックかな…。
 (Delphi/C++Builder/Kylixの有償版ならMyBaseが使えて個人ではそっちが便利そう)

という感じです。
「個人で」本格的に使っている人いたら、使用感を聞かせてください。

9 :デフォルトの名無しさん:02/03/05 22:24
>>6
Paradox,DBaseなどのファイル共有型とくらべてかな?
もちろんネットワーク共有だとInterbaseの方が有利。
ファイル共有型だとページロックでかなり待たされる。

それから内緒だけど米国サイトでダウソしたIB6.0のバイナリには
日本の某からダウソしたIBConsoleが使えるよ。

ところで誰かジェネレータの初期値のセットをクライアント側で
行わせる方法知らない?isql以外で。


10 :デフォルトの名無しさん:02/03/06 00:23
知らない。

もっとFireBird 使えやコラ!


11 :デフォルトの名無しさん:02/03/06 00:54
FireBirdはソースを刷新してる最中らしいから
安定板がでてかな。IBとの互換性がどの程度保証
されるかが気になる。

12 :デフォルトの名無しさん:02/03/09 01:08
firebird まだ 1.0 出てなかったんだ…

InterbaseはSQLの勉強に使ったよ。
Linuxでも動くしね。

13 :デフォルトの名無しさん:02/03/09 08:37
>>9
SET GENERATOR TableName TO 100;
でいける

副問い合わせとか使えないから
複雑な問い合わせは
ストアドプロシジャになってしまう

古いIBConsoleではシステムテーブルも見えて他のに
新しいのに変えたら出てこなくなりました
表示させる方法ない?

14 :デフォルトの名無しさん:02/03/11 06:07
http://slashdot.jp/journal.pl?op=display&uid=125&id=40887
http://iblinux.rios.co.jp/ml/
http://www.ssi-n.com/~maki/cgi-bin/diary/


15 :デフォルトの名無しさん:02/03/11 09:14
>>11
Firebird1.0とInterbase6.5はそれぞれ独自の拡張が入ってるので
互換性はないっぽい。

IBXがInterbaseでのみしか使えなくなると痛いよぅ…
IBOはFirebirdもサポートしていくらしい。

16 :デフォルトの名無しさん:02/03/12 11:36
フリーで使えるのはIBXぐらいしかなかったような
IBOってフリーじゃないよね?


17 :デフォルトの名無しさん:02/03/13 10:09
Firebird 1.0.0 出たね

18 :デフォルトの名無しさん:02/03/13 15:44
今ちょうどDelのParadoxのアプリをInterBase(客先へはFireBird)へ移植作業中

ParadoxのTTableを単純にInterBaseExpressのTIBTableへ置き換えると失敗する
主にTIBDataSetを使うべしだね

19 :デフォルトの名無しさん:02/03/13 15:55
>>18
FireBirdで納品か、理解あるお客さんだなぁ…
TIBTableはIBX作者自身が「使うんじゃねえ」って言うぐらいパフォーマンスに
問題があるらしい。

20 :gw.borland.co.jp ◆yYkiH1IY :02/03/13 16:49
こりゃすげースレだわ。

21 :デフォルトの名無しさん:02/03/14 12:33
>>19
計算項目の中でおなじテーブル(もちろんコンポーネントは別)を参照した状態で
Locate すると凄まじい数の Scroll が発生して使い物にならなくなる

Paradoxでは平気なんだけどね

22 :21:02/03/14 15:57
あ、勘違いだ・・・参照項目を使ってるだけでもアウトくさい

とにかく使っちゃ駄目なコンポーネントだねTIBTableは

23 :デフォルトの名無しさん:02/03/14 17:11
>>22
というより、Firebirdで納品するのにIBXは使っちゃ駄目な気が…



24 :21:02/03/14 17:30
>>23 おろ・・・情報サンクス
ライセンスか、動作上の問題か・・・とにかく調べてみるよ

動作の方は、今のところ大丈夫みたいなんだけどね(FireBird 1.0で)

25 :23:02/03/14 18:45
>>24
動作上の話。ライセンスは問題ないはず。
IBXはFirebirdはサポートしないと明言してる(当たり前か)し、Firebird1.0で
多少(DBの情報取得系)のAPI拡張が入ってる。
今はまだいいかもしれないけど、この先InterbaseとFirebirdはどんどん違う物に
なっていくのは必至。そしたらIBXもIBXを使って作られたツール類(IBConsoleとか)
もFirebirdでは使えなくなるかもしれない。

Firebird1.0はSQLの拡張も入ってるけど、拡張部分は当然Interbaseとの互換性は
無くなってるから、両方使い分けるって事も難しくなってくる。

いやさ、同じことで悩んでる最中でさ。どうしたもんやら…
IBOは有償だし日本語ドキュメント皆無だし。

26 :21:02/03/14 18:54
>>25
なるほど・・・

IBXを使うなら基本的な機能だけにとどめて
ちゃんと動作したら、以後はむやみにバージョンアップしないという
・・・「逃げ」かな

とにかく、貴重な情報でした・・・どうもありがとう

27 :naka:02/03/14 22:02

いや、それでも IBX でいいんじゃないか?

28 :23:02/03/15 10:36
あ、よく考えたらIBXてばソース公開されてるし、IPLだからソース改変→再配布OKだし
その気になれば自分でFirebirdに追従していけばいいのか。
つーかその時が来れば誰かが何とかしてくれそうな気が…(他力本願

29 :デフォルトの名無しさん:02/03/16 10:01
教えてくんでスマンが、InterbaseかFirebird用のOLEDBプロバイダってどっかにない?

これ有れば、メインで使うんだけど…

30 :デフォルトの名無しさん:02/03/16 13:12
>>29
VBにADOでもやれるみたいだけど

31 :デフォルトの名無しさん:02/03/16 22:57
>>29
//www.oledb.net/


32 :naka:02/03/16 22:58
InterBase の クライアントって gds32.dll だけでいいって本当ですか?

33 :デフォルトの名無しさん:02/03/16 23:05
>>32
接続用ライセンスファイルが必要。
Firebird なら関係ないはず。


34 :29:02/03/16 23:18
>30-31
サンクスコー!
やっとストアド使える環境に以降できるさ…


35 :naka:02/03/16 23:25
>>33

なるほど。FireBird なら gds32.dll だけか。楽だなぁ。

とすると、DB をFireBirdにして
Delphi で IBX 使って作ったシステムだったら
アプリのフォルダに gds32.dll を入れて
フォルダ毎コピーすればインストール完了ってこと?

36 :デフォルトの名無しさん:02/03/16 23:27
ほとんど趣味でプログラムやってる者です。

Delphi5のPRO版に付いてきたけど、あえて個人で
使うメリットってあります?

普段は普通に標準DBコンポをParadox形式で使ってます。


37 :デフォルトの名無しさん:02/03/16 23:35
イマイチ盛り上がりに欠けるね。
技術版らしく、技術の比較でもしてみるけ?

無料で使えるという観点で、ライバルと目されるのはPostgreSQL、MySQL、MSDEあたり?
機能、速度、安定面から比較は有意義かと思うが、どうよ?

38 :デフォルトの名無しさん:02/03/16 23:49
>>36
大勢が同時にアクセスするのでなければParadoxで十分でしょ
(Delphiで一番扱いやすいのはParadox)

ただ、趣味としてでも本格的なデータベースを使ってみるということなら
それはそれで楽しいと思いますよ

39 :デフォルトの名無しさん:02/03/17 00:08
>>35
>アプリのフォルダに gds32.dll を入れて
>フォルダ毎コピーすればインストール完了ってこと?
InterBase インストール先のレジストリの設定が必要だと思う。
Firebird はインストーラでしかやってないからどうだか知らない。


40 :39:02/03/17 00:19
>>39
>InterBase インストール先のレジストリの設定が必要だと思う。
ごめん。いらないかも。自分で試してみて。


41 :デフォルトの名無しさん:02/03/17 00:35
あのう、削除してもファイルサイズ小さくならないですよね。
削除して登録すると登録件数が同じでも前より大きくなりますよね。
使っているとだんだん大きくなってきますよね。
どうやったら削除したレコードを完全に消せてファイルサイズを小さくできるんですか?
いくらハードディスクが大容量になったとはいえ、ファイルサイズが大きくなり続けるとハードディスクがすぐパンクしてしまいます。
バックアップも大変です。
どうしたらいいんでしょう?

42 :デフォルトの名無しさん:02/03/17 00:46
>>37
とりあえず Firebird の良いところ)
・マルチプラットフォーム対応(Win,Linux,FreeBSD,Solaris,MacOS,...)
・1DB=1ファイルのためバックアップも楽だし管理し易い
・SQL92準拠(だったかな)
・さまざまなI/Fミドルウェアがある
・UDFで独自関数拡張できる

Firebird の欠点)
>>1の言うように情報が少ない。特に日本語解説サイトが極少。
 現状では、InterBase5 の日本語マニュアル(PDF)でなんとかなるが。

InterBase は商用に戻った時点で×。(客先指定以外はもう使わない。)

以前 Postgres 使ったことあったが、Win版がないから使うのやめた。
(cygwin で動くみたいだがネイティブじゃないとね。)
ML も活発だし情報量は一番なんじゃないかな。

MySQL はつかってないから知らない。(トランザクション未対応?)

MSDE はインストールがめんどい。
あと接続数の制限があったような気がする。
あと Win でしか使えないのが×。


43 :デフォルトの名無しさん:02/03/17 00:58
>42
Firebird最大の欠点は知名度の低さだとおもいます。
お客様に信用してもらえない。

44 :デフォルトの名無しさん:02/03/17 00:59
>>41
スイープすれば小さくなるよ。
Win版のInterBase使ってるなら「Server Manager」GUI ツール使えば簡単。


45 :デフォルトの名無しさん:02/03/17 01:00
BorlandのサイトにInterBaseの参考書籍として載っているのは
「データベース Linux InterBase 4.0 For Linux」と
「データベース Linux Java ServletによるWebサーバー構築 編」の2冊

1冊目の方のInterBaseも小さく書かれているし
2冊目には至ってはタイトルからInterBaseを想像することは難しいくらい
なのにどちらもメインの開発環境はなんとDelphi(どこかLinuxじゃこら!)

Kylixが出てからならまだしも2冊目ですら2年前に出版されてるのに
これほどタイトルと内容の一致しない本は珍しいと思ったよ

46 :デフォルトの名無しさん:02/03/17 01:04
>41
PostgresでいうVACUUMが必要だと思われ。
Interbaseは指定回数のトランザクション処理後に自動でガベージコレクション発動じゃなかったっけ?

詳しい人かもーん。

47 :41:02/03/17 01:17
>>44
スイープっていうの?
Server Managerというのでできのですね?
ありがとう。

48 :デフォルトの名無しさん:02/03/17 01:25
>>43
>Firebird最大の欠点は知名度の低さだとおもいます。
>お客様に信用してもらえない。
「InterBaseなら信用してもらえる。」ってこと?

素人のお客なら、「DBMS」ってこと自体知らないから楽。
現にこの前 Firebird 1.0RC2 使って納入したよ。
当初DBサーバをXPにする予定だったけど、
コネクション時間が異常に掛かる問題が出て(Firebird のバグかな?)
Win2K に変更してもらった。それ以降、今のところ問題は出ていないけどね。


49 :デフォルトの名無しさん:02/03/17 01:32
>>47
データベースのスイープってみたいなメニューがあると思うよ。
念のため実行する前に一度そのDBファイル(.gdb)バックアップ取っておいた方がいいよ。
(単にそのDBファイルをどっかにコピーしとくだけでいいけどね。)


50 :デフォルトの名無しさん:02/03/17 01:32
>Interbaseは指定回数のトランザクション処理後に自動でガベージコレクション発動じゃなかったっけ?
・デフォルトでは20000トランザクションでスイープ
・gfixを使って回数を指定可能
ということのようだね

51 :デフォルトの名無しさん:02/03/17 01:39
>>47
IBConsoleのメニュー
「データベース」-「メンテナンス」-「データベースのスイープ」
でできるよ

52 :デフォルトの名無しさん:02/03/17 02:12
スイープしなきゃだめなの?
レクラメーションしてくれないの?


53 :デフォルトの名無しさん:02/03/17 02:29
>52
手動でしたくなきゃ >50 の方法で対応すれば?
頻繁に更新トランザクションがあるわけじゃなきゃほっときゃいいけどなぁ。
オレの場合、数十万件/数十MB弱(数年経過もの)のDBやってるけど、
スイープは一度しかしたことないよ。
(追加は多いときで数百件/日、変更、削除はそんなに発生しない。)
別にスイープしなくても問題なかったけど、MOとかにバックアップするのに
容量食ったからという理由くらい。


54 :53:02/03/17 02:31
訂正)
× 数十万件/数十MB弱(数年経過もの)
○ 数十万件/100MB弱(数年経過もの)


55 :デフォルトの名無しさん:02/03/17 04:51
gbakのバックアップから戻してもサイズが小さくなるね。
それにしてもすぐdatおちするかとおもえば結構使ってる人いたんだね。

56 :デフォルトの名無しさん:02/03/17 07:30
interbaseはどの程度の規模のシステムまでつかえるのでしょうか
企業ではoracleがよくしようされているが
oracleはデータエリアを確保しておく必要があったり
設計事態が一昔前のホストコンピュータみたいでものすごく使いにくい。


57 :デフォルトの名無しさん:02/03/17 12:14
少ないリソースで動く(らしい)のも魅力だよなー。
客先にプレゼン逝くときにノートにOracleなんか入れてられないし。

いまやってるシステムもOracle使うほどの規模じゃないから
InterBase使いたいが、誰も知らないという罠

某ももうちょっとマーケティングに力いれろYO!

58 :デフォルトの名無しさん:02/03/17 17:23
>56
↓にInterBase5.5 のデータベース仕様が書いてある。
www.borland.co.jp/interbase/papers/ib55wp/ib55wp_2.html
実際にはどの程度の規模までなら安定して使えるかはわからないから、
検討しているなら Borland に問い合わせてみた方がいいよ。

↓ケーススタディ
www.borland.co.jp/interbase/cases/


59 :デフォルトの名無しさん:02/03/17 21:00
ケーススタディをみると、確かに結構規模の大きいシステムの例も
あるが、売買データなど非常にシビアなシステムの例がちょっと
少ないと思えるがどうなんでしょう。


60 :デフォルトの名無しさん:02/03/17 21:04
ORACLEて、ろくなサポートしないくせに保守料を取ったりして
殿様商売している。
INTERBASEを使っているわけではないがORACLEと比較して
保守が非常にやりやすいのではないでしょうか
ORALCLEは領域確保など必要で昔のオフコンみたいで使いにくかった
と記憶しているが
INTERBASEが中規模のシステムで本当に使えるならこちらを使いたいが
会社の何もしらない社長なんかがORALCE使えとうるさいが。


61 :デフォルトの名無しさん:02/03/17 21:34
ケーススタディ なら洋物もみておいた方が。
http://www.borland.com/about/cases/




62 :デフォルトの名無しさん:02/03/17 22:17
金が絡んだちょっとシビアなシステムを開発するときは
排他制御やロールバックなどがきちんとできるか、どの程度の同時アクセスに
耐えられるかを知りたい。
これは他社の例を参考にするだけでなく
(システム特性は個別に異なるため)
INTERBASEを小規模なシステムから適用して自分で確認するしかないのでしょうね。


63 :デフォルトの名無しさん:02/03/17 23:41
日本語カラム名を使いたいなんて厨房発言する
SIerには、お勧めしない。

64 :デフォルトの名無しさん:02/03/18 04:33
金の絡まないシステムに暫く使って様子見ようかね。

一つ心配なのが、Interbaseが有償に戻ったことで、Firebirdにどういう影響でるんだろ?
独自拡張の道を歩んでIBとは別物になっていくのか、追従し続けていくのか…

独自で行くならIBConsoleはつかえないんだよね?

65 :デフォルトの名無しさん:02/03/18 09:01
>>64
別物になっていくんだろうね。Firebirdも1.0からコードベースをC++に移行したり
してるところを見ると、Interbaseに追従する気も無いんじゃないかな。
BorlandがInterbaseのすべての変更をオープンにしない以上は、追従しようと思っても
出来ないよね。
Firebird1.0で拡張されたSQLの目玉部分である、取得行の絞り込み(コレがないから
Interbase使えないって人も多かったと思う。特にWebアプリ)は、Interbaseでも実装
されるんだけど構文は全く異なることから、これからは別物のDBMSだと思った方が
いいと思う。
細かい話はここ参照
http://www.ibphoenix.com/ibp_news_art8.html

IBConsoleは少なくとも今現在は問題なく使用できるけど、将来に渡っても問題なく
動作するかどうかは分からない。
でも、IBConsoleより遙かに高機能で使いやすい管理ツールはたくさん公開されて
いるから、今後IBConsoleを使用し続ける積極的な理由も無いと思う。

66 :デフォルトの名無しさん:02/03/18 10:18
>>65
先月のデータベースカンファレンスにAnn Harrisonが出席してて、「C++で書き直しているってことは、FirebirdとInterBaseは別物になるんですか?」という質問に対し「Absolutely!」ときっぱり言い切っていました。

67 :デフォルトの名無しさん:02/03/18 14:05
Firebird の日本語オフィシャルサイト設立希望。
日本語マニュアルがあればユーザ数が激増すると思う。


68 :デフォルトの名無しさん:02/03/18 15:38
そうだよな、やっぱ情報量の少なさが最大のネックだよな…
このスレの名称も「Firebirdを使いこなすスレ」の方がヨカタかも

69 :デフォルトの名無しさん:02/03/18 22:31
厨房ですまそん
なんかインストール中にSETUPAPI.DLLが無いって言われるんです。
だれか、対処法を知りませんか???

delphi関係で質問したけど、反応無かったのでこちらに
再度カキコさせていただきました。

W2KのIB5です。

70 :デフォルトの名無しさん:02/03/18 22:31
>>67
日本語マニュアル以前に、本家のマニュアルもいまだ存在しないと言う罠…

sage進行じゃないよね? age

71 : :02/03/18 22:35
>>70

今のところはInterBaseのマニュアルで代用だね〜
もっともInterBaseのための書籍も極端に少ないけど

72 :デフォルトの名無しさん:02/03/18 22:51
>>69
ええと、まずInterbase5.xはWindows2000非対応とのこと。
で、インストール方法は
・エラー無視でそのまま続行してOK(な場合あり
・Interbase5.xのCDからSetupAPI.DLLをWINNT\System32に上書きしれ
・Windows2000をSP1に戻してInterbase5.xインストールしれ

って↓に書いてあるんだと思う。タブン
http://community.borland.com/article/0,1410,27633,00.html

73 :69:02/03/18 23:19
>>72
おおおおおおおおおお!
いくら日本のページ探しても、出てこないわけだ・・・

どうも、ありがとうです。
漏れの持ってる、翻訳ソフトちょっと、オもろかったので
載せちゃいます。
以下、英訳

74 :69:02/03/18 23:20
InterBaseインストールがファイルsetupapi.dllをインストールしていて、
setupapi.dllのすでにインストールされたバージョンを踏みにじっている
ので、このエラーはoccuringしている。

・・・踏みにじらないで(藁

75 :Firebird教信者:02/03/19 00:10
ASCII の「Linux business vol.3」という雑誌(というかムック)に
InterBase6.0 の記事が50ページ以上にわたって書かれてるよ。
オレも持ってるけどコレ必読。
http://www.ascii.co.jp/books/detail/4-7561/4-7561-3858-6.html
FirebirdってInterBase6.0から派生したからFirebirdから始める人にも
重宝すること間違いなし!


76 :デフォルトの名無しさん:02/03/19 00:50
>69
>72
昔やったとき、Win2K(たしかSP1) + IB5.6 でちゃんとインストールできたよ。SP2 はダメなのか?。
動作保証されてないってことだけど、この組み合わせでやって動作上の問題は出なかったけどね。
(今はもう Firebird に移行しちゃったよ。)


77 :デフォルトの名無しさん:02/03/19 01:03
>74
翻訳の王様バイリンガルVer.5編)
InterBaseインストールがファイルsetupapi.dllをインストールして
setupapi.dll.のすでにインストールされたバージョンで足を踏み鳴らしているので、
このエラーは起こっています。

ほぼ同じだがoccuringが一応変換されてる分ましかな?


78 :デフォルトの名無しさん:02/03/19 22:36
同一マシンに InterBase と Firebird 両方インストールできるようにしてもらいたい。
とりあえず Firebird をメインにしてくつもりだけど、今までしてきた仕事のこともあって
InterBase 入れておかないとならないから。
(今は InterBase用と Firebird用マシンを分けて使っています。)

それから Firebird なのに "InterBase ..." や "IB..." という名称使わないようにしてもらいたい。
ibguard => fbguard
ibserver => fbserver
/opt/interbase => /opt/firebird
IBExpress(IBX) => FBExpress(FBX)
InterClient => FireClient?
*.gdb => 違う拡張子にして。
gds32.dll => 違う名前にして。
isql => 違う名前にして。
などなど。

以上、My要望でした。


79 :78:02/03/19 22:47
追加です。
サービス名やデフォルトのポート番号も変えなきゃだめだね。
gdb_db => firebird_db? とか。
IBServer 3050 => FBServer 3051とか。
InterServer 3060 => FireServer? 3061とか。
ってココで言っても無駄だけど。


80 :デフォルトの名無しさん:02/03/20 00:07
>>78
そりゃさ、両方生かしたい人もいるだろうけど、フツーは下手に環境いじらなくても
移行出来ることを期待するのが大勢じゃない?

81 :デフォルトの名無しさん:02/03/20 00:49
>>78
そら、InterBaseのバージョンが上がったって同じことなんじゃないの?今のとこFirebidとInterBaseの違いってそんなもんでしょ。

82 :78:02/03/20 00:53
>>80
とりあえずは、同名でも両方インストールできればいいけど、現にできないし、
今後両者は違う路線を行くようだから、そうなった場合にややこしくなると思う。
それじゃ自分が使う方1本に絞ればいいかというと、やっぱそうはいかない。
過去の仕事=InterBase5.x
今後の仕事またはプライベート=Firebird
ということで、InterBase は当分対応しなきゃならない。
もし客先にバージョンアップしてもらうにしても、
IB5 => IB6以降の移行は考えられても、Firebird はまず考えられない。
現状「IBで」安定して動いているからだし、まず客先がYesというかどうかということもあるから。


83 :78:02/03/20 01:02
>>81
InterBase 複数Ver.が同居できるに越したことはないけど。
ただ、InterBase のバージョン間については互換性があると
いうこと前提で考えるとそんなに問題はないと思う。
InterBase と Firebird は別物ということになると、
両方インストールできないとまずいということ。

> 今のとこFirebidとInterBaseの違いってそんなもんでしょ。
もうすでに(Firebirdの)独自仕様の機能があって、それ使ってるけど。


84 :デフォルトの名無しさん:02/03/20 08:26
>>78
おいおい、なんのためのオープンソースだよ…


85 : :02/03/20 08:44
Windows95へFireBird 1.0RC2 をインストールしようとしたら
1台はうまくいって、もう1台はうまくいかなかった

うまくいかなかった方はさきにgds32.dllをコピーしてみたり
いろいろいじったのがいけなかったのかも知れないけど
・・・レジストリを一旦消してみるかな

86 :デフォルトの名無しさん:02/03/20 22:59
>>85
1.0.0が出てるのにRC2を入れたのはなんで?

87 : :02/03/21 01:00
>>86
先日、客先へ持っていったときは1.0.0が出てたのに気付いてなかったから(恥
やっぱそのほうがいいよね・・・とりあえずInterBaseとの互換性とかを再チェック

88 :デフォルトの名無しさん:02/03/21 08:27
>>87
つーか、客先にDBMSのβ版入れる常識の無さを小一時間…

89 :デフォルトの名無しさん:02/03/22 10:50
>>88
オープンソースのベータ版と商用ソフトのそれとでは、ちょっと意味が違うからね。要は使う人次第だと思うが。

90 :デフォルトの名無しさん:02/03/25 22:44
おい、貴様ら!ageて下さい!


91 :デフォルトの名無しさん:02/03/25 23:58
これ見て知ったのだけど、BorlandってUNIX版のInterBase、捨てつつあったのね。

http://firebird.sourceforge.net/index.php?op=faq#q14.dat

92 :ななしっす。:02/03/29 00:19
FireBird のクライアントに何を使っていますか?IBXですか?

93 :デフォルトの名無しさん:02/03/29 00:27
>>91
なんでそんな結論を?
Linux と Solaris での「動作保障」をしているが?

オープンソースだからコンパイルできます。ってことだけでサポートを
気にしなくてよいならそれこそほとんどすべての Unix で「動く」よな?


94 :デフォルトの名無しさん:02/03/29 01:23
RIOSのMLに入れば少し情報が増える。
某社を退社してフリーになった加藤大受氏もたまに見受けられる。
(一応 FireBird プロジェクトのメンバーは続けてるみたいよ。)

95 :デフォルトの名無しさん:02/03/29 07:24
大受がいなければ IB ももう少し広く使われたかもねぇ。
いやほんとに惜しい。

96 :デフォルトの名無しさん:02/03/29 12:48
>>95
私怨か?身内っぽいな。

97 :デフォルトの名無しさん:02/03/29 15:02
FireBirdはWinSock2が必要みたいだね
ところが古いWin95(WinSock1.1)へWinSock2を入れようとしたら
「WinSock2を入れるには1.7GB(!)必要だ、容量が足らん」
というたわけたメッセージがでてインストールできんかった

Win98へ上げるしかないか・・・

98 :デフォルトの名無しさん:02/03/29 19:01
FireBirdのローカライズ版はこちらから。
http://www.twise.co.jp/pro.html

あと、こちらにIBの情報があります。
http://isweb1.infoseek.co.jp/~tmaki/index.html

MLはここ。
http://iblinux.rios.co.jp/


99 :デフォルトの名無しさん:02/03/29 20:53
>>96
セールストーク以外の大受と付き合ってみればわかるよ....
なんであんなやつを野放しにしていたのか > 某

100 :デフォルトの名無しさん:02/03/29 20:59
100げと

101 :デフォルトの名無しさん:02/03/29 22:12
彼のHP見ても悪い人間には思えないのだが・・・
(しかしプログラムのプの字もないページだわ。)

102 :デフォルトの名無しさん:02/03/30 18:18
なんで某がまともにPRしないかがわからん。いい商品なのに。

103 :デフォルトの名無しさん:02/03/31 11:31
使いこなせる人間が少ないって事だろうな。
ACCESSと同じ感覚で買った人が失敗すると。(w
そういう厨房に対応するのが嫌だから積極的に売ろうとしない。

ORACLEに比べりゃ格段に簡単なんだけどねえ。

104 :ななしぃ:02/03/31 13:16
FIBPlus は無償なんでしょうか?

105 :デフォルトの名無しさん:02/03/31 13:51
>>102
あくまで日本某がPRしてないだけで、外国では結構使われてるっぽい。
なんでだろう、日本のSIはどこもかしこもOracleべったりで、もう金かけてまで横取りする
パイもないと思ってるんじゃ無かろうか。

特にこれからの世の中、いままでコンピュータと付き合っていなかった中小レベルの企業が
システムを導入する機会は右肩上がりで増えていくと思う。
そういう案件でのInterBaseの価格と利便性と、長年実務で叩かれてきた信頼性ってのは他が
マネできないメリットだと思うのだけれど、素人考えなのかしら。

ところで、InterBase関係検索すると結構な確率でロシアのページが引っかかるのが意外。

106 :デフォルトの名無しさん:02/03/31 16:58
たしかによく見かけるね、ロシア >> 105

案外ロシアではシェアNo.1のRDBMSだったりして。

107 :デフォルトの名無しさん:02/04/01 10:34
isc_commit_transaction と isc_commit_retaining ですが、APIヘルプを読むと
isc_commit_retaining のほうが速度、リソース共に有利みたいなことが書いて
あります。常にコミット時は無条件に isc_commit_retaining を使用していれば
いいのでしょうか?

双方の利点、欠点など教えて下さい。

108 :デフォルトの名無しさん:02/04/01 19:57
結構コアなネタが多くて、恐縮ですが、
InterBaseが使えるホスティングやレンタルサーバ会社って、ご存知ないでしょうか??
できれば、日本の業者が良いと思っております。海外でしたらいくつか存在しますよね。

1台丸々借りればよいのですが、金銭的に個人ではなかなか手が出るものでなく、
もう少し、リーズナブルなものを探しております。
ご存知の方がおられましたら、お知恵を拝借したいと思っております。
よろしくお願いいたします。

109 :デフォルトの名無しさん:02/04/01 20:07
>>108
PostgreSQLあたりなら結構使わせてくれるところあるでしょ。
どうしてもInterbaseでないとダメ?


110 :デフォルトの名無しさん:02/04/01 20:38
PostgreSQLやMySQLは、たくさんありますよね。
実際、今借りているホスティング会社さんはMySQLです。
別に不満があるとかではなく、社で使ってることもあって、InterBaseが好きなんです(^^;
(比較もしてみたいですしね。速度や使いやすさとか)

それで、情報だけでも・・・と思って、投稿しました。

#ほんと日本語情報は少ないですよね。
#BLOBを扱う時は大変でした(笑)

111 :デフォルトの名無しさん:02/04/01 20:40
>>110の補足
言語はPHPでした。(^-^)

112 :デフォルトの名無しさん:02/04/01 22:30
>>110-111
うーん、Firebirdが国内でもっと実績出してどこかが導入し出せば広まるのは
速いんだろうけど…まだまだ知名度が低いかな。

# PHPでBLOBでInterBase…?
# 最近某所でそんな質問見たような…

113 :デフォルトの名無しさん:02/04/02 09:02
>>112
出ていましたね某MLで(w
でも、私が、ぶつかったのはちょうど1年程前の話しですから、記憶も薄く(ぉ
投稿した方に助言はできなかったんですけれども。(^^;

とりあえず、英語だろうとなんだろうと、必死でGoogleと戦った記憶があります(w

# Cが理解できれば、もう少しコアな話題にも参加できそうなのです。
# PHPのソースが解読できるようになれば、そこから切り崩せますし。

114 :デフォルトの名無しさん:02/04/02 10:09
>>110
CobaltにはInterBaseモデルがあるから、Cobaltを使ってるところならたいていInterBaseのサービスもやってる。ただ1台まるごとってとこが大半。
http://www.din.or.jp/vds/

115 :110:02/04/02 11:00
>>114
ありがとうございます。
そうなんですよねぇー。サーバ丸ごとだとあるんですよね。

ホスティングするとき、InterBaseだと管理しにくい事とかあるんでしょうかね。

116 :デフォルトの名無しさん:02/04/02 22:34
>>115
データベースファイルをシステムのどこにでも配置できるから、却って管理しやすいことはあっても、管理しにくいってことはないでしょ。1データベース1ファイルだから、バーチャルホストでの容量管理もラク。知名度が低いってのが、唯一最大の欠点。

117 :デフォルトの名無しさん:02/04/03 01:37
客先にプログラミングの分かる人がいれば
ボーランドの知名度はけっして低くはないので
「ボーランドのInterBase」といえば比較的信用してもらいやすいかも

俺の場合は「湾岸戦争で米軍が使った信頼性の高いDB」という謳い文句で
InterBase(FireBird)の使用を客先に納得させた

118 :デフォルトの名無しさん:02/04/03 09:47
>>113
そのPHPなんだけど、interbase extensionの開発者が行方不明で、PHPがSEGVるバグが放置されたままなんだよな。

119 :113:02/04/03 09:59
118>>
そういうのを修正できるだけの技量が欲しいです。
やはり、Cやらなあかんか(w

120 :Review:02/04/05 21:12
IBPhoenix で 紹介されている管理ツールを一通り使ってみました。
日本語対応しているものは、一つもない。データを書き込むと文字化けして表示。
(DBにはきちんとデータが入っているが管理ツールがダメ。)
いちばん使いやすいのは ぶっちぎりで IBWorkBench デザインも綺麗で使いやすい。
値段は$180くらい。業務で使うのなら買っても損しないと思う。
IBWorkBench のサポートにE-mailで問い合わせたところ、次のバージョンで
中国語と日本語に対応することが決定しているらしい。少し待ちかも。ちなみに、FBをサポートしてる。

あと、ODBC関連もIBPhoenix、XTGと使ってみたけどAccessからは使えないみたい。
Twise Lab のODBCはAccessから利用できるので便利でした。

そんな感じです。

121 :Review:02/04/06 20:30
75 も紹介していたけど Linux Bussiness Vol.3 のインターベースの解説は、
とっかかりに非常に良いです。昨日、本屋でたまたま見かけて買いましたが。

122 :デフォルトの名無しさん:02/04/08 18:01
なんとなくFirebird(日本語版)入れてみたけどいきなりわからん
loginパスワードってどこに書いてあんの

123 :デフォルトの名無しさん:02/04/08 18:03
IBだったら'SYSDBA' 'masterkey'がデフォだったかと。
(FireBirdは違うかかもなぁ。)

124 :デフォルトの名無しさん:02/04/08 20:43
>>122-123
同じだよ

125 :デフォルトの名無しさん:02/04/08 20:48
うぐぅ、masterkeyでだめだったぞ
つうかmasterkeyとだともどこにも書いてないぞ

126 :デフォルトの名無しさん:02/04/08 21:11
>>125
おかしいな・・・
SYSDBA、masterkeyで間違いないけど

Caps Lockとか入ってない?

127 :Review:02/04/08 23:04
120です。訂正。Marathon は日本語が文字化けしませんでした。
http://www.gimbal.com.au/

さらにフィールドの追加やデータ参照などが簡単にできるので、今のところ一番使いやすいと思われます。
あと、OpenSourceで無償で使えるようです。ライセンスはMPL。

128 :125:02/04/08 23:08
Win再起動したらいけた、酢マンコ

129 :デフォルトの名無しさん:02/04/08 23:59
InterBaseって、ある一定の回数のトランザクションを実行すると
自動的にガベージコレクション発動って勘違いしている人は結構多い。
普通にトランザクション開始、コミットしている分にはガベージコレクション
は発動しない。ちゃんとマニュアル読もう。

130 :デフォルトの名無しさん:02/04/09 00:04
InterBase5の致命的な欠点。それは、大量のレコード(1000件程度)
をdeleteした後、そのテーブルに対してselectするとそのselectの
実行時間が絶望的に長くなること。通常1秒くらいで終わるselectが
30分以上かかったりする。どうもselectしたときに削除マークのついて
いるレコードをガベージコレクションしているみたい。システム組むと
きは要注意。InterBase6は知らない。


131 :デフォルトの名無しさん:02/04/09 09:15
>>129
これやね。英語のマニュアルで読み下すのは大変だよぅ。
つーことでIB5のマニュアルから抜粋。

自動保守
アクティブな(未解決)状態のトランザクションを「懸案の」トランザクションと言い
ます。データベースのトランザクションインベントリで,「コミット済み」以外のステー
タスを持つ最初のトランザクションは,OIT(Oldest Interesting Transaction:最も古い懸案
のトランザクション)と呼びます。クライアントが新しいトランザクションを起動して,
トランザクション番号がOIT の番号を超え,ある閾値より大きくなった場合,InterBase
はデータベースの全面的なスイープを始めます。この閾値はデフォルトでは20,000 トラ
ンザクションですが,設定を変更できます(135 ページの「スイープ間隔と自動保守」を
参照してください。

ノート
20,000 トランザクションごとに自動的にスイープされるとは限らない,ということは微
妙ですが重要な特徴です。OIT と最新のトランザクションの差が閾値に達するときにだけ
スイープされます。データベースに対するすべてのトランザクションがすぐにコミット
される場合,この差は自動的なスイープの引き金となるほど大きくはありません。
InterBase サーバープロセスは,特別なスレッドを起動して,このスイープを不定期にコ
ミットします。その結果,クライアントプロセスは機能し続けることができ,スイープ
による作業量には影響されません。

132 :デフォルトの名無しさん:02/04/09 12:11
gfixを夜間に走らせるのが吉。

133 :デフォルトの名無しさん:02/04/09 22:48
>130-132
で、FireBird は大丈夫なの?よければ教えて。

134 :デフォルトの名無しさん:02/04/10 02:14
>>130 詳細をキボンヌ
deleteした後で
 commitしてからselectした場合なのか
 commitせずにselectした場合なのか(普通こんなことする?)
回避の余地がないのかなど
 deleteの仕方でもいろいろあるはずだし・・・
 where句でまとめてばっさりとか、ループでcommitしながらしこしことか

とりあえず、自分でも試してはみるけど・・・

135 :テッコイ:02/04/10 18:43
とりあえず知ってる情報を集めてサイトを作りました。

http://www.infinity.ne.jp/~nakaoka/interbase/

どうか、もっと盛り上げてください。

136 :名古屋在住・中日ファン:02/04/10 23:24
>>135 今、ちらっと眺めたけど
gds32.dllをただコピーするだけじゃ駄目だったと思うよ
最小クライアントでインストールするのが確実

また、WinSock2が必要だからWindows95だと駄目な場合がある

あと、Del6ProならローカルInterBaseが付いてくるから
IBConsoleでもデータベースの作成・管理ができたと思う

137 :デフォルトの名無しさん:02/04/10 23:38
>>135
新入社員のやっつけ報告書みたいなページ…
きっとこれからがしがし更新されるんだよね。がんがって!

Marathonいいかなぁ…
全然バージョンアップしてないし、Open Source唄ってる割にどこにもソースがないし
頻繁に落ちるしですぐ捨てちゃった。
自分はMiTec IB Queryは使い勝手が良くてメインで使ってる。


138 :デフォルトの名無しさん:02/04/11 00:34
>>134
やりかたは簡単。レコードがたくさんある(1万件程度)テーブルに対して、
delete from テーブル名
whereを指定してもよいけど、とにかくたくさんdeleteされるように。
そのあと、そのテーブルに対して
select count(*) from テーブル名
別にcount(*)でなくてもよい。ちょっとシステム組むのにためらいを
感じる結果になる(バッチ処理なら問題ないかも)。回避方法は、一度に
たくさん消さないことかなぁ。早めに気がついて本当に良かった。
InterBase5の話ね。InterBase6は知らない。


139 :名古屋在住・中日ファン:02/04/11 01:51
>>138 レスどうも

今、FireBirdでやってみたところ
1万4000件あるデータから1万件まとめて(where句で)削除した直後の
select count(*) from テーブル名
は一瞬で処理されたよ
(1万4000件のデータを書き込むのには少し時間が掛かったけど)

ただ、30の書き込みを見て気になったのは
「削除マークのついているレコードを」の部分
DBの実装の話ならそのとおりだろうけど
まさかdeleteの直後に
select文をdeleteに対するcommitなしで発行したっていうことではないですよね
だとすると、DB設計者からすれば想定外の使い方かも知れないと思ったりする
(漏れにも今までにそういう使い方をしなければならなかった経験はないし・・・)

ま、普通に考えればIB6やFireBirdでは直ってるということでしょう
(もしかするとIB5でもパッチで修正されてるのかも)

140 :デフォルトの名無しさん:02/04/11 01:59
ん〜
削除した後コミットしたの?主キーのあるテーブルなの?
マシンスペックはどのくらいの物だったの?
ネットワーク環境は?パラメータブロックの設定は?

それらによって結果は全然変わってくると思うのだが・・・

141 :名古屋在住・中日ファン:02/04/11 02:07
正直なところ
DBにとって千件・万件はさほど「たくさん」という量ではないということ
その程度で変な動作をするとは考えにくいんだよね

30=138さん、よほど奇特な使い方をしたのではと思ったりする

142 :名古屋在住・中日ファン:02/04/11 02:18
×30=138さん
○130=138さん

143 :テッコイ:02/04/11 17:33
>137

経験が浅いので
日本語が文字化けしないMarathonが便利だなぁと思っただけで。

IBPhonix のページから、
MiTeC InterBase Query をダウンロードしようとしたんですが
リンクが切れているみたい。

ダウンロード先わかりますか?

144 :テッコイ:02/04/12 00:23
ところでFirebird には、IB のような Install API はないのですか?

145 :デフォルトの名無しさん:02/04/12 01:02
>>139
どうやらIB6とかFireBirdではそのへん改善されてるようですね。
やれやれ。まあInterBase5のあの仕様じゃぁ使い物にならないって。

ちなみにそれぞれのSQLの実行前にset transaction、実行後にcommitした
ときの話ね。主キーも外部キーも設定してない。ブロックサイズを変化
させたけどぜんぜん変わらなかった。


146 :デフォルトの名無しさん:02/04/12 07:16
>>143
ここが本家かな?
http://www.mitec.d2.cz/

漏れもちょっくら試してみようっと。

147 :デフォルトの名無しさん:02/04/15 00:50
http://japan.internet.com/linuxtutorial/20020405/1.html


148 :デフォルトの名無しさん:02/04/15 16:45
C# + FireBird ってできる?

149 :デフォルトの名無しさん:02/04/15 19:38
>>147
産休


150 :デフォルトの名無しさん:02/04/15 20:10
>>148 事故レス
サーバーエクスプローラからは接続してデータを所得することもできるので
なにか方法はありそうなんだけど・・・
(VS.NETは遅まきながら今日触ったばかりだし気長にやりますか)

151 :テッコイ:02/04/15 22:56
今日 Delphi 6 Pro 買いました。

フォームに、DBGrid 乗っけたアプリをさくっつと作ってみて
アプリと GDS32.DLLを一緒に別のパソコンにコピーしたら問題なく動きました。

クライアントはGDS32.DLL さえあれば動きそうです。配布が楽だなぁ

152 :デフォルトの名無しさん:02/04/16 00:31
>>147
情報ありがとさんだけど、ひでえ訳だな。元原稿読の方を勧める。
http://www.ibphoenix.com/ibp_act_db.html

153 :テッコイ:02/04/17 01:04
訂正。

151の方法で動いたけれど InterBase 5.5 のマニュアルによると最小クライアントインストールは以下のとおり。

Minimum client installation
The minimum set of files necessary for client operation are:
・ %INTERBASE%\IB_LICENSE.DAT
(see “Installing software activation keys” on page 13)
・ %INTERBASE%\INTERBASE.MSG
(see “Installing GDS32.DLL and INTERBASE.MSG” on page 12)
・ %SYSTEM32%\GDS32.DLL
(see “Installing GDS32.DLL and INTERBASE.MSG”)
・ %SYSTEM32%\MSVCRT.DLL

FireBird の場合 License.dat は要らないので、必要なのは gds32 と interbase.msg と msvcrt.dll だけということだとおもう。

ソースは、
http://www.borland.com/techpubs/interbase/
の InterBase 5.5 Embedded Install Guide (0.37mb) の13ページ。

154 :デフォルトの名無しさん:02/04/17 01:08
InterBaseもDelphiで書いて欲しいです。

155 :テッコイ:02/04/17 21:49
>Hello . I am Japanese . build C/S Sytem in japan.
>
>Please Teach me Answer "Firebird Minimum Client Install"
>
>1.gds32.dll
>2.interbase.msg
>
>I think needs 2 files. This Think Is OK ?
>setup complete these 2files and my application copy to other pc ?

also in HOSTS file:

111.111.111.111 MyHost #Firebird server

^^^^ server's IP address


>I am Studying English now. sorry.

your English is OK :-)


>thank you for reading my-email.
>When you can find the time , would you reply my message, please?

Next time - send questions to ib-support

subscribe at http://www.yahoogroups.com/community/ib-support

Kia ora!
Helen (mail admin)

All for Open and Open for All
Firebird Open SQL Database · http://firebirdsql.org ·
http://users.tpg.com.au/helebor/


156 :デフォルトの名無しさん:02/04/22 18:22
とりあえず、age

広まれー!!FireBird!!

157 :中日ファン@地方巡業中モード ◆DRAG8zBg :02/04/22 18:26
>>156
早く.NETでも使えるようになるといいね
(今のところどうやってもうまくいかないです)

158 :デフォルトの名無しさん:02/04/22 18:31
とりあえず、Windows系、PC-UNIX系、両方のユーザーが使いやすいDBになってほしいですよねぇー。

そうすれば、皆、仲良くFireBirdが使える(^^)

159 :デフォルトの名無しさん:02/04/22 18:38
Del6 で InterBase 使ってるとこなんすけど、
TDataSet の Filter だと検索値に漢字を使うとエラーが出て、
Lookup だと検索値に漢字を使ってても通るってことあります?
いや、手元でそういう現象が起きてて理由がさっぱり分からず・・・。
ちなみにエラーメッセージでは cannot transliterate character sets なんて言われます。
おしえて偉い人!

160 :デフォルトの名無しさん:02/04/22 18:38
Firebird・・・なんか将来的に不安があるような気がする、いや気がするだけだけど

161 :テッコイ:02/04/23 00:12
>159
よく知らないけど、CharacterSet は何を指定してるの?SJIS_0208?

Delphi 6 と IBX で問題なく Firebird が使えるはず。(そう、信じている。)

Firebirdに足りないのは機能じゃなくて、使う人たちだとおもう。使い込んで日本語情報をためていこう。


162 :159:02/04/23 00:42
>>161
レスさんくすこ。
IB6 で SJIS_0208 使ってます。
isql で SET NAMES するのに相当する
プロパティとかメソッドがないかと思って
探してみたんすけどそれも見つからず。
エラーメッセージ自体は、isql で SET NAMES を忘れたファイルを
食わせた時に出るものと一緒なんです。今現在お手上げの状態です。

163 :デフォルトの名無しさん:02/04/23 06:50
>>160
そうかぁ?むしろ商用に戻ったInterBaseの方が不安だろ。
160のFirebirdへの不安と言うのはオープンソースへの不安なのか?

164 :デフォルトの名無しさん:02/04/23 09:38
>>160
その不安を解消していけるのがオープンソースのいいところ(^^)

165 :デフォルトの名無しさん:02/04/23 09:58
そうかぁ?混沌に投げ込まれただけでは?
データベースとしてのバリデーション、どうするのよ。

FireBird プロジェクトの最大の課題である バグだし / QA 作業をほったらかして
議論するのはちょっとずるいぞ。


166 :デフォルトの名無しさん:02/04/23 12:44
FireBirdいい感じage

167 :デフォルトの名無しさん:02/04/23 13:16
D6 personalでも使えるデーターベースコンポーネント

IB Objects
http://www.ibobjects.com/

ODBC Access for Delphi
http://home1.infonia.ne.jp/~delphian/delphi/

168 :デフォルトの名無しさん:02/04/23 14:24
>>161
スレ伸ばしたいなら名無しに戻れ。

あと
> Delphi 6 と IBX で問題なく Firebird が使えるはず。(そう、信じている。)
> Firebirdに足りないのは機能じゃなくて、使う人たちだとおもう。使い込んで日本語情報をためていこう。

こういう盲目的で無根拠で両手を挙げてマンセー的な発言もやめとけ。
仕事柄その手の発言が嫌いな奴は大勢いる。漏れもな。

169 :159:02/04/23 14:59
自己解決しますた。
接続パラメータの lc_ctype が SET NAMES 相当品でした。
結局 google で偶然に某MLの過去ログがヒットして判明。
あとからヘルプで lc_ctype をテキスト検索すると片隅に・・・。

170 :デフォルトの名無しさん:02/04/26 20:34
superserverってアクセス制限どうすればいいの?
そのままだとどこからでもアクセスできちゃいますよね?


171 :デフォルトの名無しさん:02/04/26 21:01
>>170
Networkのsegment(sub network)切ってそこに閉じ込めるとか。駄目?

172 :デフォルトの名無しさん:02/04/27 01:16
>>170
Linuxとかなら、ホストレベルのパケットフィルタリング。

173 :デフォルトの名無しさん:02/04/27 10:41
無料でDBアプリを配布したい場合
BCBで開発したものを配布してオープンソースのIB6をインストールすればよいの?

174 :デフォルトの名無しさん:02/04/27 10:44
みなさん嘘つきですね。
このスレ見てスイーブっていうのやってみたけど全然ファイルサイズは小さくなりませんでした。
だまされましたよ。

175 :某乱堂:02/04/27 11:55
スイープではファイルサイズは小さくならない。
削除レコードの領域が再利用出来るようになるだけ。
バックアップからのリストアなら小さくなる。だが
とうぜんスイープより時間がかかる。

Accessのmdbと勘違いしてないか?

176 :デフォルトの名無しさん:02/04/27 12:11
バックアップ、リストアってどうやってするの?

177 :デフォルトの名無しさん:02/04/27 12:23
>gbak -b data.gdb backup.gbk
>gbak -r backup.gbk data.gdb

コマンドライン使えんならIBConsole使え。

178 :170:02/04/27 13:36
>>171-172
サンキュス。
サブネットって勝手に切っても大丈夫?
Linuxだけどパケットフィルタリングなんて大変なことしなきゃだめ?
パケットフィルタリングッテ良く分からないけど。。。

例えばゲートウェイ(えらい管理人さんが管理してる)ではポート
塞いでもらっておいて、内部からはそのポートへも
アクセスできるっていうので大丈夫なのかな?
みんなどうやってるの?


179 :デフォルトの名無しさん:02/04/27 18:31
>>178
今時のUNIX系OSなら/etc/hosts.allow,/etc/hosts.denyファイルに
port number: network address(ゾーン又はホスト単位)を記述して
接続の許可、拒否を行えます。調べるならキーワードはTCP_Wrapperなど。

物理的にネットワーク・セグメントを切る場合、自分自身が組織全体の
管理を行っているなら勝手にやって構わないでしょう。
自分に構成を変える権利が無い or 他に管理するメンバーがいる場合は
変更したい理由を添えて協力を仰ぐのが筋じゃないでしょうか。

絶対に外部へ漏れてほしくない場合は、グローバルなネットワークから
そのゾーンだけ物理的に切り離してしまう解もあり。

180 :デフォルトの名無しさん:02/04/27 18:42
すいません超初心者です。
InterBaseっていう独自の優越感にお邪魔します。
InterBaseって、sybaseみたいなもんだよね、ところで普通は、インターネットとは一緒にしないと思います。
>>1

181 :デフォルトの名無しさん:02/04/27 19:35
ばかこくでねえ。パケットフィルタリングとTCPラッパは全くの別ものじゃ。>>179

Linuxならipchains、iptablesでGoogleしてみよ。>>178


182 :デフォルトの名無しさん:02/04/27 19:39
>>180
その通りだ。インターチェンジとホームベースを一緒にしてはいけない。

だが、話題は既にFirebirdに移っているため、そんなことはどうでもいいのだ。

183 :意地悪い人=179:02/04/27 20:00
>>181 あー!なんでばらしちゃうんだよ 人の楽しみを(略


184 :デフォルトの名無しさん:02/04/27 23:11
>>183
必死だな。

185 :デフォルトの名無しさん:02/04/30 07:20
>>120 まだココ来てる?
XTG ODBC 1.0.0 beta 15 + Access97 SR-2
Interbase6.0.1 , Firebird1.0 双方とも接続できたんだけど
その使えなかったというAccessのversion教えてほしいのだが・・・

186 :デフォルトの名無しさん:02/05/03 00:37
InterBaseとFirebirdどっちを使えばいいと思う?

187 :デフォルトの名無しさん:02/05/03 21:49
Fireには日本語版がある

188 :デフォルトの名無しさん:02/05/09 22:22
Win95時代の古いPCからだとFirebirdへの接続するのにえらく時間が掛かるけど
(一旦接続できてしまえば、データのやり取りは支障ない)

誰か対策知ってる?

189 :デフォルトの名無しさん:02/05/10 00:42
ネットワークのホストを探すのに時間かかってない?
ネットワーク関連のドライバをチェックしてみるとか
HOSTSファイルにサーバーのIPアドレスを記述してみるとか。

190 :デフォルトの名無しさん:02/05/10 09:37
>>189
レス、どうもです
早速試してみます

191 :デフォルトの名無しさん:02/05/13 16:39
>>64 でも言われていますが、Interbaseが有償に戻った場合
現在、オープンソースで無料で使用可能な InterBase6 や
Firebird にどういう影響がでるのか心配です。
無料で商用利用できなくなる可能性はあるのでしょうか?
ライセンスに詳しい方いますか?

http://www.borland.com/devsupport/interbase/opensource/IPL.html


192 :デフォルトの名無しさん:02/05/13 19:58
オペンソースになった時点でそのソースはもう大丈夫。
だからFirebirdは大丈夫。
ただし今後InterbaseとFirebirdは互換性を失なっていく
可能性は大きい。

って事でOK?


193 :デフォルトの名無しさん:02/05/13 20:46
ボーランドが販売しているInterBase6.xはソースコード非公開の有償版ですけど。>>191

194 :ansi:02/05/13 21:36
JDBC2.0対応のカーソル対応のドライバってあるの?

195 :デフォルトの名無しさん:02/05/14 10:17
JAVA方面はよう知らんのだけど、SourceForgeにアップされているFirebirdSQL-1.0_beta_1.zipっつーのはダメなの?

196 :デフォルトの名無しさん:02/05/14 13:23
>>195
Thanx
InterClientってだいぶバージョンあがってたんだね

197 :デフォルトの名無しさん:02/05/14 19:29
Firebirdなんだけど、FreeBSDで使ってる人います?
Portsから入れようとすると、途中でこけるんですが。

198 :デフォルトの名無しさん:02/05/15 14:01
>>197
こけた時のメッセージきぼん。


199 :デフォルトの名無しさん:02/05/15 15:50
>198
新しいバージョンになっていたから
大丈夫かな〜っとおもったけど、やっぱりだめでした。
こんな感じです。

-------
source/interbase/bin/gbak -c misc/metadata.gbak /usr/ports/databases/firebird/work/refDatabases/jrd/metadata.gdb
can't format message 12:256 -- message system code -4
operating system directive semget failed
can't format message 12:256 -- message system code -4
No such file or directory
can't format message 12:256 -- message system code -4
can't format message 12:33 -- message system code -4
can't format message 12:169 -- message system code -4
can't format message 12:83 -- message system code -4
*** Error code 1
Stop in /usr/ports/databases/firebird/work/firebird-1.0.0.796.
*** Error code 1
Stop in /usr/ports/databases/firebird.
--------
FreeBSD4.5です。

200 :デフォルトの名無しさん:02/05/15 20:24
>>192
>>193
ありがとうございます。
既にオープンソース化されている
InterBase6.01 は、今後InterBase6.x以降が
有償のままオープンにならなくても無償で
使用でき、FireBird も無償で使用できる上
独自に拡張できるわけですね。

201 :デフォルトの名無しさん:02/05/15 21:23
Interbase/FirebirdってODBC使えますか?
特にBLOBなんかが心配なんですけど。


202 :デフォルトの名無しさん:02/05/15 21:42
ODBCぐらい使えるだろ

203 :デフォルトの名無しさん:02/05/16 01:26
>>201
わしはこれだけ確認した。
XTG ODBC 1.0.0 beta 15
Access97 SR-2
Access2002 SP1
BCB5 + BDE5.2

あなたがどこまで品質要求するのかわからんから、あとは調べてちょ

204 :199:02/05/17 12:32
>199のやつ、自己解決。
どうやらPostgresが共有メモリを食いつぶしていたのが
原因らしいです。


205 :デフォルトの名無しさん:02/05/18 15:55
>>203
感謝です。
単純なテーブルしか使っていないし
selectさえできれば良いので大丈夫そうですね。
後は試してみます。



206 :nanasi:02/05/19 01:01

>185
120です。再度チャレンジしたところ、
XTG1.0 Beta15 + Access2000でつながりました。日本語もOKでした。

ODBCの設定をファイルデータソースにするか、
コンピュータデータソースにするかで、ファイルにすると接続できないようです。

コンピュータデータソースで指定したら上手く行きました。
情報、サンクス。

207 :デフォルトの名無しさん:02/05/20 23:06
FireBirdってデータベース(ファイル)越しのクエリ使えないの?
Accessの"IN"みたいな構文ってないのかなぁ・・・

208 :デフォルトの名無しさん:02/05/21 20:32
debian sid に firebirdが入りました。

209 :デフォルトの名無しさん:02/05/22 21:24
IB6 オプソ版+IBX on Del6を使ってるんですが

write,nowait,concurrency,protected,lock_write=MYTABLE

というパラメータで2つのトランザクションを開始しても衝突してくれません。
これは isql 上での

SET TRANSACTION READ WRITE NO WAIT SNAPSHOT RESERVING MYTABLE FOR PROTECTED WRITE

とは違うのでしょうか?
isql 上ではこのようなトランザクションは衝突してくれるので
それを期待しているのですが・・・。

210 :209:02/05/23 01:52
解決しました。パラメータの指定順序の問題でした。以下が正解なんですね。

write,concurrency,nowait,lock_write=MYTABLE,protected

マニュアルに記載されているものとは何故か順序が逆になっているようです。
こんなことで8時間も使ってしまった・・・。

211 :デフォルトの名無しさん:02/05/28 12:25
保全age


ところでFirebird1.0だとデータベースパスに日本語通らないが
IBもそうなのか?

ソース見てないんだがSJIS->EUCのせい?

212 :デフォルトの名無しさん:02/05/28 14:36
>>211
フィールド作成するときやconnectするときにキャラクタセット指定してんのか?

213 :デフォルトの名無しさん:02/05/28 16:03
>212
>211が言ってるのは .gdb ファイルのパスの事だと思われ。

214 :211:02/05/28 18:49
>>213
そうだす。

Marathonかなり使えるんだがよく例外発生するな。
日本語版ホスィ・・・

215 :デフォルトの名無しさん:02/05/28 20:52
これは?
http://www.twise.co.jp/download.html

216 :デフォルトの名無しさん:02/06/03 15:22
>>211
IB5.6ですけどGDBファイルのパスに日本語通ってます


217 :211:02/06/03 18:30
>>216
そーなんですか。アリガトン。
予算があればIB使えるんだけど・・・

FB修正してバックポートする気力も無いし(鬱

218 :デフォルトの名無しさん:02/06/03 20:08
>>217
http://www.ibphoenix.com/ibp_interbase_download.html

Open Source Interbase ってのもあるみたいです。
試してないですけど。。。

219 :デフォルトの名無しさん:02/06/03 23:20
下記参照>>218
http://slashdot.jp/~yasusii/journal/

220 :デフォルトの名無しさん:02/06/04 09:59
>>219
??
どういうことですか?

221 :デフォルトの名無しさん:02/06/04 10:30
>>220
??
何が?

222 :デフォルトの名無しさん:02/06/04 13:47
>>221
Open Source Interbase にはバイナリ版があるんですけど…

223 :デフォルトの名無しさん:02/06/04 16:07
>>>222
ますますわからん。
Borlandが公開しているソースそのままではビルドできんというのは事実だが、そのこと言っとるのか?

224 :デフォルトの名無しさん:02/06/07 16:14
IB/FBってデータベース(ファイル)単位のセキュリティってないのれすか。
Accessのパスワードみたいなやつ。
せっかくDBもアプリも配布しやすいRDBMSなのに・・・

225 :デフォルトの名無しさん:02/06/11 19:18
>>224
へ?

226 :デフォルトの名無しさん:02/06/11 23:41
>>224
は?


227 :224:02/06/12 22:26
ん?なんか変なこと書いた?

228 :デフォルトの名無しさん:02/06/13 09:18
>>227
ほおお。


229 :デフォルトの名無しさん:02/06/13 18:49
>>227
ほほう。


230 :224:02/06/15 00:13
うええん、みんなしていぢめるう。

231 :デフォルトの名無しさん:02/06/15 01:50
いや、俺も224と一緒で、
ファイル単位でのセキュリティって思いつかないんだけど(@InterBase)。
サーバー単位でユーザーアカウント作ってGRANT/REVOKEしてってのは分かるけどさ。
そのユーザーアカウントをDBファイルの方に入れる方法ってあるの?

232 :デフォルトの名無しさん:02/06/15 23:11
>>231
そうなのよ。
運用鯖でバリバリにユーザー管理してもファイルコピーして
インストール状態のIB/FBに持っていくとsysdbaでデータ見られてしまう罠。

機能的にはあってもよさそうなんだけど、どっかのベンダとかが出してないのかな〜

せっかくのオプソなんで時間&スキルあればそーいうExtensionとか
実装させてみたいと思うんだけど・・・

つかFireBirdってなんでコンパイラVCなのよ?

233 :デフォルトの名無しさん:02/06/17 14:11
>>232
元のInterBaseがVCで書かれていたから。
InterBaseがBorlandの製品になる前にMS-Cで書かれてたからかな?
FireBirdもVCに依存する部分をこれから無くしていくんじゃなかったけ。

234 :デフォルトの名無しさん:02/06/19 22:28
>>224>>231>>232
Access みたいにローカルで運用するもんじゃないから。

> インストール状態のIB/FBに持っていくとsysdbaでデータ見られてしまう罠。
見られたくないDBを何で持っていく?


235 :デフォルトの名無しさん:02/06/20 05:59
>>234
他のRDBMSだと程度の権限がないとよそへデータを持っていったり(エクスポートしたりとか)
することができないけど、IBだとファイルコピーされたら終わってしまうというのがなんとも・・・

>見られたくないDBを何で持っていく?
今考えてるのは組み込み用途みたいなローカル限定の環境で使えないかなというところで考えとります。
せっかくファイルベースのRDBなんだからファイル単位のセキュリティがほしいなということで。

「用途/目的が違うから」の一言で済ませてしまうにはおしいな・・・

236 :デフォルトの名無しさん:02/06/20 15:32
何がしたいのかさっぱりだが、SYSDBA削除しとくかパスワード変えとけば
いいって話じゃないのか?

237 :デフォルトの名無しさん:02/06/20 18:08
>>235
>IBだとファイルコピーされたら終わってしまうというのがなんとも・・・
これは運用でカバーするしかないね。
Win2KやUnix系ならOSの機能使って対処すればいいと思うよ。
パーミッション設定して他人から見えないようにするとかして。

>>236
SYSDBA 削除したらまずいだろ。管理できなくなるよ。たぶん。
パスワード変えようが意味ない。
ユーザ情報はサーバにある isc4.gdb で管理しているみたいだからね。
231の言うようにDBファイル自身にユーザ情報が入れれれば確かに
いいような気がする。ただそうなると、管理者でさえそのDBにアクセス
できなくなってしまうから、まずいのかな?
(一応管理者はすべての権限があるという前提で言うと)


238 :デフォルトの名無しさん:02/06/20 19:13
>>237
クライアントの接続文字列にDBへのパスが含まれるから
そこから所在がバレそうだね。

239 :デフォルトの名無しさん:02/06/20 21:16
なんなんだろう?
みんなが何を心配しているのか見当がつかない。

>>235
なんで見られるとマズイ?
データが外に漏洩したのとは違うし、見られてまずいことなど何もないと思うけど。

>>238
所在がばれると何か問題なの?
所在がばれた程度でデータ盗まれるような管理してることの方が余程問題でしょ?


240 :デフォルトの名無しさん:02/06/20 23:23
>>238
DBパスはばれても、要はGDBファイルはコピーできないようにしておけば問題ないよね?

>>239
>なんで見られるとマズイ?
何らかのミスがあって、GDB ファイルが外部に持ち出されてしまいました。
ってときに、GDB ファイル単位にパスワードとか設定できるのであれば、
例え外に持ち出されてもパスワードまで漏れなければ中身を見られることは
まずないよね。


241 :デフォルトの名無しさん:02/06/21 01:42
ええい、こうなれば暗号化BLOBフィルタ自作しる。

242 :デフォルトの名無しさん:02/06/21 11:50
>>240
ファイルが読めりゃ、パスワードなんか分かんなくたって、いくらでもデータを読む方法あるでしょ。

243 :デフォルトの名無しさん:02/06/21 12:23
>>242
データ自体を暗号化すればいいんでは。
パスワードを暗号キーとするとか。


244 :デフォルトの名無しさん:02/06/21 13:20
>>243
某のところにもそんなの書いてあったな。
プロトコル/データを暗号化してしまえばいいんだろうが
どっかにミドルウェアないかな(w

245 :デフォルトの名無しさん:02/06/21 15:51
こんなの見つけた。

http://www.delphi32.com/vcl/4808/

246 :デフォルトの名無しさん:02/06/24 12:45
パスワードでガチガチなのも困りよう。
(BackDoorセキュリティホールは痛かったけどな。)
http://www.zdnet.co.jp/news/0206/12/ne00_museum.html

247 :デフォルトの名無しさん:02/06/28 23:40
Firebirdの本って出ないのかな?
WEB+DBの加藤さんの記事だけだよね。

248 :デフォルトの名無しさん:02/06/30 16:21
オープンソースになったんだから
もう少し露出があってもいいんだがなあ>firebird



249 :デフォルトの名無しさん:02/06/30 17:18
誰かユーザーグループかメーリングリスト立ち上げないかな。

250 :デフォルトの名無しさん:02/06/30 21:34
結局日本語だけのコミュニティで出来る事って限られてるって
事なんでしょう。

251 :デフォルトの名無しさん:02/07/01 11:29
せっかくいいもんがオープンソースになったんだから
もうちょっと知名度が出ても良いと思うんだけどね。
牽引者がいないのがつらいところだわなあ

252 :デフォルトの名無しさん:02/07/08 19:05
そういうことはageで言え!


253 :デフォルトの名無しさん:02/07/13 12:52
>>251
なんと
日系オープンの7・8合併号に
オープンソースDBMSとしてMySQLやPostgreSQLと一緒に
出てる
内容はただの照会程度

254 :デフォルトの名無しさん:02/07/15 18:01
日経オープンシステムだろうが>>253

255 :デフォルトの名無しさん:02/07/15 18:06
紹介だろうが>>253

256 :***:02/07/15 21:14
日系ソフトウェアで、BDEの開発停止、今後はInterBaseを推奨、みたいな記事をちらっと見たんですが、はっきり言って、del使いにとって、この影響はどのくらいなんでしょうか。
また、InterBaseってのはどのくらい良い/悪いDBMSなんでしょうか。

私的には、資料が皆無に等しいというのが欠点に見えるのですが。

257 :デフォルトの名無しさん:02/07/15 21:39
>>256
一般的なSQLの知識があればあとはヘルプを見ながらなんとかなるよ

Delphiの場合
IBTableは使わないほうが無難だけど(俺は代わりにIBDataSetを使ってる)

258 :デフォルトの名無しさん:02/07/15 21:48
んvbんv

259 :デフォルトの名無しさん:02/07/16 10:45
>>257
禿同。IBTableはかなり危険だ。

>>256
BDEはあまり好きじゃないんで最近はdbExpressとADOばっか使ってるが
ADOあればBDEいらないんじゃないかな〜と思う。
なんだかんだいってもADO楽チンだし。

資料は付属のマニュアルでほとんど間に合ってる。
(いい意味で)低機能RDBMSなんであまり悩むことがないかな。


ところでIBのOLE DBドライバ(っていうのか?)って
http://www.oledb.net/
以外にない?
商用利用できるのがほしいんだが・・・

BorlandはOLE DBドライバ配布しる!

260 :デフォルトの名無しさん:02/07/16 15:48
>>259

> 禿同。IBTableはかなり危険だ。

これはどうしてでしょう?教えてたもれ

261 :デフォルトの名無しさん:02/07/16 16:37
IBTableをOpenするのは
SELECT * FROM テーブル名
と同じだから、無駄なデータがイパーイ流れたりする

ましてや、Paradoxのテーブルと同じようなつもりで扱うと
凄まじい量の問い合わせが発生したりする
(初めて使ったとき計算項目で他のテーブルを参照してエライ目にあった)

ま、おいらがヘタレなだけかも知れんけど

262 :デフォルトの名無しさん:02/07/16 17:23
IBTable ってリークしてない?

263 :デフォルトの名無しさん:02/07/16 17:32
>>260
参照オンリーだとあんまり問題でないが、更新したりするとFetchしなくなったりすることが多い。
DataControlとかと一緒に使うと挙動不審なところがある。
(入力値が反映されなかったりとか)

全体的にTIB〜は他のTDataSetを継承したクラスと実装が微妙に違うっぽい。
(ソース追ったわけではないが)

FilterとIndexはちゃんと動くんでそっちを多用する場合は(フィルタ&ソートとか)
TIBTableのほうが使い勝手がいい。

あとは>>261のとおりパフォーマンスの面がけっこう大きい。

TIBTableが危険だっていうのMLのログで見たような・・・

264 :サプリ:02/07/16 18:08
ターボチャージは、極度な時にも最大限の力を発揮したい人
に頼りになる栄養補助食品です。締め切りが迫っている、
今晩中にあるいは翌朝までにやり遂げなければならない時に
頼りになるハーブ食品
www6.ocn.ne.jp/~beauty-s/index.htm

265 :デフォルトの名無しさん:02/07/16 21:08
サーバが変わると順番も変わっちまうからな
倉庫落ち阻止上げ

266 :デフォルトの名無しさん:02/07/18 05:50
危険というか、SQL 使う意味が無くなることが一番の原因では?
>>261 で指摘されているように、基本的にサーバのデータをローカルに
コピーすることになるから。

実際には(SQL サーバーを参照する)TTable にしろ TIBTable にしろ
いくつかの負荷減少コードが実装されているが、程度の問題に過ぎない。


267 :デフォルトの名無しさん:02/07/18 18:59
>>266
>危険というか、SQL 使う意味が無くなることが一番の原因では?

SQLを使わなくてもいいようにラップしてくれるのがTDataSetなんですが・・・

268 :デフォルトの名無しさん:02/07/28 16:32
メーリングリスト作ってよ誰か。
あとさぁ、だれかソースハックしてる人いる?
手を入れやすい?


269 :デフォルトの名無しさん:02/07/28 19:59
リオスのメーリングリストならあるよ。
InterBase4をLinux/FreeBSDにポートした人たちもいる。
http://iblinux.rios.co.jp/
今のFirebirdのソースを追っかけてるかどうかわからないけど、
アドバイスはもらえるんじゃない?




270 :デフォルトの名無しさん:02/07/29 15:11
>>268
ちろっとしかソース見てないが
Win版は環境つくるのがめんどかったような・・・
VC++とBCC使うんだっけ?

271 :デフォルトの名無しさん:02/07/29 17:07
FireBird最新版(1.0)に上げたら、今まで使ってたIB Consorlが使えなくなってしまいました。

Windows環境から、IBサーバをGUIな環境で見てらっしゃる方はいらっしゃいますか??

ODBC + MS Accsess
ODBC + WinSQL
と試してみましたが、IBコンソールほど、使い勝手がよいとも言えず、
模索中です。

# ODBC接続だったらDB毎にODBCで接続してやらないといけなくて・・・

272 :デフォルトの名無しさん:02/07/30 05:31
OpenOffice/StarSuiteは使えんのかな。


273 :デフォルトの名無しさん:02/07/30 10:08
>>271
Marathonがかなりお勧め

http://gmarathon.sourceforge.net/

274 :デフォルトの名無しさん:02/07/30 11:36
>>271
>FireBird最新版(1.0)に上げたら、今まで使ってたIB Consorlが使えなくなってしまいました。
普通に使えてますけど・・・OSはWindows 2000とXP

275 :274:02/07/30 11:38
修正、XPは未確認でした

276 :271:02/07/30 11:51
>>274

ログインしようとすると

Cannot attach to services manager
Services functionality will be supported in a later version of the product

と表示されてしまうんです。
ちなみに、Win2000です。
コンソールは、1.0.0.327Jです。

どこか設定ミスでしょうか。

277 :274:02/07/30 11:57
>>276
自分のバージョンは1.0.1.335JP Fix01(多分Del6についてたもの)です

バージョンアップで解決できそうですね

278 :271:02/07/30 12:23
ありがとうございます!

ちなみに、Del6は、Professional以降ですよね??
Personalしか持っていないので、やっぱ、お金かけないとダメですね。
使いやすさを求めるなら。(T_T)

279 :271:02/07/30 15:59
1.0.1.335JP Fix01で試してみました。
しかし、やはり同じエラーが発生しました。

ちなみに、Borlandからダウンロードできました。( 278は無視してください(w )

# まだ、何かあるのかなぁー

280 :271:02/07/30 16:55
自己解決してしまいました。

Clasicサーバーじゃ、使えないんですね。。。スマソ

281 :デフォルトの名無しさん:02/07/31 23:09
今日はじめてIBAccessを使ってみた・・・感動しました。
IBConsoleよりも使い勝手いいかも。

282 :デフォルトの名無しさん:02/08/02 16:19
どういうところが使い勝手が良いと思われました??

283 :デフォルトの名無しさん:02/08/02 17:20
>>273で挙がってるけど
marathonのほうが上だと思うんだが・・・

284 :デフォルトの名無しさん:02/08/02 20:59
firebird日本語版のデフォルトのadminの名前とパスって何?
SYSDBA/masterkeyでログインできないんだけど。

285 :デフォルトの名無しさん:02/08/03 22:09
私も FireBird 日本語版使用してますが、login のデフォルトパスワードは、
'SYSDBA'
'masterkey'
で login できています。


286 :デフォルトの名無しさん:02/08/03 22:23
InterBaseのODBCドライバーやユーティリィティのリンクです。
ttp://www.cvalde.com/misc/packages_and_utilities.htm


287 :デフォルトの名無しさん:02/08/03 23:49
Linux版だとスーパーユーザーしかDBAでログオン出来ないんじゃ?
違ったっけ?(そもそもプロセス落ちてるとか。)

288 :デフォルトの名無しさん:02/08/07 18:36
284>>
アカウント管理用のDBが無いとか(^^;

289 :デフォルトの名無しさん:02/08/11 11:49
これか・・・( ゚д゚)ポカーン
http://ex.2ch.net/test/read.cgi/nanmin/1028974649/l50

290 :デフォルトの名無しさん:02/08/11 16:22
>>462
いや、これだ
http://2style.net/maido/R3_temp.swf?inputStr=%83q%83%87%83f%81%5B%83C%81I%81I%81I%81I

291 :デフォルトの名無しさん:02/08/21 11:20
C++Builderで開発したプログラムからInterBase6.01を利用してるんだけど、
アクセス負荷をかけると 'lock manager out of room'  ってエラーが
出ちゃいます。

isc_configのV4_LOCK_MEM_SIZEを増やしてみたら改善はしたけど、
まだ現象は出る・・・。これって、何がまずいんですかね? 
プログラムのせい?

292 :デフォルトの名無しさん:02/08/21 13:56
273>
283>
Marathon すごい高機能ですね!感動しました!
IBConsoleより、よっぽど便利な気がするのですが・・・

293 :デフォルトの名無しさん:02/08/22 20:03
>>291
OSは?SuperServerか?


294 :291:02/08/22 21:40
RedHat6.2です。

295 :デフォルトの名無しさん:02/08/22 23:45
>>294
だからよー、SuperServerかって聞いてんの。

296 :294:02/08/23 00:47
>>295
違います。SuperServerではないです。

297 :デフォルトの名無しさん:02/08/23 08:20
FireBird Serverで、IPでのアクセス制限ってかけられましたっけ?
OS(LinuxやWin2000)で、制限しないとダメでしたでしょうか?

環境:Windows2000,FireBird1.0,Apache2.0.35

298 :291:02/08/23 16:37
間違えました。RedHat6.2じゃなく、7.2です。

299 :デフォルトの名無しさん:02/08/23 20:24
ただ単に「負荷をかけたら」じゃ誰も何もわからないぞ。
具体的な内容を示せ。
V4_LOCK_MEM_SIZE 変更して、改善されたのか?
じゃ値をもっと大きくするとどうなる?
場合によってはLinuxカーネルの方もチューニングする必要あるかもしれんぞ。
http://www.ibphoenix.com/ibp_sem_sm.htm
>>298
iblinuxメーリングリストでも同じこと質問してるだろ。
答えが欲しいなら、ちゃんとした情報を付けて
メーリングリストの方に出し直せ。

300 :300:02/08/25 03:02
300get

301 :デフォルトの名無しさん:02/08/26 21:27
>>300
キリバンゲット代金として一万五千円いただきます。

302 :デフォルトの名無しさん:02/08/27 13:56
Firebird使ってみたいんですが、Delphi5からFireBirdを使うには添付のinterbase用コンポーネントで大丈夫なんですか?


303 :デフォルトの名無しさん:02/08/27 13:57
>>302
ダイジョーヴイ

304 :303:02/08/27 13:58
あ、でも漏れはDel6だった

305 :デフォルトの名無しさん:02/08/27 14:37
Del5でもOK

306 :InterBase初めて使う:02/09/02 01:31
フルLinuxベースで、
InterBaseをDBにしてシステム組んでますが、問題にぶちあたりますた。
JDBC系(Javaサーブレットから)、とそれ以外(主にkylixアプリ)、
の二系統から同時に接続しています。

JDBC系でデータ更新すると他のJDBC系の接続ですぐ更新したデータを見れるのに
JDBC以外の接続から見るとデータが更新されてなかったり(遅れて更新されたり)
それ以前に、片方が接続していると、もうかたほうの系統が接続できなかったり
する事もあるし、もうわけわかりません。

同じような体験してる人いますか?


307 :デフォルトの名無しさん:02/09/02 12:18
サーバー側のJDBCドライバで更新がキャッシュされてるっぽく
ないですか?Kylix側はdbExp.だからGDS直叩きですよね?

308 :306:02/09/02 23:32
そうなんです!
やっぱりキャッシュされてるのかな?
Javaから直にアクセスする方法はないものか・・・

そもそも、JDBCと、それ以外の接続の混在は想定されてないとか・・・
まさかそんな事はないよね。

(日本語の)Web、ML、ニュースグループ、書籍、ありとあらゆる情報調べたけど、
参考になりそうな情報もなし・・・


309 :デフォルトの名無しさん:02/09/03 10:53
>>306
JDBCやdbExpはわからんけど、両者でデフォルトの排他レベルが違ってるとか。

310 :デフォルトの名無しさん:02/09/03 12:33
http://www.jcorporate.com/econtent/Content.do?state=resource&resource=568
ここの接続パラメータのcache="n"だとか?


311 :306:02/09/04 13:32
>>309
確認してみました。デフォルトのままで、同じレベル
(commit_readed?だっけ?)になってました。レベル自体も、問題ないみたいだし・・・

>>310
せっかく情報いただいたけど、このcacheに相当する設定がいったいどこにあるやら
いろいろ探したけどわかりませんでした・・・スマソ

別な方法考えるしかなさそう。Java(servlet)からInterBaseにアクセスするには、
他に方法はないのだろうか。

ボー○ンドは、高いサポート料を別に払わないとサポート受けられないし・・・(悲


312 :デフォルトの名無しさん:02/09/04 13:36
>>311
オープンソースってのはそういうものさ。

313 :Firebird にしようよ!!!:02/09/04 14:59
>>306
より詳しく環境を提示してくれない?

>フルLinuxベースで、
>InterBaseをDBにしてシステム組んでますが、問題にぶちあたりますた。
>JDBC系(Javaサーブレットから)、とそれ以外(主にkylixアプリ)、
>の二系統から同時に接続しています。

・Linux はディストリビューション、バージョンは?
・InterBase のバージョンは? Classic or Super
・InterClient のバージョンは?
・JDK のバージョンは?
・サーブレットコンテナは?


314 :313 の続き:02/09/04 15:00
>JDBC系でデータ更新すると他のJDBC系の接続ですぐ更新したデータを見れるのに
>JDBC以外の接続から見るとデータが更新されてなかったり(遅れて更新されたり)
>それ以前に、片方が接続していると、もうかたほうの系統が接続できなかったり

サーブレットで JDBC 使ってデータ更新とかしてるってことだと思うけど、
どうやってるの?コネクションプールしてるとか?

とりあえず、オレもサーブレットで InterBase/Firebird 使ってるけど、オレの場合は
コネクションプールとかはしてなくて、HTTP リクエストごとに、
 DB接続→データ更新→DB接続切断
のような単純な処理してるけど、DB接続切断後に IBConsole とか使って確認したりしてるけど、
更新されてないようなことは今までないけどね。(当然のことだと思うが。)

どの時点で見てみて、更新されていない状態になるってこと?
トランザクションコミット後?DB切断後?
まさかコミット前ってことじゃないよね?

ちなみに当方の環境例)
・Win/Linux + Firebird 1.0SS + Tomcat 3.x/4.0.x + InterClient 2.01 + JDK 1.3.x/1.4.x
・Win + InterBase 5.6 + InterClient 1.6 + Tomcat 3.x (4.0.x) + JDK 1.3.x


315 :314 の続き:02/09/04 15:00
>>311
>せっかく情報いただいたけど、このcacheに相当する設定がいったいどこにあるやら
>いろいろ探したけどわかりませんでした・・・スマソ

ちらっと見たけど >>310 のって JDBC と無関係なんでは?

Connection 時に "suggestedCachePages" っていうキャッシュ関係のパラメータがあるみたいだけど、
何か関係があるのか?? オレは使ってことないし、よくわからないけど。
(デフォルトは 0 みたいだからキャッシュしないと思うけど。)


>ボー○ンドは、高いサポート料を別に払わないとサポート受けられないし・・・(悲

そうだね。それに金払っても問題解決するとも限らないし。


316 :Firebird にしようよ!!!:02/09/04 15:41
言い忘れたけど、

>JDBC系(Javaサーブレットから)、とそれ以外(主にkylixアプリ)、
>の二系統から同時に接続しています。

ってことで、サーブレットで更新したデータが kylix アプリの方で
更新前のものが読み込めちゃうってことなんだろうけど、
何かキャッシュの問題じゃなくてトランザクションの問題のような
気がしてきた。


>確認してみました。デフォルトのままで、同じレベル
>(commit_readed?だっけ?)になってました。レベル自体も、問題ないみたいだし・・・

デフォルトの排他レベルは SNAPSHOT なんじゃないの?
この場合は、サーブレット側のデータ更新前に、Kylix の方でトランザクション開始して、
サーブレット側データ更新後に、Kylix の方でそのままのトランザクションで
読み込もうとしても更新前のデータが読み込めるから、それが原因のような気がしてきた。

本当に READ COMMITTED なのかどうか確認した方がいいと思う。

もう一つの確認方法として、データ更新前に kylix アプリで内容を確認しておいて、アプリ終了する。
次にサーブレット側でデータ更新してから、再度 kylix アプリを起動して内容を確認してみる。
更新された内容が読み取れるのであれば、kylix 側アプリのトランザクションの設定が問題の
可能性が高いと思う。


317 :デフォルトの名無しさん:02/09/04 18:51
... ぜんぜん「InterBaseを使いこな」してないじゃん。

318 :デフォルトの名無しさん:02/09/04 19:27
DelphiでIB使うとき(kylixもたぶん一緒)
トランザクションが常に存在してるような感じになるから
Web側で更新された後にKylix側のトランザクション張りなおす
ような感じにしないとだめなような気が。

使ったこと無いけどEventAlert使ってみるとか

319 :Firebird にしようよ!!!:02/09/04 21:00
>>318
たぶんそれが問題だろうね。
でもわざわざイベントアラータ使わないで、明示的にトランザクションすれば間違いない、はず。

>>306

下のようなコードにした方がいいってこと。


------------------------
■ データ読み出しメソッド
------------------------

(トランザクション開始)
try
select ... from ...
(コミット)
except
(ロールバック);
end;

------------------------


320 :306:02/09/07 00:05
いろいろありがとうございます。レスが遅れてすいません。

>>313
DB:Redhat7.2 Linux + InterBase6.0サーバー SS
servlet(WEB):RedHat7.2 Linux + JRUN4.0 + InterClient2.02
です。InterBaseの動作環境はRH7.0なんですよね。でも、7.0にインストールしたら全然動かない・・・

>>314
>>更新されてないようなことは今までないけどね。(当然のことだと思うが。)
ちょっと説明不足でしたが、こちらも、JDBCとIBConsoleだけの時は大丈夫なんです。

>>316
>>デフォルトの排他レベルは SNAPSHOT なんじゃないの?
スンマセン、確認したらその通りでした。間違ってました。

そして、レスを参考に、考えなおしてみました。今まで、InterClientばかり問題視してたのですが、
みなさんおっしゃる通り、kylixの接続によりJDBCが排他される、と考えると、
今までの現象が全部納得いきました。



321 :306:02/09/07 00:06

そして、それぞれのkylixの接続の状態で、JDBCの書き込むがうまくいくかどうか調べたところ、
・kylixがconnectionだけ --> JDBC書き込みOK
・connection+select(トランザクションにしない) --> NG
・connection+select(トランザクションとして、commitまで行う) --> 期待したのですが、NG
・connection+select+切断後 --> OK
・connection+select+切断後+またconnectionだけ --> なぜかNG

とにかく、kylixが一度でもアクセスしちゃうと、だめみたいです。
その間は、JDBCから書き込みしてもIBConsoleから見えないし
(しかしJDBCエクスプローラで確認すると見える InterServerのキャッシュにある?)
そして、kylixを切断すると、すぐにIBConsoleから見えるようになりました。

いちいちselectするたびに切断というのも・・・トロくなるし

というわけで、もう時間もないのでちょっとDBの扱いかたを変えて行くことにしました。
(JDBC系とkylix系のデータを別ファイルにする。さすがに別ファイルだと排他されませんでした。
二つのファイルの整合は、別な処理で行ってあわせる)
いろいろありがとうございました。

あとで時間があったら、ちゃんと解決したい・・・



322 :デフォルトの名無しさん:02/09/09 12:45
Connectionではロックは掛からないようです。
明示的なトランザクションを掛けてないとするとデフォルトトランザクション
に問題が?一度パラメータの内容をログに吐かせて確認を。
http://www.borland.co.jp/interbase/tech/free_ib_compo/compo05.html

IBXのバグかも知れないのでこちらのチェックも。
http://codecentral.borland.com/codecentral/ccweb.exe/author?authorid=102


323 :デフォルトの名無しさん:02/10/01 21:44



324 :デフォルトの名無しさん:02/10/03 13:49
FireBird V1.5 Alpha1 ダウンロード開始age。

プロシージャ、トリガ内の言語が拡張されていてなかなか良さげ。
CASE, NVL, NULLIFとかあるぞ。

ところで重いストアドを実行中は他のクライアントからの軽いクエリとか
でも急に重くなるんだよな。なんかいい案ない?


325 :デフォルトの名無しさん:02/10/04 21:10
isqlにヒストリ機能が付きました。ここだけが不満だったの。

326 :デフォルトの名無しさん:02/10/12 07:28
>>324
夜間バッチ

327 :324:02/10/16 22:28
リアルタイム処理なんで夜間バッチはちょっとね。。。

InterBase/FireBirdは現状SMPに対応してないんだっけ?
対応してるならSMPのCPUパワーにものを言わせて解決しても良いんだけど。
SMP未対応ならHyperThreadのXeon, P4でもうまく動かないのかしらん。


328 :デフォルトの名無しさん:02/10/17 01:09
>>327
http://www.geocrawler.com/archives/3/5501/2002/6/0/9054986/

329 :デフォルトの名無しさん:02/10/24 15:07
サーバの現日付を得たいのだが
どう問い合わせればいいのでしょう?
oracleでは
select sysdate from dual;
とかで大丈夫なんだけど・・・
あと、tableの一覧修得方法などをご存じの方
どうかご教授くだされ

330 :デフォルトの名無しさん:02/10/24 16:07
>>329
SELECT CURRENT_DATE FROM NANIKA_TABLE;
SELECT CURRENT_TIME FROM NANIKA_TABLE;
SELECT CURRENT_TIMESTAMP FROM NANIKA_TABLE;

これで取得できる。
テーブルの一覧は qli を使えば show fields; でいけるはず。
isqlとかでやる方法は知らない。

331 :火の鳥:02/10/24 16:18
>>329

SELECT rdb$relation_name AS tablename
FROM rdb$relations
WHERE rdb$view_source IS NULL
AND rdb$system_flag = 0
ORDER BY rdb$relation_name; ← この行は必ずしも要らない

もっとシンプルな方法があるかもしれないが、漏れはこれ使ってる。

332 :デフォルトの名無しさん:02/10/25 09:25
おお!
出来ました、出来ました!
ふと気になったのですが、
SELECT CURRENT_TIMESTAMP FROM Nanika_Table;
としたとき、ものすごい件数で結果が表示されますが
これを一件とかにできないのかなー?
SELECT CURRENT_TIMESTAMP
FROM NANIKA_TABLE
WHERE ROWNUM = 1;
としても、エラーが出るし
むぅ・・・
>331さんのテーブル一覧の方法
ものすごく勉強になりました。
本当にありがとうございました


333 :火の鳥:02/10/25 10:13
>>332

>SELECT CURRENT_TIMESTAMP FROM Nanika_Table;
>としたとき、ものすごい件数で結果が表示されますが
>これを一件とかにできないのかなー?

うーん。煽りでもなんでもなくて、一度SQLの基礎を学習したほうがよいのでは?
Oracleマスターの試験を受けてみるとか(IBと直接関係ないが、SQLやDBの基礎
構造を学習する意味で有益)、IBのマニュアルを死ぬほど読み倒してみるとか、

このSQL文では テーブル "Nanika_Table"のレコード数だけ結果が返ってくる
ことはわかりますよね。
ならば、1行しか存在しないダミーテーブルを作ってそのテーブルから
同じように取得するとか、あるいは

SELECT MAX(CURRENT_TIMESTAMP) AS ctimestamp
FROM Nanika_Table;

のように必ず1行しか値を返さない関数を使用するとかの方法があると思います。

334 :デフォルトの名無しさん:02/10/25 10:27
あ、ご指摘ありがとうございます
いわれてみるとそうですね。
動作が
NANIKA_TABLE = DUAL
と考えてしまいました
もう一度、自分のスキルを見直してみます

それはそうと、InterBaseでもoracleのrownumに
変わるものってありますか?

335 :火の鳥:02/10/25 12:00
>>334

>それはそうと、InterBaseでもoracleのrownumに
>変わるものってありますか?

残念ながらぬぁいです。
ここで終わってしまうと身も蓋もないので、
ヒントだけ。簡単に説明できないので、あとは334氏のスキルの向上に期待します。

1。 InteractiveSQLなんかでGeneratorを作成
CREATE GENERATOR gen_rownum;

2. 作成されたGeneratorを使用して目的のテーブルに付加する。
SELECT gen_id(gen_rownum, 1) AS rownum, Nanika_Table.*
FROM Nanika_Table;

これでいけるはず。実際にはORDER BYなんかが絡んでくると
簡単には逝かないかもしれない(ちょいとテストで組んでみたんで
複雑なSQLではうまくいくかどうか未検証)上に、generatorのリセットが必要。
連続して実行するとgeneratorが加算されてしまう。
その場合は SET GENERATORを使用すればよろし。
詳しくはIBマニュアル「埋め込みSQLガイド」p96〜97および「データ定義ガイド」
p179〜 あたり見てみ。

ヒントといいつつ結局ほとんど記述しちまったよ…。


336 :火の鳥:02/10/25 12:17
スレの流れと関係ないが

>>3
>Twise Lab
>ttp://www.twise.co.jp/index.html
>オープンソース版の日本語対応を行っている

たった今、たまたまここに逝ったんだけど、
「※FireBird関連のソフトは、ライセンス関連が明確ではないため、
配布を中止いたしました。」

と出てますた。
FBでアプリ配布してるんで、非常に気になるんだけど、なんかあったんだろか?
ibphoenixあたりに行っても、よくわからんかったし。
詳細またはライセンス体系の情報をもってる人誰かいたらお願い。

337 :デフォルトの名無しさん:02/10/26 11:39
>335
なるほど、こういう方法があったなんて・・・
とても驚きです

InterBaseのマニュアルは持っていないので
Borlandからの購入を考えようと思っています

338 :デフォルトの名無しさん:02/10/26 17:41
>>337
IB6.5を使ってるわけじゃないんなら金を出すにはおよばないよ。

http://lowlife.jp/cgi-bin/moin.cgi/FireBird

これの下の方に pdf 製マニュアルへのリンクがある。
IB6.0の英語マニュアル、IB5.6への日本語マニュアルが手に入る。

http://www.kt.rim.or.jp/~nagai/bio/db.txt

ここには Postgre/InterBase/Sybase/Oracle の違いを軽くまとめたメモがある。

339 : :02/10/26 23:09
よいインターネットですね。

340 :デフォルトの名無しさん:02/10/27 02:14
JAVA方面はよう知らんのだけど、SourceForgeにアップされているFirebirdSQL-1.0_beta_1.zipっつーのはダメなの?

341 :デフォルトの名無しさん:02/10/27 02:38
>>336
うちもFB使ったアプリを配布してるけど、このライセンスで問題ないんじゃない?
FB自体に手を入れた場合についてはごちゃごちゃ書いてあるみたいだけど
単体を配布するだけなら特に何もないはず。
その点、あそこで配布してた日本語版は手を入れた代物だからじゃないかと。

>>340
何が知りたいんだかさっぱり分からんからレスのしようがないぞ。

342 :337:02/10/27 19:05
>338さん
マニュアル、早速ダウンロードして読んでみます
教えてくださって本当にありがとうございました。

343 :デフォルトの名無しさん:02/10/29 12:03
IBTable ってリークしてない?

344 :デフォルトの名無しさん:02/10/29 12:51
Prepare, UnPrepareの対は正しく対応しているか、Finally
ブロックで確実に行われているかチェック。

345 :デフォルトの名無しさん:02/10/30 08:54
FireBird で SQL を勉強しはじめた者です。
プライマリキーを Double Precision 型にしたのですが、
TIBQuery で INSERT 文を発行するのにパラメータを使いたいのですが、
型の対応がわかりません・・・
TFieldType 型の何に相当するのでしょうか?
よろしくお願いします。

346 :345:02/10/30 08:56
書き忘れてしまいました
使っているのは FireBird 1.0 と Delphi7 です。


347 :火の鳥:02/10/30 10:32
>>345

ここで質問するまでもなく、
Delphiの設計画面で TIBDatabaseで接続して、TIBQueryにSQL文を
指定し、項目エディタで全フィールドを追加して、調べたいフィールド
のタイプを見ればわかることではないのかと思われ。

いや多分この方法が思いつかなかったからこそ質問したことは
想像できないことはないのですが、今後不明な項目タイプがあったとき
この方法で調査できます。
やり方がわからんかったらDelのマニュアルを見るか、聞いてください。
ML入ったほうがいいかもしれないよ。

ちなみに、TFloatFieldです(当方FB1.0 + Del5).

348 :デフォルトの名無しさん:02/10/30 10:51
InterBaseって まだ あったんだ・・・。
今は、どの会社が サポートしてるんだ?(w

349 :345:02/10/30 11:00
おおっ、そういえばこんなのがありましたっけ!
はるか昔に Paradox をいじってた程度なので全然思いつきませんでした。
一歩前進できました。火の鳥さんどうもありがとうございます。


350 :345:02/10/30 11:04
もう1こ質問です。こんなテーブルを1つ作りました。
- DoublePrecision (Primary Key)
- Integer
- Char(64)
- Char(256)
以下のように追加を繰り返すと、たかだか13万レコードを追加するのに10分もかかるのですが
IBTransaction1.StartTransaction;
try
 n := 0;
 while not f.Eof do
 begin
  s := ReadLn(f);
  i := Pos(#9, s);
  if (0 < i) then
  begin
   IBQuery1.Params[0].AsFloat := n;
   IBQuery1.Params[1].AsInteger := i-1;
   IBQuery1.Params[2].AsString := Copy(s, 1, i-1);
   IBQuery1.Params[3].AsString := Copy(s, i+1, Length(s));
   IBQuery1.ExecSQL;
   Inc(n);
   ProgressBar.StepIt;
   if ((n mod 10) = 0) then
    Application.ProcessMessages;
  end;
 end;
 IBTransaction1.Commit;
定石みたいなものがあるのでしょうか?
ProgressBar の動きを見ていると、後半になると遅くなってゆくみたいです。定期的に Commit しないとだめとか?
TIBSQL の方が速いらしいですが、使い方がイマイチわかりません・・・


351 :345:02/10/30 11:15
ML って InterBase for Linux & FreeBSD ユーザーズメーリングリストですか?

Delphi-ML なら入っていますが、Interbase の話題は見たことがないので
こっちは質問しづらい感じがします。


352 :火の鳥:02/10/30 11:34
>>350

FBでこのような処理をしたことがないので、あくまでも推測でしかないのですが、
Oracleで行った経験から言うと、

インデックスが効いている場合、挿入が行われる度にインデックスが再作成される
ために、遅くなるのでは内科と思われ。
ためしに ALTER INDEX (インデックス名) INACTIVE; で処理前にインデックスを
無効にして、Commitしたあとに ALTER INDEX (インデックス名) ACTIVE; で
元に戻してみてはどうでしょう。

理想的にはwhileで1行ずつ回しながら挿入するのではなく、
INSERT INTO (tablename)
SELECT ... FROM ...;
のように一気に挿入するのがベストだけど、これはこの構文を見る限り
難しいかもしれない(漏れだったら何が何でもwhileを避けて、関数を駆使して
SELECT文で一気に挿入する方に持っていこうとします)。

ちょっとwhile使わない方法考えてみるから時間ください(←多忙のため、
もしレスしなくても怒らないでください)。

>>351 そうです。

353 :火の鳥:02/10/30 11:53
ごめん。テーブルからテーブルに追加するのではないのですね。
やっぱりこのコードから推測すると、whileで回すしかないみたいです。

>>348
InterBaseはまだ棒ランドがやっとります。
最近はInterBaseから派生したFireBirdがオープンソースで出てる。
このあたりの経緯はスレを最初から読んでみて。

しかし、最近急に質問が多くなってきたような気が。

354 :345:02/10/30 12:18
定期的なコミットは意味がありませんでした
TIBSQL を使ってみましたが逆に遅くなりました

>SELECT ... FROM ...;
テンポラリテーブルを作ってバッファみたいに使ってSELECTかける という話かと思いました。

今は教えていただいた ALTER INDEX をやってみようとしています。
テーブルは Marathon で作っているのですが
PK_〜 とか RDB$〜 RDB$INDICES とかどれがどれだか・・・
エラーで弾かれまくりです^^;


355 :デフォルトの名無しさん:02/10/30 12:19
InterBase7でますた。
・マルチプロセッサー・サポート
・接続モニタリング
・タイプ4 JDBCドライバー
だそうだす。
http://www.borland.com/news/press_releases/2002/10_29_02_ib7_launch.html

356 :デフォルトの名無しさん:02/10/30 12:21
もっと詳しい情報はこちら。
http://www.dbginc.com/tech_pprs/ib7/IB7.htm

357 :デフォルトの名無しさん:02/10/30 17:07
paradoxの質問してもよかですか?

358 :デフォルトの名無しさん:02/10/30 20:29
>>345
ちょっとテストしてみました。

PC:Dell Optiplex GX200 (PenIII 933MHz/128MB)
OS:Windows NT Workstation(SP6a)
Delphi 5.0 Pro + Update1
DB:FireBird 1.0 (Twise Lab.バージョン) ※ローカル環境

データ:郵便番号データファイル(行数:12万件ちょっと)のうち、
 ・旧郵便番号 (VARCHAR)
 ・新郵便番号 (VARCHAR)
 ・都道府県名 (VARCHAR)
 ・市区町村名 (VARCHAR)
 ・町域名 (VARCHAR)
をInsertしました。(コードはほぼ同じです。)
※主キー、インデックスは無い状態です。

結果、約3分程度で処理が完了しました。
やはり、インデックスを解除→Insert→再度インデックス設定 が効果ありそうです。


359 :345:02/10/30 21:53
こんばんは345です。
わざわざテストまでしていただいて、感謝です。
こちらでもやってみました。結局 Primary Key は ALTER INDEX できないと叱られたので、
インデックスを削ったところ 50 秒程速くなりました。
しかし速度は頭打ちでした。この点は既にあきらめモードです。
実は K6-2 450 / 756MB・・・差はこれなのかなぁ。
データセット外してみたりしたけどやっぱり変わりませんでした。

また質問があります。
WideString を使いたいのですが、Char_Setに UNICODE_F55 を選ぶだけでよいのでしょうか?


360 :デフォルトの名無しさん:02/10/31 00:50
>>359
テーブル削除してから空のテーブル作って、追加後にインデックス
付ければ良いのでは? 多分、テーブルをemptyにするよりも早いかと。

BDE3.xでは大丈夫だったのに、5.x以降はインデックスがあると、
10万件を超えるようなデータを追加したら落ちましたので、今はこの
方法を使っています(Paradoxですが)

361 :デフォルトの名無しさん:02/10/31 02:40
使ってみたけど、なんかストアドプロシージャの書き方が
独特なのね...

フィールド名も日本語使いたい...

362 :345:02/10/31 20:00
なんかCreateDatabaseする時とOpenする時とでパラメータの記述方法が違うみたいですけど
USER "SYSDBA"
PASSWORD "masterkey"

user_name=SYSDBA
password=masterkey
こういう物なんでしょうか?


363 :345:02/10/31 20:18
わかりました。
http://www.borland.co.jp/interbase/tech/free_ib_compo/compo04.html


364 :デフォルトの名無しさん:02/10/31 22:31
InterBaseってOracleのrowidみたいなのはないの?

365 :345:02/11/01 05:44
350の問題でこんな方法を見つけたです
「外部ファイルからデータを挿入する」
http://www.borland.co.jp/interbase/ib4/TUT/tut_05.html
CSVデータを外部テーブルに読ませて INSERT INTO ... SELECT
できるみたいです。まだ試せていません。

というのもFireBirdにはWindowISQLが付いていないんですねー
ISQLコマンドラインよくわかんない・・・


366 :デフォルトの名無しさん:02/11/01 06:52
>>365
俺はcsvをperl製スクリプトでsqlに落としてから
isqlに-iオプションで食わせてデータを挿し込んでる。
スクリプトを弄ればダミーデータ作るのにも使える。
isqlのコマンドライン版は使い出があるから色々と試してみるといいよ。

367 :デフォルトの名無しさん:02/11/01 11:59
>>350
プログレスバーのせいでは…


368 :デフォルトの名無しさん:02/11/01 12:21
外部ファイルは用が済んだらドロップした方が良いそうです。
バックアップやスイープなどで支障が出るそうです。NGで見たような気がします。
(IBの人気はフリーDBMSではPostgreやMySQLに続いて第3位だそうですね。)

369 :350:02/11/02 04:40
・Prepare をコールするようにした
・Params の型をきっちり指定した
・INSERT INTO でフィールド指定をなくした
あと、項目を1つ増やしたら不思議な事になぜか少しだけ速くなった・・・
これでなんとか7分になったよー(´∀`)

>プログレスバーのせいでは…
Σ(゚Д゚;)……

if ((n mod 100) = 0) then
begin
 ProgressBar.StepIt;
 Application.ProcessMessages;
end;
これだけで4分切りました。
ありがとうございました。


370 :345:02/11/02 06:36
>isqlのコマンドライン版は使い出があるから色々と試してみるといいよ。
いまIBのマニュアルを一通り読み終え、
やっとストアドプロシージャの設置方法がわかりました。

まだそんなレベル・・・


371 :デフォルトの名無しさん:02/11/02 13:09
TIBQueryなどでPrepareを行っている時、Paramsの値を変える毎に
Prepareする必要はあるのでしょうか?

ヘルプを見ると
>実行時に問い合わせテキストを変更すると,問い合わせは自動的に
>閉じられ,準備が解かれます。
となっていますが、あくまでこれはSQLそのものを変更した場合であって
Paramsの内容を変えただけの場合にはPrepareは不要なのでしょうか。

変な質問ですいません。

372 :デフォルトの名無しさん:02/11/03 00:30
>>371
その必要は無いと思う。
ループ外の最初でPrepare、最後でUnPrepaerでいい。
問い合わせ最適化の為のパラメータ化クエリーなのだから。

373 :371:02/11/03 22:47
了解です。
パラメータを変えると毎回Prepareしないといけないような
気がして不安だったのですが、安心しました。

374 :デフォルトの名無しさん:02/11/04 22:50
Firebirdの本が今月末出るそうだよ。加藤大受が書いたそうだ。


375 :デフォルトの名無しさん:02/11/05 04:17
>>374
どこの出版社?

376 :デフォルトの名無しさん:02/11/05 08:19
>>374
ソース教えてもらえますか?


377 :デフォルトの名無しさん:02/11/05 09:50
毎日コミュニケーションズ。
本人から聞いたよ。

378 :デフォルトの名無しさん:02/11/05 11:58
なんかトランザクションの管理が大変なんだけど
みんなはどうよ?


379 :デフォルトの名無しさん:02/11/05 12:03
>>378
どう大変?

380 :デフォルトの名無しさん:02/11/05 12:08
加藤大受さん元気だったんだ。数少ないFireBirdの日本人メンバー
だからねー。

381 :デフォルトの名無しさん:02/11/05 16:56
>>380
へ、そうなの?
ソースの中にそれらしいクレジットないし、
メーリングリストでも名前を見かけた記憶ないぞ。

http://sourceforge.net/project/memberlist.php?group_id=9028

382 :デフォルトの名無しさん:02/11/05 21:36
>>380
IBDIのメーリングリストでは見たことがあるけど。最近は見かけないなあ。


383 :デフォルトの名無しさん:02/11/07 09:48
つまり加藤大受はFirebirdプロジェクトと関係ないのね。

384 :デフォルトの名無しさん:02/11/11 22:41
本人がいうには、Firebird QAには参加しているようだよ。まあ、もともと
QAの人だからね。



385 :デフォルトの名無しさん:02/11/12 12:22
ServerはFireBird
IBConsolのInteractiveSQLで
create procedure max_denno (v_shiten char(2), v_tok char(4))
returns (r_max char(10))
as
begin
select max(uridenno)
from uritrn
where (uritrn.shitencode = :v_shiten)
and (uritrn.tokcode = :v_tok)
into :r_max;
end
って記述して
実行するとエラーが
Dynamic SQL Error
SQL error code = -104
Unexpected end of command
って出るけど、どこか構文間違ってる?

386 :385:02/11/12 14:02
あ、出来ました
suspend;が抜けてました
初歩的なミスですみません

しかし、InteractiveSQLでコンパイルすると
Dynamic SQL Errorが出るのはなぜだろう?

387 :デフォルトの名無しさん:02/11/13 09:40
>386
set termを使ってないからじゃないかな。

388 :デフォルトの名無しさん:02/11/19 18:24
近刊情報ということで...

Firebird−オープンソースデータベースの導入と運用の実際
著者:加藤大受
定価:本体3,800円+税
B5変型判・430ページ
ISBN 4-8399-0889-3

11月下旬発売とのこと。

http://book.mycom.co.jp/
(近刊のご案内欄)

389 :デフォルトの名無しさん:02/11/19 18:41
>11月下旬発売とのこと。
って具体的にいつ?
誰か本屋行った人報告してちょ。


390 :デフォルトの名無しさん:02/11/19 18:47
IBやFBのデータベースファイル(GDB)って、コピーさえ出来れば、他の環
境に移してSYSDBAユーザで開けちゃうものなんですか?

ファイル単位でパスワード等を掛けることは不可能でしょうか?

391 :デフォルトの名無しさん:02/11/19 18:59
>>390
コピーすれば Win でも Linux でもどこでも使える。
(これは長所)

>ファイル単位でパスワード等を掛けることは不可能でしょうか?
できないみたいだね。
OSの機能使って勝手にコピーできないようにして対処するしかない。
(これは短所)
そういうリクエストしてみたらいいんでないかい。Firebird プロジェクトに。


392 :デフォルトの名無しさん:02/11/19 19:12
>>391
さっそく、ありがとうございます。
SYSDBAユーザに開けないGDBファイルを作成することも不可能なのでし
ょうか?
元ファイルのSYSDBAのパス変えても無駄ですよね?


393 :デフォルトの名無しさん:02/11/19 19:23
>>392
>SYSDBAユーザに開けないGDBファイルを作成することも不可能なのでし
>ょうか?
さっき言ったとおり無理。

>元ファイルのSYSDBAのパス変えても無駄ですよね?
ユーザ名、パスワードって使用している gdb ファイルに記録されるんじゃないよ。
IB/FB ディレクトリにある isc4.gdb ってファイルに記録されるんだよ。
だから SYSDBA パスワード変えても、そのサーバ側の isc4.gdb が更新されるだけ。


394 :390:02/11/19 19:34
>>391
無学な私に迅速なお答えありがとうございます。
では9X系のWindowsではテーブル構造等を隠すことは不可能なのですね。
みなさんはどのように対処しているのでしょうか?


395 :デフォルトの名無しさん:02/11/19 19:59
>>394
>では9X系のWindowsではテーブル構造等を隠すことは不可能なのですね。
>みなさんはどのように対処しているのでしょうか?
運用に際には WinNT系やLinux にしないとまずいと思うよ。(外部にもれちゃまいずなら)
当然だけど、管理者しか管理者モードでログインできないようにすれば
まず勝手にコピーされることはないと思うよ。
(もちろんファイルパーミッションをちゃんと設定すること)


396 :390:02/11/19 20:09
実は自分で使うものではなくて、頼まれたものなのです。
他所のPCにインストールしたいので、UNIXやNT系のサーバがない環境
も想定していました。

隠したい理由はセキュリティよりもテーブル構造等を恥ずかしいので
隠したいのです。文面でもわかるとおり無知なもので。

今まではJETで少し作ったことはあるのですが、少し勉強してみよう
と思い、フリーで高性能、なおかつ使用しているC++Builderとの親和
性も高いので、FireBirdを使ってみようと思いまして。


397 :デフォルトの名無しさん:02/11/19 20:26
>>396

>隠したい理由はセキュリティよりもテーブル構造等を恥ずかしいので
>隠したいのです。文面でもわかるとおり無知なもので。

>実は自分で使うものではなくて、頼まれたものなのです。

そのクライアントが IB/FB の管理ツール(IBConsole, DatabaseExplorer等)持っていれば
テーブル構造みられちゃうけどね。
恥ずかしいとかよりも、
さっきのレスのように勝手にコピーされると中身見られるから管理には気をつけて
って言ったあげることの方が大切なことだと思うよ。


398 :sage:02/11/19 23:08
>>388
Borland Conferenceでおいてあったチラシによると、
11月29日発売らしい。



399 :デフォルトの名無しさん:02/11/19 23:29
>>398
Thanks!


400 :デフォルトの名無しさん:02/11/23 21:52
400get!
クソしてくる

401 :デフォルトの名無しさん:02/11/23 23:28
Firebird本、本当に11月下旬発売なのか?
cbook24で予約しようとおもったんだけど...

402 :デフォルトの名無しさん:02/11/27 13:09
>>401
トーハンのサイトで、
http://www.e-hon.ne.jp/bec/EB/Top

書籍は見つかったけど、まだ発売していないみたい。

http://www.e-hon.ne.jp/bec/SA/Detail?refShinCode=0100000000000031063260

もうちょっと待ちでしょうね。



403 :デフォルトの名無しさん:02/11/29 09:25
>>401

Bookmallで購入できたよ。
http://pc.bookmall.co.jp/search/info.php?Code=33519

404 :デフォルトの名無しさん:02/11/29 20:31
今日、書泉に置いてあったよ。
中身は見てないけど。

毎コミのサイトでも「購入する」になったね。
http://book.mycom.co.jp/


405 :デフォルトの名無しさん:02/12/02 15:35
書泉で立ち読みしてきました。
Java, Delphiの例はもちろん、Perl, Python 果てはZopeでの利用例まで載ってる。
欲張り過ぎで個々の中身うすい。
アスキーの「データベースLinux(下田雅彦 著)」のほうがいいよ。

406 :デフォルトの名無しさん:02/12/02 16:36
>>403
bookmallで購入したのが届きました。
Javaの記事が多い加藤さんらしく、Javaから使うときにはいいかも。
あとは参考までにいろんな使い方があるっていう感じだな。


407 :デフォルトの名無しさん:02/12/04 12:04
DelphiでIBXを使って開発しています。
レコードをINSERT後にすぐオープンダイアログを表示して、
ファイルが選択されなかったらロールバック
選択されたらコミットしたいのですが・・・
オープンダイアログを開くだけでトランザクションが閉じてしまい困っています
何か設定があるのでしょうか?

もしおわかりの方いらっしゃいましたら教えてください
よろしくお願いします。


408 :デフォルトの名無しさん:02/12/04 12:34
>レコードをINSERT後にすぐオープンダイアログを表示して、
>ファイルが選択されなかったらロールバック
>選択されたらコミットしたいのですが・・・

手順がおかしいぞ。
 ファイル選択 → INSERT(COMMIT)
の順じゃいけない理由を教えてクレ。

>オープンダイアログを開くだけでトランザクションが閉じてしまい困っています

その部分のソース提示してよ。


409 :デフォルトの名無しさん:02/12/04 14:30
InterBaseもついに7まで。
http://www.borland.com/interbase/

isqlでset term書かなくてもいいってのはちょっと嬉しいか。


410 :デフォルトの名無しさん:02/12/04 14:43
フォルダ選択ダイアログの間違いでした。すみません。
フォルダ選択ダイアログではフォルダを新規に作成する事もできますので、
 フォルダ選択(実は作成した) → INSERT ...キャンセル
とされるとフォルダが残ってしまいます。
作成されたフォルダかどうかは判断できないため削除するわけにもいきません
で、データを登録してから開始フォルダを選ぶという事にした次第です。

 ExecInputForm;
 try
  //InTransaction=TRUE
  if not FolderDialog.Execute then //InTransaction=FALSE
    Abort;

  // 処理
  Commit;
 except
  RollBack;
 end;


411 :デフォルトの名無しさん:02/12/04 14:45
まちがいました
if not ExecInputForm then
begin
 Exit;
end;
try
です。

412 :デフォルトの名無しさん:02/12/04 19:59
abortした際にexceptへ処理が飛んでいますか?
(HELPにはfinalyへ飛ぶとありますがexceptとはなっていないので)
例外処理で対応せずにif elseで分岐させれば正常に動作しますか?
raiseでエラー生成するとどうなりますか?


413 :デフォルトの名無しさん:02/12/05 00:51
教えて君ですみません。
PHPでInterbaseを利用しようと思っています。
1、例えば"SELECT aaa FROM table"の結果の件数を知るのに
  どのようにしてますか?"SELECT COUNT(aaa) FROM table"として
  再度"SELECT aaa FROM table"を投げているのですが、どうもスマートに
  思えなくて。他の方はどうしているのでしょうか。
2、PEARを利用した際に、
  $result = $database->$query("SELECT * FROM $table");
  と*を利用するとhttpdが落ちるのですが正常に動作しますでしょうか。
3、同じくPEARを利用した際に、
  $query = $database->prepare("INSERT INTO table(a, b) VALUES (?,?)");
  $array = array(c,d);
  $result->execute($query, $array);
  が利用できない($arrayが展開されて代入されない)のですが正常に動作
  しますでしょうか。
4、PerlでDBDを利用する場合、SELECTの結果の指定件数(n件めからm件まで)
  を取り出すという関数はあるのでしょうか。
環境はTurbolinux7Server+apache1.3.27+php4.2.3+Firebird1.0です。
(apache,phpともにTurboLinuxの公式サイトのものです。
phpはibaseが使えるようにspecを弄りました)
どなたかよろしくお願いします。


414 :デフォルトの名無しさん:02/12/05 14:52
>>413
PHP のことはわかりませんが、
>1、例えば"SELECT aaa FROM table"の結果の件数を知るのに
>  どのようにしてますか?"SELECT COUNT(aaa) FROM table"として
>  再度"SELECT aaa FROM table"を投げているのですが、どうもスマートに
>  思えなくて。他の方はどうしているのでしょうか。
件数を知るには COUNT 使って取得するか、
クエリの結果セットを最後までフェッチして自分で件数をカウントするか
のどちらかしかないと思う。

>4、PerlでDBDを利用する場合、SELECTの結果の指定件数(n件めからm件まで)
>  を取り出すという関数はあるのでしょうか。
>環境はTurbolinux7Server+apache1.3.27+php4.2.3+Firebird1.0です。
最初に
>PHPでInterbaseを利用しようと思っています。
とあったけど Firebird なら、FIRST と SKIP 使えばできます。
 SELECT FIRST m SKIP (n-1) aaa FROM table
・SKIP は先頭から無視する行数
・FIRST は取得したい行数(この値以下の行数分取り出せる)
これは InterBase では使えないから注意。
オレは使ったことないけど、InterBase 6.5 にもこれに相当する機能があるらしい。


415 :デフォルトの名無しさん:02/12/05 18:53
>>413
PHPのドキュメント眺めるとわかると思いますが、Interbase以外の
DB用関数にクエリ関数で返ってきた結果(ストリーム)の行数を数え
るXXXX_num_rows()関数(MySQLならmysql_num_rows())があります。
・・・とは言っても
1. XXXX_query()関数でSQLを投げて結果を得る
2. 得た結果をXXXX_num_rows()関数に食わせて行数を得る
の様な使い方になるので、413さんの2回SQL文を投げるやり方でも
汚くはないと思いますが?

416 :413:02/12/06 13:23
ご返信&情報ありがとうございます。
>414
書き方が悪くてすみません。急にPerlの話を出して。えと、PEARとかDBDを
利用することを考えているのは、なるべく汎用化できないかと思っているのです。
移植の際に触る部分を減らしたいなぁと。
A社ではpostgres,B社ではFireBird,C社ではフリーはダメよとか
いろんな案件でも使いまわしができた方が楽なので。
今のところ、PEARはHTTPDごと落としてくれるしDBDも未完と聞いたのですが
今の内に準備しておこうと思いまして。
FIRST,SKIP個人的に待望の機能です。ありがとうございます。
>415
PEARにもnmRows()あるんですけどInterbaseで試したら使えませんでした。
MySQLでうらやましいのはnum_rows()の後、続けてfetch処理ができるのに
Interbaseだとfetchして行数をカウントした後、
再度クエリーを投げてfetchしなきゃならない。
スマートさ以前に処理時間がかかる・・・。

PEARの件は、外国のMLも検索したのだけれど数件しかヒットしないし、
prepareの問題は出ていないようで、本当に日本で宣伝されているほど
米国ではメジャーなDBなのか疑問に思うほどです。

好きなDBなので、他にもすすめたいのですが・・・。
日本語版6.5も出る気配がなさそうですね。
最後は愚痴になりましたが、ありがとうございました。
PEARについてはPHP板のほうでもあらためて聞いてみます。
マルチだと非難しないでくださいね。


417 :デフォルトの名無しさん:02/12/06 14:11
>>416
>...本当に日本で宣伝されているほど
>米国ではメジャーなDBなのか疑問に思うほどです。
同感。

> 日本語版6.5も出る気配がなさそうですね。
IB6.0 が売れてないからかな?
フリーの Firebird があるからわざわざ金だしてまでも買わないんだろうね。

豊富なミドルウェアってことを宣伝文句にしてるけど、
ただ使えるっていうだけであって実用レベルじゃないんだね。
Java には結構力入れてるって感じがするけど。


418 :デフォルトの名無しさん:02/12/06 15:25
>>417
米国で売れているというよりもモトローラがずいぶん使っている
だけじゃないかな。イメージ的にはヨーロッパのユーザーが
多い気がするけどね。
結局、Borlandのツールとの連携がいいって部分にはミドルウェアの
良さはないんじゃないかな。


419 :デフォルトの名無しさん:02/12/08 10:32
シャドウ(ミラーリング?)の作成のしかたって
どうするの?

IBConsoleからできますか?

420 :デフォルトの名無しさん:02/12/08 13:05
>419
なぜ尋ねるのにsage?
CREATE SHADOW....


421 :デフォルトの名無しさん:02/12/09 10:54
マニュアルもろくに読まない人が CREATE SHADOW したって無駄だと思います。
どうせほかの原因でシステムがクラッシュするでしょうから。

422 :デフォルトの名無しさん:02/12/09 12:04
>>419
InterBase のマニュアルもってないなら、以下のコメント参照してみて。
http://pc3.2ch.net/test/read.cgi/tech/1035278719/27
このセットアップファイルを実行しなくても、アーカイバ使って
pdf ドキュメントだけ取り出せます。

あとご存知かもしれませんが、
「Firebird オープンソースデータベースの導入と運用の実際」
(ISBN4-8399-0889-3) \3,800(税別)
という本が出ています。
InterBase にも対応しているのでご購入してみる価値はあると思います。
コンピュータ書を大きく扱っている本屋じゃないと置いてないかもしれません。
(私はネットで購入しました。)


423 :デフォルトの名無しさん:02/12/09 12:13
>>419
>IBConsoleからできますか?
GUIではできません。
「Interactive SQL」ウィンドウからならばできますが、
SQL文を入力する必要があります。


424 :デフォルトの名無しさん:02/12/10 23:18
Borland の InterBase6.0(商用版) についてくるマニュアルは
5.x のマニュアルと内容は(ほとんど)同じでしょうか? 形式はやはり pdf ?


425 :デフォルトの名無しさん:02/12/11 06:23
D7 日本語版にはこっそり IB6.5 が入っていますが、なにか?

426 :デフォルトの名無しさん:02/12/11 10:00
>>424
印刷したマニュアルとPDFの両方付いてくる。マニュアルだけでも買えるぜ。
http://www.borland.co.jp/sales/interbase.html

427 :デフォルトの名無しさん:02/12/11 10:14
>>426
漏れは商用版とオープンソース版両方持ってるが、
マニュアルと IBConsole は商用版、本体はオープンソースを使ってる。
やっぱ紙のマニュアルは・・・(・∀・)イイ!

428 :デフォルトの名無しさん:02/12/11 14:25
>425
そなの?
で、ライセンスはどうなっているの?
まさか、開発はできるけど、リリースできないなんてことはないよね。
リリースは旧版でとかさ。
バカにするにもいいかげんにしてほしいよね。


429 :デフォルトの名無しさん:02/12/11 15:15
>まさか、開発はできるけど、リリースできないなんてことはないよね。
MSDEのようなサブセット・機能制限付きでリリースするくらいなら
Firebirdを使えばいいからライセンスは気にならないな

将来的に互換性が心配ならむしろFirebirdで開発すればいいし

430 :428:02/12/11 15:27
>429
ちゃいまんがな。
そんなことを言ってるんじゃないんです。
別にユーザーがFireBird使おうと、Oracle使おうと関係なく、

BorlandがどういうつもりでD7に同梱しているのか
を問うてるんです。


431 :デフォルトの名無しさん:02/12/11 15:28
>>429
でもIBX使うとやっぱ問題あるかね?

432 :デフォルトの名無しさん:02/12/11 15:32
例えリリースOKだとしても、同時接続制限されてるはずだから
別途接続ライセンス買わなきゃならんだろう。
Firebird なら接続ライセンスは存在しないから、
一切金が掛かることはない。

InterBase(商用) はいざというときメーカーが面倒みてくれるから、
とか聞くけど、保守料支払っても問題解決することはほとんどないよ。
某のサポートのレベルがどうこうというのもあるが、
結局は自分でなんとかしなきゃならんから意味なし。
メーカーサポートよりコミュニティの方がレベルが高いし。

InterBase に未来はないだろうから Firebird に乗り換えよう。
今からなら難なく Firebird に乗り換えられる。


433 :デフォルトの名無しさん:02/12/11 15:36
>>430
オレは D7 まだ買ってないからよく知らないけど、
これに同梱されてるのって LocalInterBase とかいうヤツじゃないの?
D7 じゃなくても入ってたよね。こんなようなヤツが。
ようするに InterBase を体感してもらうためだと思う。
良ければ買えと。


434 :デフォルトの名無しさん:02/12/11 15:38
>>430 それはスマソ
Paradoxでの開発は推薦しないということだから
開発用にIBを入れるのは当然でしょ
ま、本音は「あわよくばIBを売りたい」ってとこでしょうけど
VSにMSDEを入れてSQL Serverを売ろうというのと似たようなもの

ユーザー制限付きでIBの配布が可能ならMSDEと同等というとこだろうけど
Firebirdがあるからまあいいかと思っちゃます

435 :デフォルトの名無しさん:02/12/11 15:45
>>431
Del6に付いてるIBXでは今のところ問題なし(IBTableは使わないという前提で)

互換性はDelとFirebirdのバージョンアップの際に気をつけないといけないけど
某がわざとFirebirdでの開発ができなくなるようにするとは考えにくいよね
(DB開発者が一斉にバージョンアップをボイコットするだろうから)

436 :デフォルトの名無しさん:02/12/11 15:47
>>435
そのうち FBX(Firebird Express) なるものが出るかもよ。


437 :デフォルトの名無しさん:02/12/11 15:53
IBX は IBDatabase, IBTransaction, IBSQL で充分。
データコントロールと連携させるアプリはショボい。


438 :デフォルトの名無しさん:02/12/11 16:12
>>436
Firebird 1.5 では
 ibserver → fbserver
 gds32 → fbclient
に名前が変更されているようだね。


439 :428:02/12/11 16:34
わーん、解ってくれないよぉ。みんな大人だよぉ。
D7付属のInterbaseは6.5なんでしょ。
で、そのInterbase6.5は販売の予定がないでしょ。
Firebirdとの互換もないかもしれないでしょ。

IB売りたいなら販売している6.0にすべきだし、
大胆にFirebirdという手もある(無理だろうけど)

出す気もない6.5を同梱しているのはどういうことだ。
バージョンの違う環境でビジネスアプリ開発するか?
IBが売れるか?顧客へ導入の説得ができるか?
おざなりにも程があると思うんだが。

でも沈みがちなこのスレが上がってうれしいのでage。


440 :デフォルトの名無しさん:02/12/11 16:46

Twise Labo. Inc. でまたまた日本語版が公開されましたね。
http://www.twise.co.jp/download.html



441 :デフォルトの名無しさん:02/12/11 17:06
>>439
FB>>>>>>>>>>>>>>>IB6.0
だから 6.5 付けなきゃと思ったのかな。
でも謎ですね。暇なら謎解きお願いします。

ところで同梱されてるのはどうせ Desktop Edition でしょ?
Firebird があるのになんでこんな中途半端なもんか不思議。


442 :デフォルトの名無しさん:02/12/11 17:14
>>439
RDBMS 初心者向けのために同梱しただけかも。
これで勉強してくれと。(ただし運用はできんが)


443 :デフォルトの名無しさん:02/12/11 20:38
DB初心者なんですが、
C++BuilderやDelphiにあるIBXでFireBirdをたたくことはできるんでしょうか?
ひょっとしてガイシュツな質問……?


444 :デフォルトの名無しさん:02/12/11 20:39
>>443
もちろんできます

445 :デフォルトの名無しさん:02/12/11 23:42
>>444
ああ、早速の回答ありがとうございます。
ではやってみます。

と、いう訳で自分のPCを人柱にインストール済みのInterBaseをアンインストールして
先ほどDLしたFireBird(日本語化したやつ)をインストール。
C++Builder5(Pro)でTIBDatabaseを使ってテスト。
……うーん、やっぱりただインストールしただけではだめなんかなあ。
コンソール側(FireBirdに付属のやつ)ではInterBaseが生成したファイルにアクセスできました。


446 :デフォルトの名無しさん:02/12/12 00:40
>C++Builder5(Pro)でTIBDatabaseを使ってテスト。
>……うーん、やっぱりただインストールしただけではだめなんかなあ。
どうダメだったのか詳しく説明してもらわないと答えようがないよ。

447 :デフォルトの名無しさん:02/12/12 01:16
>>446
お世話になってます。&ご迷惑をおかけしました。

えーと、あれからいろいろ試してうまく動くようになりました。
こちらの早とちりでした。
テスト用に書いたコードではTIBTableを介してTDBGridに接続してたんですが、
TIBTable::Activeがfalseになっていただけのこと。
無事テーブルの情報を得ることができました。

アドバイスとお気遣いをありがとうございます。

448 :デフォルトの名無しさん:02/12/12 09:11
>>19 以降各書で TIBTable の問題が挙がってますけど、
その後新しい情報はありませんでしょうか?

漏れのアプリは TIBTable だらけなので心配でしょうがないです。
やっぱ TIBDataSet に置き換えた方がいい?
でも参照項目とかもバンバン使いまくってるしな〜(鬱

449 :デフォルトの名無しさん:02/12/12 09:51
>>448
それより TIBTable って利用価値あるの?
Query 系じゃないと実用にならないと思うが。


450 :448:02/12/12 09:57
>>449
レスさんくすこ。
DBGrid 使っての編集とかが TIBDataSet ではできないですよね〜(鬱

>Query 系じゃないと実用にならないと思うが。
この辺の話、も少し詳しく教えてきぼんぬ。

451 :デフォルトの名無しさん:02/12/12 10:12
>>435
BorlandのNGの「Why IBX or more general Borland will support Firebird?」というスレッド。
ttp://216.101.185.148/scripts/isapi.dll/thread?id=5CC7388F&thread=1049979
↑あたまから読んでみると
「うるさい、いちいちFirebirdの事なんざ聞いてくんな!うんざりなんだよ、あっちで聞け!」
とIBXの作者が少々キレ気味なのが分かる

InterbaseとFirebirdではSQL拡張の部分で既に違いが発生してることから、今後
APIレベルでも差がでてくることは必至かと。
個人的にも出来るならなるべく早い段階でIBXから離れたい。

調べた限りでFirebirdに対応しているコンポーネントは
http://www.upscene.com/
ここのInterXpress for Firebird(まだαらしい

http://www.ibobjects.com/
のIB Objects

http://www.fibplus.net/
のFIBPlus

>>436
SorceForgeにプロジェクトページだけはあるね。
http://sourceforge.net/projects/fbx/

452 :デフォルトの名無しさん:02/12/12 10:21
>>451
ご苦労様

>SorceForgeにプロジェクトページだけはあるね。
>http://sourceforge.net/projects/fbx/
そうなのか。これに期待したい。
IBX と干渉しないように完全分離してもらいたいよね。

>ここのInterXpress for Firebird(まだαらしい
これって dbExpress でしょ。
IBX と違って配布時に余計なランタイム必要になるよね?違うかな??


453 :デフォルトの名無しさん:02/12/12 10:51
>>450
TIBQuery と TIBUpdateSQL を組み合わせればできるんじゃない?
TIBUpdateSQL は右クリックしたダイアログで SQL 文自動で
作ってくれるからそんなに難しくないと思うけど。

オレは DataControls コンポーネント使ってやらないから
TIBSQL さえあれば充分。
特に DBGrid のスクロールの挙動が気にくわないから、
自前で作ってる。


454 :451:02/12/12 10:55
>>452
> >ここのInterXpress for Firebird(まだαらしい
> これって dbExpress でしょ。
> IBX と違って配布時に余計なランタイム必要になるよね?違うかな??

余計かどうかは置いといて、データベースごとにDLLがいるね。
どのみちIBX使う場合でも、gds32.dllは否応なしに配布が必要なんだから
DLLが一つ増えたぐらいなんでもないかと。

455 :448:02/12/12 11:37
>>453
レスThanx。

> 特に DBGrid のスクロールの挙動が気にくわないから、自前で作ってる。
( ´・ω・)ショボーン ・・・ そこまで腕ないから、あきらめて TIBTable 使おうかと思います。


456 :448:02/12/12 11:39
>>455
でも参照するだけのテーブルは TIBDataSet に移行を検討中だったりしまつ。

457 :デフォルトの名無しさん:02/12/12 11:48
>>456
TIBDataSetでDBGridを使えるよ

IBDataSetをマウス右クリックして
「データセットの編集」を開いて
「キー項目」と「更新する項目」を選んで
「SQL文を生成」を実行すると
変更、追加、削除、更新の各SQLが自動生成され
(もちろん後でこれらのSQLを編集することも可)
これで何の支障もなくDBGridも使えるようになるよ

458 :デフォルトの名無しさん:02/12/12 11:58
>>457 追記
もし「データセットの編集」がでてこないようだったら(Pro版だと無いかも)
ModifySQL、InsertSQL、DeleteSQL、RefreshSQL
の各プロパティに適切なSQL文を書き込むことで同等になる

459 :デフォルトの名無しさん:02/12/12 12:04
ModifySQLの例
update MEMBER
set ID = :ID, NAME = :NAME
where ID = :OLD_ID

InsertSQLの例
insert into MEMBER (ID, NAME)
values (:ID, :NAME)

DeleteSQLの例
delete from MEMBER
where ID = :OLD_ID

RefreshSQLの例
Select ID, NAME
from MEMBER
where ID = :ID

460 :448:02/12/12 12:58
>>458
「データセットの編集」とか言う名目じゃないけど右クリックしたらありました。
情報サンクスコさんです。

461 :デフォルトの名無しさん:02/12/12 13:37
質問です。Del6+FireBird日本語版+IBX使ってます。

TIBDataSetでSelectSQLにSQL文を設定、OPENした後、
結果セットが存在しないならInsertSQL文を実行させようとしてるのですが、
EIBClientError・・・「use Open for a Select Statement」が発生しちゃいます。
ExecSQL実行する前にCloseはしてるのですが、何か抜けてるとこありますでしょうか?


462 :デフォルトの名無しさん:02/12/12 14:23
>>461
TIBDataSetでExecSQLを使う条件は
・SelectSQLにSQL文が書かれていること
 →このことからExecSQLで実行されるのはSelectSQLだと分かる
・SelectSQL文に書かれているSQLが「Select文ではないこと」
要するに変則的な使い方になるわけですね

TIBDataSetはBDEにおけるTTable相当と考えて
特殊な処理はTIBSQL等他のコンポーネントを使うのが良いかと

463 :デフォルトの名無しさん:02/12/12 14:35
まあ
if aIBDataSet.RecordCount=0 then aIBDataSet.Insert;
でいいと思うわけで

要するにTIBDataSetでExecSQLはあまり使わない方が・・・


464 :デフォルトの名無しさん:02/12/12 15:49
>>463
たびたび有難う御座います。
TIBTableはTIBDatasetに、TIBQueryは、TIBSQLに移植を検討して見ます。
でも2ちゃんにしては珍しく良スレですね、ここは・・・(^^;

465 :デフォルトの名無しさん:02/12/12 16:19
>>464
TIBSQL は DataControls コンポと連動できないってこと知ってるよね?
(要するに Delphi データベースフレームワーク外ってこと。)
画面表示する際は自前でやる必要があるから。(DataControls は使えない)
まあオレは TIBSQL しか使わないでやってるけど。


466 :デフォルトの名無しさん:02/12/13 15:47
トゥワイズ・ラボさんの火の鳥1.0使って見ました。
Interbaseと違って「あれ?」って思ったんだけど、Interbaseなら

 SELECT ID FROM A, B WHERE A.ID = B.ID;

で結果セットがちゃんと返ってくるけど、火の鳥だと
 
 SELECT A.ID FROM A, B WHERE A.ID = B.ID;

みたいにテーブル指定してやらないと、「曖昧だ!テーブル名指定しろ!」って
怒られちゃうみたいだね。

467 :デフォルトの名無しさん:02/12/13 16:27
>>466
IBってそんなSQL文でいいの?


468 :デフォルトの名無しさん:02/12/13 17:03
>>466
FirebirdのDBがDialect3になってるでしょ?

469 :デフォルトの名無しさん:02/12/13 17:21
どなたかお知恵をお貸し下さい

PROCEDUREの中で他のPROCEDUREは呼び出せないのですか?

いろいろとやってみたのですが、何やら怒られてしまいます。


470 :デフォルトの名無しさん:02/12/13 17:50
>>468
確かに・・・これが何か?

471 :デフォルトの名無しさん:02/12/13 18:19
>>470
IBの導入ガイドがあれば読むべし。
SQLダイアレクトに関する詳しい説明が載ってる

472 :デフォルトの名無しさん:02/12/13 18:39
>>469
EXECUTE PROCEDURE でできるよ。

パラメータなし、戻り値なし)
EXECUTE PROCEDURE hogeA;

パラメータあり、戻り値なし)
EXECUTE PROCEDURE hogeB(param1, param2,...);

パラメータなし、戻り値あり)
EXECUTE PROCEDURE hogeC RETURNING_VALUES :retVal1, :retVal2,...;

パラメータあり、戻り値あり)
EXECUTE PROCEDURE hogeD(param1, param2,...) RETURNING_VALUES :retVal1, :retVal2,...;


DB作成者または SYSDBA 以外にも呼び出せるようにするには、
GRANT EXECUTE ON PROCEDURE hogeX TO USER1
とか
GRANT EXECUTE ON PROCEDURE hogeX TO PUBLIC

あるいは
GRANT EXECUTE ON PROCEDURE hogeX TO PROCEDURE hogeCallerProc
のような定義を入れる。


473 :デフォルトの名無しさん:02/12/13 21:38
>>471
ダイアレクトは関係ねえよ。Firebirdも0.9Xの頃は
SELECT ID FROM A, B WHERE A.ID = B.ID;
で通ったんだよ。1.0でチェックが厳しくなった。

474 :デフォルトの名無しさん:02/12/14 00:00
>>473
Firebird1.0からデフォルトでDiarect3を使用するようになったんだよ。
手持ちのFrebirdのDBにDiarect1で接続して試せ。

結果を確認したら回線切って首吊って死ね。

475 :デフォルトの名無しさん:02/12/14 00:12
オマエらそんなことでムキになるなよ。
Firebird なんてまだマイナーなんだからさー、
せめて良スレにしてさー、使ってないヤツらにこのスレ参考にしてもらえるよう
努力してこうや。


476 :デフォルトの名無しさん:02/12/14 03:40
>>473
加藤さんの本買え。

確かに、浅く広くって感じだけど、漏れには役に立ってる。
付録のSQLの説明も使えるし。まぁ、厚いからコピーとって使ってるけどな。
強いていえば、あそこまでやるならRubyからの接続法も入れてほしかったな。

あとは、Delphi/Kylixからの使い方をもっと突っ込んでほしかったなぁ。
それから、この時期に出すんだったら、1.5についても触れておいてほしかったなぁ。
あ、あと、ほかのデータベースからの移行方法とかも書いてあるとよかったな。

って、ぜんぜんダメみたいじゃん(w
でも、漏れは十分に元がとれたと思ってるぞ。


477 :デフォルトの名無しさん:02/12/14 14:01
InterBase7 の InterClient は Type4 と謳ってるけど、
http://www.borland.com/interbase/pdf/ib7_datasheet.pdf
の3ページ目のダイアグラムみると GDS32.DLL 経由してるように
なってるんで、そうなると Type2 ということになるはずだけど、
ダイアグラムの方が間違ってるってこと?
それともクライアントに GDS32.DLL がないとダメってこと? (それならば Type4 ではない)

ちなみに Firebird の JDBC Type4 ドライバの方はソースちらっと見てみたけど、
GDS32 は経由せずに直に Firebird Server と通信しているようだったから
まさしく Type4 ということになる。


478 :デフォルトの名無しさん:02/12/14 14:13
http://japan.pinkserver.com/under/index.html
勝手に他人のサイトを直リンク!!
「法的根拠はない!!」
「だから直リンしてます」
ハァ?
ネチケットも守れない痛い厨のサイト晒し

479 :デフォルトの名無しさん:02/12/14 14:33
pinkserverってアダルトサイトじゃなかったっけ? 宣伝か?

480 :デフォルトの名無しさん:02/12/15 00:46
>>474
手元にあったFirebird 0.94ではデフォルトがDialect3になってますが>>473の言う通り
SELECT ID FROM A, B WHERE A.ID = B.ID
で通りますよ。



481 :デフォルトの名無しさん:02/12/15 01:30
複数のテーブルを使うときは明示した方が無難でしょ
後で項目を増やすことになったら何が起こるか分からない

482 :デフォルトの名無しさん:02/12/15 09:22
ちょっと、おしえてくれ。スマソ。
IBConsoleでCSVのデータ3万件を取り込めないよね?
それとも取り込めるの?

483 : ◆gXAHOOOHj. :02/12/15 17:22
>>482
固定長形式なら取り込める。
Excelとか使って無理やり固定長形式に変換して
あとは外部テーブル作成してINSERTで一気に取り込めば
OKかと。

484 :デフォルトの名無しさん:02/12/16 15:03
InterBase(FireBird)で以下のようなTableのとき

FieldA, FieldB, FieldC, FieldD, FieldE
FieldA,B,Cに主キーを設定

FieldA, FieldD, FieldEの条件式でデータを抽出したいので
別にFieldA, FieldD, FieldEにIndexを張ったのになぜか
Planで調べると主キーのほうが使用されて
検索が遅いのですがどうしてでしょう?

Oracleだと1秒未満の検索も
InterBaseだと5秒以上かかってしまいます

もしIndexの使い方がおかしければ、指摘して頂けないでしょうか?

485 :デフォルトの名無しさん:02/12/16 17:49
>>484
order by 句で FieldA, FieldD, FieldE を指定すればその index 使うと思うが。


486 :デフォルトの名無しさん:02/12/16 17:54
>>484
SET PLAN
使ってindex使っているかどうか確認したら。


487 :484:02/12/16 19:21
order by 句で FieldA, FieldD, FieldE を指定して
Set Planを使用してみました

が、結果は同じ、プライマリーキーを使って検索をしてしまいます

ちなみに新しく作成したIndexのActiveはTrue,uniqueはFalseで
FireBirdのバージョンは1.0です

488 :デフォルトの名無しさん:02/12/16 22:37
>>487
>order by 句で FieldA, FieldD, FieldE を指定して
order by 句での昇順or降順方向とインデックスの昇順or降順方向と一致してる?

例えば、
 create asc index idx1 on table1(FieldA, FieldD, FieldE);
のインデックスを作ったとしたとき、
 select * from table1 order by FieldA asc, FieldD asc, FieldE asc;
を実行すると idx1 インデックスを使うと思うけどな。
ただし、以下のように 1 つでも降順指定すると idx1 を使わないはず。
 select * from table1 order by FieldA desc, FieldD, FieldE;


489 :484:02/12/17 00:18
返信ありがとうございます
>484です
>order by 句での昇順or降順方向とインデックスの昇順or降順方向と一致してる?
はい、再度確認をとりましたが一致しています

あれからいろいろと考え
プライマリーキーをDropIndexで削除(参照整合性のIndexのみ)したところ
ExceptionTimeが5.0348だったのが
0.0030(Indexは参照整合性のために作ったIndexを使用してるようです)になりました

これっていったいどういう事でしょう?
Indexの作り方が間違ってるのでしょうか?

490 :484:02/12/17 07:24
追記です

他のTableもプライマリーキーをはずしたところ
10万件以上のTableですと明らかに検索スピードがアップします

もしかしてFireBirdってプライマリーキーは設定しない方がいいのかな?
(そんなわけないですよね(^_^;)

491 :デフォルトの名無しさん:02/12/17 12:19
プライマリーキーを複数の項目に設定するというのは
おいらなら普通は避けるけどな〜

その辺が関係してるのではなかろうか(試してないけど)

492 :デフォルトの名無しさん:02/12/17 15:20
>484
プライマリキーがどうこうじゃなくて、最適のインデックスを使ってくれないから
遅いってことだろ。
その現象が起こる、テーブルとインデックスの定義内容と SELECT 文提示してくれない?
こっちでも試してみたいから。

493 :484:02/12/17 16:23
create table test(
FIELD1 FIELD1 not null,
FIELD2 FIELD2 not null,
FIELD3 FIELD3 not null,
FIELD4 FIELD4 not null,
FIELD5 FIELD5 not null,
FIELD6 FIELD6 ,
FIELD7 FIELD7 ,
FIELD8 FIELD8 ,
FIELD9 FIELD9 ,
FIELD10 FIELD10 ,
FIELD11 FIELD11 ,
FIELD12 FIELD12 ,
FIELD13 FIELD13 ,
FIELD14 FIELD14 ,
FIELD15 FIELD15 ,
);


494 :484:02/12/17 16:23
create domain FIELD1 as char(2);
create domain FIELD2 as TIMESTAMP;
create domain FIELD3 as char(10);
create domain FIELD4 as char(4);
create domain FIELD5 as char(3);
create domain FIELD6 as TIMESTAMP;
create domain FIELD7 as varchar(10);
create domain FIELD8 as varchar(10);
create domain FIELD9 as varchar(10);
create domain FIELD10 as varchar(10);
create domain FIELD11 as varchar(10);
create domain FIELD12 as varchar(10);
create domain FIELD13 as varchar(10);
create domain FIELD14 as varchar(10);
create domain FIELD15 as varchar(10);


495 :484:02/12/17 16:24
alter table test add constraint PK_TEST primary key (FIELD1, FIELD2, FIELD3, FIELD4, FIELD5);

select count(*)
from TEST
where FIELD1 = '01'
and cast(FIELD6 as date) between '2001/01/01' and '2001/12/31'
and FIELD4 = '0001'
order by FIELD1, FIELD6, FIELD4;

496 :484:02/12/17 16:28
こんな感じです

プライマリーキーの代わりにUNIQUEでFIELD1,FIELD2...としても
遅くなります

外部キーは省略しました

これに10万件、適当なデータをいれれば大丈夫かと思います

497 :デフォルトの名無しさん:02/12/17 17:09
>>496
ほとんど指示通りにやったけど495のselectは一瞬で実行されるよ(by PenV650MHz)
(ドメイン名とフィールド名が同じというのは気持ち悪かったのでそこだけ変えたけど)

498 :デフォルトの名無しさん:02/12/17 17:36
確かにインデックスにプライマリキーが使われてるけど・・・遅くはないな〜

499 :デフォルトの名無しさん:02/12/17 17:54
>484
その DDL に以下を追加してやってみた。(データ件数は1件とした。)
create index test_idx1 ON test(FIELD1, FIELD6, FIELD4);

確かに>>495を実行するとプライマリーキーのインデックス(RDB$PRIMARY1)使ってたよ。
(ところで、カウントを求めるクエリの場合は order by 句は関係ないからオプティマイザが削除してくれてるかも。)

ちなみに "select count(*) ..." を "select * ..." に変えて実行すると
ちゃんと test_idx1 インデックスを使うようになった。
ためしにプライマリキーを定義しなかった場合は、>>489 の言う通り、ちゃんと test_idx1 インデックスを
使うようになった。(order by 句を付けても付けなくても同じ)
(sql dialect 1 にしても同じ結果だった。)

ということで、結論は count 演算させる SELECT の場合に使われるインデックスはプライマリキー固定となってしまう。
(インデックスが使われない場合を除いて)

これは Firebird のバグじゃないか?


500 :デフォルトの名無しさん:02/12/17 17:57
集合関数ってWHERE文の有無に限らず無条件にフルスキャンじゃなかったっけ?違ってたらスマソ


501 :484:02/12/17 18:08
実行結果は一瞬でしたか・・・

だとするとなんだろう?

外部キーとプライマリキーやUniqueのIndexが重複しているからだろうか?
(主キーのTimeStampのField以外は全て外部キーを設定してある)

以下がその外部キーの設定状態です
alter table test add constraint FK_TEST_MST1 foreign key (FIELD1) references MST0(MST0_FIELD1) on update CASCADE;
alter table test add constraint FK_TEST_MST2 foreign key (FIELD1, FIELD4) references MST1(MST1_FIELD1, MST1_FIELD2) on update CASCADE;
alter table test add constraint FK_TEST_MST3 foreign key (FIELD1, FIELD5) references MST2(MST2_FIELD1, MST2_FIELD2) on update CASCADE;
/*主キーの外部キー設定はここまで*/
/*後は各フィールド毎に必要な外部キー*/
alter table test add constraint FK_TEST_MST4 foreign key (FIELD8) references MST3(MST3_FIELD1) on update CASCADE;
alter table test add constraint FK_TEST_MST5 foreign key (FIELD1, FIELD10) references MST4(MST4_FIELD1, MST4_FIELD2) on update CASCADE;

ちなみに
select *
from TEST
where FIELD1 = '01'
and cast(FIELD6 as date) between '2001/01/01' and '2001/12/31'
and FIELD4 = '0001'
order by FIELD1, FIELD6, FIELD4;
としても、同じように遅いです
(本当はこっちの処理を行いたかったので)

現在は主キーや余分なIndexを削除して対処しています

502 :bloom:02/12/17 18:13

http://www.agemasukudasai.com/bloom/

503 :デフォルトの名無しさん:02/12/17 18:14
>>501
だから >>495 のプライマリキー
>alter table test add constraint PK_TEST primary key (FIELD1, FIELD2, FIELD3, FIELD4, FIELD5);
を定義しないとちゃんと他のインデックスが使われる。
結論は >>499 にある。

504 :デフォルトの名無しさん:02/12/17 18:19
InterBase でも >>499 と同じ結果。
よって Firebird の特有の問題ではなさそう。

505 :484:02/12/17 18:33
>503
はい、>499の結論は理解しています

任意のIndexを設定してそれを使用していることも確認しました

しかし、プライマリーキーであれ、任意で設定したインデックスであれ
なぜか、それを使用するとSelectの実行結果が遅く(10秒ぐらい)なってしまうのです

そこで、外部キー以外を全て削除して、再度実行すると一瞬(0.05秒ぐらい(^_^;)で結果が
返ってきます

DataBeseの検証なども行いましたが異常は無し

この不可解な事にどう理解すべきか頭を悩ませているところです
(Indexが増えれば更新が遅くなるのは理解できますが、Select文が遅いというのは
聞いたことがないもので・・・)

しつこくてすみません。

506 :484:02/12/17 19:09
その後いろいろとテストしてみました
セレクト文は一緒です
select * from TEST
where FIELD1 = '01'
and cast(FIELD6 as date) between '2001/01/01' and '2001/12/31'
and FIELD4 = '0001'
order by FIELD1, FIELD6, FIELD4;

プライマリーキー有り
その他のindex無し
--------結果----------
プライマリーキーが使用され
かなり遅い
----------------------

プライマリーキー有り
[Field1,6,4]のindex有り
--------結果----------
[Field1,6,4]のIndexが使用されるが
かなり遅い
----------------------


507 :484:02/12/17 19:09
プライマリーキー無し
[Field1,4,6]のindex有り
--------結果----------
[Field1,4,6]のIndexが使用され
速い!
----------------------

プライマリーキー有り
[Field1,4,6]のindex有り
--------結果----------
プライマリーキーが使用され
遅い
----------------------

プライマリーキー無し
その他のindex無し
--------結果----------
当然遅い
----------------------

どうやら、Indexを定義するときFieldの順番通りに
設定しないとどうもフルスキャンしてしまっているような・・・
それとも私の環境だけだろうか?

508 :デフォルトの名無しさん:02/12/17 20:13
PostgreSQLはCSVファイルを取り込むのに、\copy コマンドを使えるのですが、
InterBaseはダメなんですか?
CSV取り込みのないDBって、使えないじゃん

509 :デフォルトの名無しさん:02/12/17 20:33
>484
最良のインデックスを選択しないのはオプティマイザの実装がショボイんだろうね。
↓のリクエストもあるようだし。
Better query optimizer
http://sourceforge.net/tracker/?func=detail&atid=109028&aid=451912&group_id=9028

>The current optimizer often does a poor job of
>selecting the optimal indexes.


510 :デフォルトの名無しさん:02/12/17 22:26
>>508
>>482-483 を見よう

511 : ◆gXAHOOOHj. :02/12/17 22:56
今見てみたんだがExcelって固定長形式で
データ吐き出せないみたい。
Access使うとか自分で変換スクリプト書くとか
しないと駄目かな。

512 :デフォルトの名無しさん:02/12/17 23:34
Del+IBX で CSVファイル読み込み→DBテーブル書き込み プログラム作った方が早いと思うよ。
Import/Export 対応にして汎用に作れれば便利かも。

こんな感じ。(あくまでも例です。)

csv2tbl-table1.ini
[environ]
dbPath=127:0:0:1:c:\db1.gdb
tableName=table1
colCount=2
[col1]
fieldName=ColNameA
dataType=integer
isNullable=false
format="%2d"
[col2]
fieldName=ColNameB
dataType=string
isNullable=true
format=


513 :512:02/12/17 23:46
ちなみに Export だけなら Marathon や IBQuery 使えばできるよ。
特に IBQuery ならば、以下の形式で出力できる。
・dBase III+
・MS Excell
・HTML
・CSV
・Raw

514 :デフォルトの名無しさん:02/12/18 00:54
>484
Marathon 使ってみ。
これに「Performance Analisis」っていう画面があって、実行したクエリのインデックスのリード回数が
グラフで表示されるから参考になるかもしれない。
「SQLTrace」っていうクエリのトレース内容が表示される画面もある。


515 :デフォルトの名無しさん:02/12/18 01:47
>>495
>alter table test add constraint PK_TEST primary key (FIELD1, FIELD2, FIELD3, FIELD4, FIELD5);

alter table test add constraint PK_TEST primary key (FIELD1);
または
alter table test add constraint PK_TEST primary key (FIELD1,FIELD2);
にすると、まともな index を使うようになった。
ちなみに
alter table test add constraint PK_TEST primary key (FIELD1,FIELD2,FIELD3);
のように3個のカラムをプライマリキーに設定するとダメだった。

ということで、結論はプライマリキーは3カラム以上の組み合わせにすると、
オプティマイザの挙動がおかしくなる(*場合がある*)。
>>499 の結論は撤回します)

ただし >>506-507 の index 使っても遅くなる問題は未解決。だよね?

516 :デフォルトの名無しさん:02/12/18 02:19
>>515
有益な報告ですね
どうもありがとう

517 :484:02/12/18 09:17
>514
Marathonは愛用しています
しかし、1.5(1.6?)というバージョンのせいか
Performance Analisisを有効にすることが出来ません
もしよければどこのオプションで有効にするか教えて頂けないでしょうか?

>515
はい、遅くなる現象は続いています

518 :デフォルトの名無しさん:02/12/18 10:07
>>517
>しかし、1.5(1.6?)というバージョンのせいか
>Performance Analisisを有効にすることが出来ません
>もしよければどこのオプションで有効にするか教えて頂けないでしょうか?
こちらでも 1.6 使ってるよ。
特に何も設定した覚えはないけどな〜。(まだそんなに使い込んでるわけじゃないから詳しくないです)
とりあえず、ただ単にメインメニューの [Tools] → [SQL Editor...] で
「SQL Statememt」ウィンドウ開いて、「Edit View」タブページに任意のSQL 文入力して
実行すると、「Performance Analysis」タブページにグラフが表示されるけど、
そのページに表示されない?それともそのページ自体がない?

一応 [Help] → [About] ダイアログで表示される内容(Version)は以下の通りです。
...
Powered by IBObjects (3.4.B)
Version 1.6
Build 16
...

>はい、遅くなる現象は続いています
できたらプライマリキーを
 alter table test add constraint PK_TEST primary key (FIELD1);
にして試してもらえないかな?
(関係ないかも知れないけど。)


519 :484:02/12/18 15:15
「Performance Analysis」タブページはあるのですが
そこに
'There is no performance data being colected,
To colect display data check
"Show performance Data" in the Object Menu"'

とあってグラフは表示されませんでした

>alter table test add constraint PK_TEST primary key (FIELD1);

データの構成上プライマリーキーを一つにすることは出来ませんでした
すみません

520 :484:02/12/18 15:17
あれから実験ちょっとした実験をしてみたのですが
ちょっと見ていってくれませんでしょうか?

>493-495のTableでSQLでプライマリーキーを設定しないで
以下のIndexを作成します
create index TEST_IDX1 on uritrn(FIELD1, FIELD4);
create index TEST_IDX2 on uritrn(FIELD1, FIELD6);
create index TEST_IDX3 on uritrn(FIELD1, FIELD4, FIELD6);
create index TEST_IDX4 on uritrn(FIELD1, FIELD10, FIELD11);
create index TEST_IDX5 on uritrn(FIELD1, FIELD10, FIELD12, FIELD15);
create index TEST_IDX6 on uritrn(FIELD1, FIELD10, FIELD11, FIELD13, FIELD14, FIELD15);

さて同じSQL(ORDER BY FIELD1, FIELD6, FIELD4)を実行した場合
どれが使用されるかというと
なぜか一番下のTEST_IDX6が使用されます
もちろん速度は遅いです
ORDER BY句を削除しても同じでした
TEST_IDX2,かTEST_IDX3を使用するだろうと期待していたのですが
こういう結果になりました。
これって普通?

521 :デフォルトの名無しさん:02/12/18 17:24
>>520
uritrn => test だね。

>create index TEST_IDX3 on uritrn(FIELD1, FIELD4, FIELD6);
FIELD1, FIELD6, FIELD4 の順じゃないの?

まず、 >>495 は行数を取得するだけだから order by 句は無視されると思う。
>>495 を "select * ..." にして実行すると、
TEST_IDX3 (FIELD1,6,4 の順にしたやつ)がちゃんと使われる。
ちなみに order by 句を削除すると(where句だけ) TEST_IDX6 が使われる。


522 :デフォルトの名無しさん:02/12/18 17:28
>>521 の追加
ちなみに
select *
from TEST
where FIELD1 = '01'
and cast(FIELD6 as date) between '2001/01/01' and '2001/12/31'
and FIELD4 = '0001'
order by FIELD1, FIELD4;
だと、TEST_IDX1 が使われる。

523 :484:02/12/18 17:50
>FIELD1, FIELD6, FIELD4 の順じゃないの?

この順番でIndexを作成すると検索スピードが遅くなるのですが
わたしだけなのかな?

>>>495 を "select * ..." にして実行すると、
ここの部分の変更を書き忘れてました
すみません

なんだか長々とスレを汚してすみません

524 :デフォルトの名無しさん:02/12/20 11:38
ちと聞きたいのだが知ってるヤシいたら教えてくんない?
IBX の TIBDataBase でわかんないプロパティがあるんだけど
AllowStreamedConnected って何?
ちなみに IBX は↓から落とした Del5 用の最新版5.04でつ。
http://codecentral.borland.com/codecentral/ccweb.exe/author?authorid=102

525 :524:02/12/20 11:39
>>524
追記ですまそ。Del5 についてくる IBX 初期版 にはこのプロパティないのよね。

526 :デフォルトの名無しさん:02/12/20 14:34
>>524
試せばわかるぞ。

AllowStreamedConnected = False
Connected = True
DBGrid に表示するようにしておく。

これで起動してみそ。

527 :デフォルトの名無しさん:02/12/21 22:04
うちのInterBase6 は、以下のトリガーが、InterActiveSQLで動かない
んですよー(ToT)
トリガーが動かすときは、何か設定が必要なんすか?
偉い人、おしえてん。

CREATE TABLE first_table (
field_X INTEGER,
field_1 INTEGER,
field_2 INTEGER,
field_3 INTEGER,
);

CREATE GENERATOR first_table_id;
SET TERM !! ;
CREATE TRIGGER first_table_unique_id FOR first_table
BEFORE INSERT POSITION 0 AS
BEGIN
new.field_X = gen_id ( first_table_id, 1 );
END;
SET TERM ;!!

528 :デフォルトの名無しさん:02/12/22 00:07
ところで InterActiveSQL って何?

529 :デフォルトの名無しさん:02/12/22 02:15
InterActiveSQL
InterBaseに対して,SQLコマンドを対話型で入力できる
略してISQL

530 :デフォルトの名無しさん:02/12/22 11:37
>>529
それをいうなら "InterActive" じゃなくて "Interactive" だよ。
InterActiveSQL とかいう言語があるのかと思ったよ。
 

531 :デフォルトの名無しさん:02/12/22 14:14
「ISQLでトリガーを使う」という状況がよー分かりましぇん

トリガーってアプリ/サービスに対してデータベースの変更を通知するのに
使うものだと思ってたけど

532 :デフォルトの名無しさん:02/12/22 14:43
>>531
それはイベント(post_event)のことでは。
トリガとは違うぞ。

>>527
どう動かない?


533 :デフォルトの名無しさん:02/12/22 14:46
>>530
想像力の乏しい奴だな

534 :デフォルトの名無しさん:02/12/22 15:55
Firebird と InterBase の違いは?

535 :532:02/12/22 18:28
create generator gen_aid;
create trigger set_aid for tb_test
before insert
as begin
new.aid = gen_id(gen_aid,1);
end;

なんかをISQLで読み込ませると、

Unsuccessful metadata update
DEFINE GENERATOR failed
attempt to store duplicate value (visible to active transactions) in unique index "RDB$INDEX_11"
Statement: create generator gen_aid

なんてエラーが出る。

536 :つまり:02/12/22 18:29
ISQLでトリガーの部分が全然実行できないんす。
なぜかなー。わからん。

537 :デフォルトの名無しさん:02/12/22 19:31
>>534
Firebird はバグの固まり。だけどソース付きなので修正できる。
InterBase は有料。


538 :デフォルトの名無しさん:02/12/24 18:54
table1とtable2をunionで結合させたいのですが
Fieldの無い部分をNullで補うとうまくいきません
Oracleでは下の記述は通るのですが
FireBirdでは通りません

select
code fcode,
dateymd fdate
from table1
union
select
code fcode,
(null) fdate
from table2
;
どなたかわかるかた
おねがいします



539 :デフォルトの名無しさん:02/12/24 20:13
>>538
列が同じ型でないとUNIONで結合はできませんでつ。

540 :538:02/12/24 20:35
oracleみたいに、Nullで空のフィールドにすることは
出来ないのですね

とても勉強になりました

541 :デフォルトの名無しさん:02/12/24 22:23
>>538
cast(null as データ型) でどうだ?
データ型にはドメインは指定できないみたいだから、
組み込みデータ型で指定すること。

542 :538:02/12/24 22:39
おおお!!!!
出来ました!出来ました!!

なるほど、、キャストかぁ〜
Unionの表現の幅が広がって
今まで以上にFireBirdを使えそうです

ありがとうございました

543 :デフォルトの名無しさん:03/01/09 02:54



   ひろゆきは帰った?wwwww

544 :デフォルトの名無しさん:03/01/09 03:36
ニュー速+

【2ch】管理人のひろゆき氏がqbサーバで全レスIP記録の実験を開始
http://news2.2ch.net/test/read.cgi/newsplus/1042017485/


545 :デフォルトの名無しさん:03/01/09 04:19
要するに、管理人がアフォということと、
一部の信者はキチってことの二言に尽きますな
法律を少しでも勉強した者、
もっと言えば人並みの常識を備えた人ならば、
今回の敗訴は目に見えていたもんね
ネットなら何書いてもいいなんて暴論が罷り通るほど、
社会は冷徹でもバカでもないってことですな
やっぱ権利は濫用しちゃいけませんな


546 :デフォルトの名無しさん:03/01/09 12:05
んvbんv

547 :デフォルトの名無しさん:03/01/09 13:54
どこよ。

548 :デフォルトの名無しさん:03/01/09 14:43
>>264
合法的なのを目指すなら、削除システムを実装するだけ。
アングラなのを目指すなら、流動的なDAT分散機能をつける。

549 :デフォルトの名無しさん:03/01/09 17:40
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────

550 :デフォルトの名無しさん:03/01/09 23:31
すんげーくさいウンコ出た。
この匂いを共有したい。

551 :デフォルトの名無しさん:03/01/10 08:32
>>589
ちょっと違うが今までがそんな感じだったんよ。
「(善意であろうが悪意であろうが)確認できない以上利用者が真偽を判断すべきであり、
要請があっただけで全て削除するべきではない。」
というのがひろゆきの主張。
嘘を嘘と〜の名言もこれに繋がる。

これに対して動物病院訴訟における地裁・高裁の判断は、
「外部から確認できない以上当事者が中傷だと主張し削除の要請をした場合は、管理人は削除すべき。」

今後はこれに倣い当事者側が中傷だと主張さえすればIP公開する必要が出るかもしれない。
(もちろん警察なり裁判所の正式な提出要請があってからになるだろうけど)
なお、書き込んだ者はその書き込みに対し責任を負うべし、ってのは賛成だが。
いずれにしろ善意の告発は難しくなると思われ。

552 :デフォルトの名無しさん:03/01/10 09:52
>>196
その登場はずるい・・・ヽ(`Д´)ノウワァァン

553 :デフォルトの名無しさん:03/01/10 10:33
>>196
おはよー

554 :デフォルトの名無しさん:03/01/10 11:04
上告か、

555 :デフォルトの名無しさん:03/01/10 11:48
大好きな彼とはじめてやろうとしたとき、やっぱ立たなくて、
インポなのかと、ほんとまじで悩んだYO
でもフェラしてあげると、立たないのにすごい気持ちよがって、
「入れたいよ〜」って言ってたけど、立たないから無理だった。
「一人で出していい?」って言われたけど
「一人でいっちゃダメ!!」っていってから、その日はあきらめたんだけど、
その言葉が良かったらしくて、次に会ったときは、舐めなくてもギンギンに立ってました(笑)
なんかその日以来、オナニーもせずずっと我慢してたんだそうな・・・
http://freehost.kakiko.com/hangyaku

556 :デフォルトの名無しさん:03/01/10 12:18
IP記録をしなければ、695が病院の悪口を書き込んでひろゆきの裁判を増やしてくれるわけだな。

557 :デフォルトの名無しさん:03/01/10 13:08
ウラの取れてない内部告発はもう出来ないというわけか?

558 :デフォルトの名無しさん:03/01/10 15:31

スレ救出隊って、「スレを削除されないように活動する人たち」って
意味でしょうか?

559 :デフォルトの名無しさん:03/01/10 16:59
IP記録自体は以前から一部でやってたんだが、今回のはどうも違うシステムらしいな。
SETTING.TXTから分離して処理してる様なんだが。

560 :デフォルトの名無しさん:03/01/10 23:20
2chのIDてIPを変換してるんだっけ?
だったら、全板強制IDにして暗号キーだけ保存しておけばいいんじゃないの?

561 :デフォルトの名無しさん:03/01/10 23:27
2ちゃんねるは、新手の総会屋なんだよ!

562 :デフォルトの名無しさん:03/01/11 00:45
ボルタレンじゃなくて??

563 :デフォルトの名無しさん:03/01/11 00:51
誰か
IDにIPを出すことを要求します
ってスレ立てておながい

564 :デフォルトの名無しさん:03/01/11 10:46
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 139038人 発行日:2003/1/10

なにやら、連日メルマガだしてるひろゆきです。

そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。

重くなって落ちたりしてもご愛嬌ってことで。。。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────

565 :デフォルトの名無しさん:03/01/11 11:38




   で、相当な言論規制がされたわけだが。




566 :デフォルトの名無しさん:03/01/11 13:42
てゆうか晒されて困るなんて根性なしは荒らすなってだけで、
荒らすヤツは荒らすし、白化も黒化も結局いるわけだ。
素人にはお勧めできなくなったってこったな。

567 :デフォルトの名無しさん:03/01/11 16:27
(´-`).。oO(早く潰れろ屑掲示板…っと)

568 :デフォルトの名無しさん:03/01/11 16:35
国内サッカー板 また落ちてます?

569 :デフォルトの名無しさん:03/01/12 00:38
「年内に」だったけどどうしたんだろうね。

【2ch】2chがオークションサイト立ち上げ?
http://news2.2ch.net/test/read.cgi/newsplus/1036941670/

570 :デフォルトの名無しさん:03/01/12 00:48
ロケット団ハッケソ

571 :デフォルトの名無しさん:03/01/12 03:28
やすゆきも小心者だからね

572 :デフォルトの名無しさん:03/01/12 03:28
最後は、4桁だったみたいだね

573 :デフォルトの名無しさん:03/01/12 10:56
つうか全員逮捕だおまいら

574 :デフォルトの名無しさん:03/01/12 10:58
どうせ敗訴しても400万円を2ちゃんねらーのみなさんがカンパするんでしょ?

575 :デフォルトの名無しさん:03/01/12 21:30
マジでIPってなんですか?

576 :デフォルトの名無しさん:03/01/12 21:32
だからひろゆきもまともな2ちゃんのみんなも「不当判決だ」って怒ってるわけなのだが(^_^;)

577 :デフォルトの名無しさん:03/01/12 21:43
どうしても

倉庫番 ★≠BG ★≠夜勤 ★

ということにしておきたいみたいだけど、バレバレで萎えるw

578 :山崎渉:03/01/13 19:03
(^^)

579 :デフォルトの名無しさん:03/01/13 23:34
はぁぁぁ。あと、1週間以内で生理・・・。

何事にもむかついてたまらないっ!
生理前って、ブルーになったり、いらいらしたり。。。
ほんと勘弁してって感じ。


580 :デフォルトの名無しさん:03/01/14 00:52
保守age染ます

581 :山崎渉:03/01/15 17:48
(^^)

582 :デフォルトの名無しさん:03/01/16 15:49
こんにちは
質問させて下さい

いつも同じレコードで
下記のようなエラーがでるけどどうしてでしょう?

ISC ERROR CODE:335544321



ISC ERROR MESSAGE:

arithmetic exception, numeric overflow, or string truncation

Cannot transliterate character between character sets


データが壊れてる?

583 :デフォルトの名無しさん:03/01/16 17:29
>>582
キャラクタセット指定してないからでは?

ってかどういう環境でやってるのか提示せよ。

584 :582:03/01/16 18:23
プロシージャ内のデータ抽出で起こり
なんとか解決できました

原因は文字の連結を
||ではなく+でやっていいたことによるものでした

ご迷惑おかけしてすみません

プロシージャを書いてて思ったのですが
OracleのSubStrような機能はないのでしょうか?

585 :デフォルトの名無しさん:03/01/16 22:41
InterBaseの場合、その手の関数はUDF(ユーザ定義関数)として実装
されているのです。

Windows版の場合なら、ib_udf.dllというファイルがIBを入れたディレクトリ
のどこかにある筈です。これの中に拡張関数が入っていて、開発者側
で使いたいものだけDBに登録して使用します。
DBへの登録方法などはIBのドキュメントに載っています。

関数の仕様に多少の制限はありますけど、substrやstrlenなど
ある程度は揃っています。

586 :582:03/01/17 13:36
ありました
登録も付属のsqlファイルで出来ました
ありがとう

587 :デフォルトの名無しさん:03/01/18 17:51
InterBase(FireBrid)のストアドで
配列を使いたいのだけど
ヘルプを見た限りではのっていないような・・・?

もし出来たら宣言の方法などもふまえて
教えていただけないでしょうか?

588 :デフォルトの名無しさん:03/01/20 14:13
>>587
SQL文での配列操作はできなかったはずだけど。
配列使うならAPI使うしかないよ。

589 :587:03/01/21 17:48
Marathonで配列が簡単に作れるから
アクセス方法も簡単だと思ってました

API...今の私には敷居が高そうです(^_^;
(FireBirdでストアドのパッケージが使るようにならないかなぁ〜)


590 :デフォルトの名無しさん:03/01/23 10:56
selectで選択したレコードを
新規のテーブルに割り当てたいけど
Oracleの
create table newtable as (select * from oldtable where field <> 0);
みたいなSQLはFireBirdではどう書くのでしょう?

591 :デフォルトの名無しさん:03/01/23 17:22
>>590
>Oracleの
>create table newtable as (select * from oldtable where field <> 0);
それに相当するような機能はないよ。

やるとしたら、oldtable と同じ構成の newtable を作ってから、
 insert into newtable select * from oldtable where field <> 0;
でやるしかないだろうね。

592 :山崎渉:03/01/23 20:13
(^^)

593 :デフォルトの名無しさん:03/01/28 11:06
月始のDateや月末のDateを返す
UDFってどこかにないものでしょうか?

594 :デフォルトの名無しさん:03/01/29 01:59
>>593
そんなのないと思う。
月末の割り出し方ならとりあえず、
 cast('2003/2/1' as Date)-1
のようにすれば簡単。(この場合、2003/1/31 となる)

年と月の比較なら次のような手もある。
 select * from hoge
 where
 extract(year from date_field)=2003 and
 extract(month from date_field)=1

(date_field が 2003年1月のものを抽出)
ただし、"extract" って IB で使えるかどうか知らない。(FirebirdならOK)


595 :593:03/01/29 13:29
なるほど
月末をもとめるときは
そのようなやり方をするのですね!
目から鱗です

extract...
これも有効に使わせて頂きます!
(実は年間の売上を求めるストアド作成中で
早速extractを使いたいと思います)

それともう一つ二つ質問させて下さい
今、FireBirdのHPをみて1.5のβが出てるようなのですが
何が変わっているのでしょう?
また、現在Zipで配布されているようで
今使用しているFireBird(1.02)に上書きしてインストールする
のでしょうか?

596 :593:03/01/29 14:47
593です
ExtractをFireBird1.02でためしたところ
ERROR: expression evaluation not supported
とエラーが出てデータの抽出が行えません

何か設定を見逃しているのでしょうか?

597 :デフォルトの名無しさん:03/01/29 16:56
>>596
オレも FB1.02 だけど問題ないけど。(Win2000)
エラーが出たときのSQLステートメントは?
とりあえず isql で以下でテストしてみるとか。
 select extract(year from cast('now' as date)) from rdb$database;


598 :593:03/01/29 17:24
EXTRACT出来ました
原因はInterBaseでデータベースを作成したためでした
バックアップをとって、その後FireBird1.02でデータベースを作成
そしてリカバリしてデータを復元したら出来るようになりました
すみません、お騒がせしてしまって・・・

そういえばFireBirdって
どのPlanを使用するか決めることが出来るのですね
こんな感じで
CREATE INDEX employee_hire_date_month_idx
ON employee COMPUTED BY
(EXTRACT(MONTH FROM hire_date))

SELECT * FROM employee
WHERE EXTRACT(MONTH FROM hire_date) = 1
PLAN (EMPLOYEE INDEX (EMPLOYEE_HIRE_DATE_MONTH_IDX))

Webを巡回して今更気づきました(^_^;


599 :デフォルトの名無しさん:03/02/05 09:41
FireBirdってcaseは使える?
どこかで使えるっていうのを見たのですが
思い出せずやってみたのですが出来なくて。。。

過去ログにextract等の関数をまとめたサイト、
もしあれば教えて頂けないでしょうか?

600 :デフォルトの名無しさん:03/02/05 09:42
過去ログにextract等の関数をまとめたサイト、
             ↓訂正
過去ログにextract等の関数があがっていますが
このような関数ををまとめたサイト、

すみません

601 :デフォルトの名無しさん:03/02/10 11:53
こんにちは。
timestamp型のデータフィールドに対して、yyyy/mm/ddのフォーマットで
抽出はかけられないでしょうか?

select * from hoge where cast(hogedate as date) = '2002/04/10'
でいけるかなと思ったんですけどムリでした。

↓こういうのならできるんですけど。
select * from hoge where cast(hogedate as char(10)) = '6-AUG-2002'

御教授おながいします。




602 :デフォルトの名無しさん:03/02/10 11:57
>>601
cast('2002/04/10' as date)
でいいのでは?

603 :601:03/02/10 13:19
>>602
select * from hoge where hogedate = cast('2002/04/10' as date)
はダメで
select * from hoge where cast(hogedate as date) = cast('2002/04/10' as date)
もダメです

select cast(hogedate as date) from hoge
をしてみると結局タイムスタンプ型で帰ってきちゃうんですよ
使用しているのはIB6ですが




604 :デフォルトの名無しさん:03/02/10 14:32
>>603
試したが IB じゃダメみたいだね。FB ならいいんだけど。
だけど cast('4/10/2002' as date) なら OK だったから
これでやるしかないんじゃないかな。ダメ?
この形式なら FB でも OK だから
もし今後 FB に移行する際には修正しなくていいからね。

605 :601:03/02/10 17:10
>>602,604
ありがd

でも、うまくいかないです。
604は↓ですよね?
select * from hoge where cast(hogedate as date) = cast('6/08/2002' as date)


606 :デフォルトの名無しさん:03/02/10 18:18
>>605
IB5 だと OK だったけど。IB6 はダメなんだ? 何で???

>select * from hoge where cast(hogedate as date) = cast('6/08/2002' as date)
大して変わらないと思うけどこっちでは
select cast('4/10/2002' as date) from rdb$database;
で確認。

607 :デフォルトの名無しさん:03/02/10 18:20

isql で確認。

608 :601:03/02/10 18:51
やっぱりダメです。ちなみに今まではBDE経由でやっていて、
ISQLで試してみたんですが、Conversion error from string "13/07/2002"
とかでちゃいました!'2002/07/13'とすればNullが返ってくる、そんなところです。

とりあえず、(hogedate as char(10)) = '6-AUG-2002')でやろうかなと思ってます。
付き合ってくれた人ありがとでした。





609 :デフォルトの名無しさん:03/02/10 19:19
>>608
>ISQLで試してみたんですが、Conversion error from string "13/07/2002"
そりゃそうだよ。これだと 2002年13月7日ということだから。
もう一度 isql で 7/13/2002 で試してみ。

610 :601:03/02/10 19:49
見落としてました。。
でも




Nullですた。

611 :デフォルトの名無しさん:03/02/10 19:58
>>610
スマソ、今テスト環境がないからクソレスかもしれんが、
'2002-07-13'
だとどうよ?

612 :デフォルトの名無しさん:03/02/10 20:04
>>610
>Nullですた。
>>608
>とかでちゃいました!'2002/07/13'とすればNullが返ってくる、そんなところです。

Null ってことは日付形式がダメなんじゃなくて、
 cast(hogedate as date) = cast('6/08/2002' as date)
が一致してないってことなんだ?
であれば、形式は "年/月/日", "月/日/年" でもいいじゃん。
一致しないのは別の問題では。

613 :デフォルトの名無しさん:03/02/12 17:09
どなたかご教授ください

UNION句を使って
複数のテーブルを結合したいのですが
OREDER BY 〜
の指定がうまくいきません

SELECT A_DATE YMD, A_KIN KINGAKU
FROM A_TABLE

UNION

SELECT B_DATE YMD, B_KIN KINGAKU
FROM B_TABLE

ORDER BY KINGAKU, YMD /*ERR*/

としたいのですが、うまくいかないのです
FIREBIRDではUNION句でのソートは認められないのでしょうか?

614 :デフォルトの名無しさん:03/02/15 18:09
日付周辺の仕様ってDialect関係あるんじゃなかったっけ?
FBでOKってことはDialect3?

615 :614:03/02/15 18:10
下げてどうする

616 :デフォルトの名無しさん:03/02/15 21:29
すんません、InterBase5.6について聞きたいんですが
IBのデータベースを作ってそこに約40GBのテストデータを
入れてみるというテストをしているのですが、約2GBくらい入れたところで
毎回処理が止まってしまいます。
IB5.6っていうのは2GB以上のデータというのは流し込めないのでしょうか?

環境としては
Redhat6.2
InterBase5.6
を使ってるのですが、もしかしてLinuxが悪さしてるとかってことも
あるんでしょうか?
質問ばかりですいませんが分かりましたら是非ご教授お願いします

617 :デフォルトの名無しさん:03/02/15 23:13
>>616
Linuxってたしか2.4系のカーネルじゃないと2GB以上のファイルって
扱えないんじゃなかったっけ?

Redhat6.2ってカーネルいくつ?

618 :デフォルトの名無しさん:03/02/15 23:13
ちなみにInterbaseにデータベースのサイズ制限は無かったと思う。

619 :デフォルトの名無しさん:03/02/15 23:27
そうなだ。

620 :デフォルトの名無しさん:03/02/16 11:26
ほかのディストリビューションにした方がええ。
Red Hat 6.2 はこの3月でアップデート終了だ。

621 :616:03/02/17 12:29
>>617-620
レスありがとうございます。
どうやら調べたらカーネルが2.2くらいだったので変更しなきゃだめなんすね
ほんとすいませんでした

後上乗せで申し訳ないのですが5.6から6に変わったときの変更点って
どこにのってるんでしょうか?
JapanのボーランドのHPには特徴って部分でちょこっとだけ載ってましたが
あんだけなんでしょうか?
もし載ってるサイト等ご存知でしたら是非そこもお願いします

622 :デフォルトの名無しさん:03/02/17 14:10
>>621
「InterBase5から6への移行ガイド」
http://bdn.borland.com/article/0,1410,26417,00.html
この辺かなぁ。


623 :デフォルトの名無しさん:03/02/18 18:36
>>621
移行するのであれば Firebird にしたらどう?
客の指定なら仕方がないけど、自由に選べるのなら Firebird をお勧めします。

624 :デフォルトの名無しさん:03/02/19 12:03
T.Maki さん、行方不明
死亡か?

625 :デフォルトの名無しさん:03/02/20 07:37
>>624
メール送っても返事が無い。だれか詳細を...


626 :デフォルトの名無しさん:03/02/20 17:57
InterBase7 日本語版
http://www.borland.co.jp/news/ib7_ja.html


627 :デフォルトの名無しさん:03/02/21 11:42
おそれいりますが、 Firebird と mySQL
とのパフォーマンスを比較した方はいないでしょうか
おおよそで結構ですので、お教えいただけると
ありがたいのですが。

628 :デフォルトの名無しさん:03/02/21 15:58
>>627
ここはInterBaseのスレなんですけど。

629 :デフォルトの名無しさん:03/02/26 00:42
誰かInterBase 7使用したやつ情報希望。
米国のサイトで英語版の体験版が落とせるらしいが・・・・

630 :デフォルトの名無しさん:03/02/28 11:08
InterBase 7ってDelphi7 Studioにも付いて来るじゃなかった?
俺はバージョンアップに付き合いきれんのでDelphi5のまま。

SMP対応らしいからPen4 3.06Gで動かしたときの様子が知りたいね。


631 :デフォルトの名無しさん:03/02/28 16:59
行ロックをかけたいのだが
Oracleの for update (nowait)
のようなものはない?

イベントアラーター使わんと駄目なのかな?

って、ストアドとトリガーしか使えなかったね
イベントアラーター・・・

う〜ん・・・

632 :デフォルトの名無しさん:03/03/01 00:46
>>631

OracleのようなSELECT FOR UPDATEは無いがロックしたい行が特定出来るなら
UPDATE SET FIELD1 = FIELD1 WHERE xxxxxx
と最初にする事で明示的にレコードロックはかけられる。

イベントアラータ使ってマニアックに実装するよりこちらが吉。




633 :デフォルトの名無しさん:03/03/01 09:21
>>632
なるほどその手があったか!
早速試してみます

返信ありがとう

634 :デフォルトの名無しさん:03/03/03 15:25
先生方、お願いします。

Date型(TimeStamp)のエンコード、デコードって出来ます?
MarathonのSQL Code Snippets のストアドで
出来そうな気がしたので
それらしきストアドをコピペでコンパイルしたけど
'そんなストアドないよ'見たいなエラーで出来ませんでした

そのデコードを使ってやりたいことは
TimeStamp型のMonthをインクリメントしたいのですが
他にいい方法がありますか?
Dayのインクリメント、デクリメントは直接出来るようですが・・・

635 :デフォルトの名無しさん:03/03/03 17:08
質問です。
トランザクションをコミットする方法にCOMMITとCOMMIT RETAINがあるのですが
結果セットを維持する必要があるとき以外はCOMMITを使用し、維持する必要の
あるときのみCOMMIT RETAINを使用するべきでしょうか?

例えばSELECTを発行し、その内容を使用して処理を行うというありふれた場合でも
1.SELECT発行 → 処理 → COMMIT
とする方法と
2.SELECT発行 → COMMIT RETAIN → 処理
とする方法の二つがあると思うのですが、どちらがより望ましい方法なのでしょうか?

効率、保守性等も含め、アドバイスお願いします。

636 :をた:03/03/05 10:27
select で 100件 抽出できるテーブルから、
何らかのソートをかけて、
上位 10件だけを 抽出するには どうしたらいいでしょうか?

をしえて君ですみませぬ。

637 :をた:03/03/05 11:43
SQL Server でいうところの SET ROWCOUNT みたいなやつです。

638 :デフォルトの名無しさん:03/03/05 13:55
>>636
New Features In InterBase 6.5
http://community.borland.com/article/0,1410,28107,00.html
の "The ROWS Clause" のことかな?
(IB6.5 は使ってないから知らないけど。)

Firebird なら >>414 参照。

639 :をた:03/03/05 17:53
>>638
レスありがとうございます。
しかし 当方、 IB5.6 でございまして・・・・   (わーーーん)

640 :デフォルトの名無しさん:03/03/05 18:45
>>639
思い切って Firebird に移行したらどう?
(ちなみにオレも IB から Firebird に移行している。仕事でも使ってるし。)
IB5.6 の DB ファイルそのまま扱えるし、機能的にも IB5.6 より上だし。
(商用)IBのような同時接続の制限もないからいいと思うが。

641 :デフォルトの名無しさん:03/03/06 13:28
FireBird だけは止めたほうがいいよ。
限定的にしか動かないし、IB に対する拡張部分はバグが多いし。
ソースをメンテナンスするだけの余力がある人だけが使うべき。

やりたいのは IB/FireBird を使うことなのか?それとも DB を使ったアプリを作ることなのか?
前者なら FireBird でも良いけど、後者なら黙って IB をアップデートするか
他社の(サポートつき)DB を買いなさい。

タダが一番高いんだよ。

642 :デフォルトの名無しさん:03/03/06 14:07
>>641
某日社員?

俺 Firebird 使ってるけど安定して使えてるが。(Win版)
もちろん客先にも導入してもらってる。

>FireBird だけは止めたほうがいいよ。
使えるか使えないかは普通テストして決めるだろ?
使えそうなら使ってみればいい。
Firebird に移行した後でも、使ってく中で、致命的なバグを発見したとかでやっぱ
Firebird はダメだと思ったらそのときにはまた InterBase に切り替えればいい。
互換性が高いんだから、そのまま、もしくは少しの修正で移行できる。

>限定的にしか動かないし、IB に対する拡張部分はバグが多いし。
大分 Fix されてるようだし、バグってる機能使わなきゃいいだろ。

> 他社の(サポートつき)DB を買いなさい。
高いサポート料支払っても問題解決しないから結局は自己責任なんだよ。


643 :デフォルトの名無しさん:03/03/06 16:11
>>642
禿同。
つか、ソースがあれば最悪でもどうにかしようがあるから漏れはFBにした。
IBも選択肢に入ってたんだけど、10年ぐらい使い倒しそうなシステムの開発で、
10年後に某がくたばってる可能性を考慮するとオプソ優位の判断になっちゃったんだよね。

644 :デフォルトの名無しさん:03/03/06 16:21
>>641
> 限定的にしか動かないし、IB に対する拡張部分はバグが多いし。

具体的に書けなきゃただのアホウだな。

645 :デフォルトの名無しさん:03/03/06 16:39
OracleのObjectBrowserみたいな、DB管理ソフトってないですかね?


646 :デフォルトの名無しさん:03/03/06 16:58
>>645
IBExpert
www.ibexpert.com

647 :デフォルトの名無しさん:03/03/06 17:22
>>641
仮にFireBirdのほうがバグが多いとしても。
http://sourceforge.net/tracker/?atid=109028&group_id=9028&func=browse
こういう形でバグを回避することができるだけでもFireBirdを選ぶ価値があると思うけど。

InterBaseにどんなバグがあるかなんて知る術ないしね。

648 :デフォルトの名無しさん:03/03/07 01:10
DelのMLでもFirebirdの質問(この板でやってたのの同じやつだけど)が出てたね
徐々に認知度が上がってるのかな
使う人が増えればそれだけ情報も集まるし信頼性も上がるよね
(バグやその回避策も分かるようになるだろうから)

ここで標語
『Firebird みんなで使えば 怖くない』

649 :デフォルトの名無しさん:03/03/07 14:19
質問なんですが
ストアドプロシージャでドメイン使える?
それっぽい構文で
いろいろ試したけど無理だったので・・・

出来たら最高なんだけどなぁ〜

650 :デフォルトの名無しさん:03/03/07 16:05
>>649
使えないよ。
ドメイン使ってるテーブルのフィールドと同じ型の渡したり、返したりできないと不便だよね。
ドメイン修正したら関連しているストアドも修正しなきゃならんから。

651 :649:03/03/07 17:01
>>650
やっぱり駄目か〜

そのうち独自の拡張で
ストアド・トリガーでドメインOK!!
ドメインを変更した時、
それを使用しているストアドやトリガーをリコンパイル!!

してくれればいいな・・・

652 :デフォルトの名無しさん:03/03/10 19:05
>>645>>646
IBExpert日本語化されるらしいよ。
どうやらヘルプも日本語になるみたい。

653 :デフォルトの名無しさん:03/03/10 22:50
>>652
まじですかい!!
フリーの奴も?

IBConsole→Marathon→IBQueryと渡り歩いてIBExpertに
落ち着いている身にとっては朗報です。情報さんくす!!


654 :デフォルトの名無しさん:03/03/12 09:05
>>653
残念。有料。かなり高い。

>>652 あーこらこら。宣伝は慎むように。

655 :デフォルトの名無しさん:03/03/12 12:03
今Marathon使ってるのだが
IBExpertにしかない機能等はあるの?

Marathon、全然アップデートしないから
もし使いやすかったらIBExpertの購入も検討したいのだが・・・

656 :デフォルトの名無しさん:03/03/12 15:22
すいません初歩的なことなのかもしれなませんが
InterBaseのSQL命令で
SELECT * FROM (
 SELECT DATE1 FROM DATA_TABLE
 UNION ALL
 SELECT DATA2 FROM DATA_TABLE
);
みたいにFROMのなかでSELECTって書くことできないのでしょうか?
初歩的ですいませんが是非ご教授お願いします

657 :デフォルトの名無しさん:03/03/12 16:47
>>656
ビューやストアドを使えばうまく行くけどねー

658 :デフォルトの名無しさん:03/03/12 16:52
>>656
そのまんまなら
SELECT DATE1 ADATE FROM DATA_TABLE
UNION ALL
SELECT DATE2 ADATE FROM DATA_TABLE;
でいいんだけどー

659 :デフォルトの名無しさん:03/03/14 14:08
ここにいる経験豊富な方よ
教えておくれ

Firebird1.0でドメインのキャラクタセットをnoneから
他のものに変更したいのだけど
MarathonやらIBExpertやらではうまくいませぬ

これって仕様?

660 :デフォルトの名無しさん:03/03/14 16:43
>>659
今IBExpertでやってみたけど、
キャラクタセットが選択可能で、一見できそうなんだけど、
コンパイルしたらダメだった…・

よく見たら、ALTER DOMAINではデフォルト値の削除や変更、
チェック制約の削除や変更、ドメイン名、データタイプの変更が
できるようだけど、キャラクタセットの変更はサポートされていないみたい。

ドメインを削除して、再定義するしかないのかもしれないけど、
どっかのテーブルでそのドメインが使用されていたら、削除できないので
かなり厄介(テーブルを削除しなければならない?)。
なんかいい方法はないのかな?

>>654
652は宣伝じゃないだろ。URLも貼ってないし、価格もその他の情報も
一切記述していない。
大方また聞きか、直接問い合わせたんじゃないのか?

661 :デフォルトの名無しさん:03/03/14 16:48
ソースはらなきゃ

662 :659:03/03/14 18:21
>>660
むぅー
やはり無理でしたか・・・

IBExpert, Marathonで選択可能ということは
FireBird1.5では拡張されて変更出来るのだろうか?

663 :デフォルトの名無しさん:03/03/15 11:18
すまそ。
教えてたもぉー

ストアドの中でトリガーの有効、無効を切り替えたいのですが
ALTER TRIGER HOEHOE INACTIVE;
って書き込んでコンパイルすると
「ぼけぇー、うざいんじゃワレ!!そんなの書き込んでも無駄無駄ぁー
ALTERなんて言葉、シラネーヨ!ぺっ!!」
というような警告が出ます

クライアントでストアド呼び出す前後にオンオフ
するしかないのでしょうか?

664 :デフォルトの名無しさん:03/03/19 11:23
OLEDBでVBから使ってみてるんだけど、OLEDB経由だとしこたま遅い?
FireBird1.0つかってんだけど。
テーブル取得(SELECT * FROM TABLE)するのにSQLServerで1秒ちょっとで終る処理が、
同構成のテーブルで26秒くらいかかる。。

665 :デフォルトの名無しさん:03/03/19 13:23
>>664
FireBird 使わなきゃいいだろ?

666 :デフォルトの名無しさん:03/03/19 14:19
>>664
WinXP の場合は遅くなるらしい。(WinMe も?)
データベースファイルの拡張子を GDB 以外にするなどの対策が必要とのこと。

667 :デフォルトの名無しさん:03/03/19 14:28
www.microsoft.com/japan/msdn/windows/windowsxp/windowsxpsystemrestore.asp
これに "GDB" 拡張子が含まれているみたい。

668 :デフォルトの名無しさん:03/03/20 11:40
教えて下さい

データーベースのCharSetをShiftJIS

ID(Code)などの二バイト文字を使用しない
ドメインのCharSetをASCII

二バイト文字を使用する
ドメインのCharSetをShiftJIS

このような設定でこれから設計していこうと思っています

しかし、CharSetの中にUNICODE_FSSがあり
もしかして全てこれに統一出来るのかな?と思っています

皆さんは今のシステム、CharSetをどのように定義していますか?

669 :デフォルトの名無しさん:03/03/24 09:23
>>665
バカ

670 :デフォルトの名無しさん:03/03/24 09:25
>>666
フム、情報あんがと。どっかに載ってる情報なのかな。
IBOleDb使ってるんだけどどっかドキュメント読み飛ばしてたかな。。

671 :NullPointerExceptionはぬるぽ:03/03/24 10:12
>>664
666に関連することだけど、XPとMeの場合、ファイルを復元する機能があるため、
これを無効にしてしまえばよいです。
マイコンピュータ - 右クリックでプロパティ - ファイルの復元タブ
で、ファイルの復元機能のチェックをはずす(手元にXPがないので、逆に復元機能を
有効にするのチェックかもしれない。いずれにせよ、デフォルトの状態では復元が
有効になっているので、デフォルトではないようにすること。スマンコ)と、
復元が無効になってスピードがアップする(かもしれない)。

関係ないが「しこたま」って、やっぱり方言なのかなぁ?
漏れも使ったことあるし、ゲゲッてみたら秋田、山口、熊本などいろんなところでの
方言で、あまり地域性がないみたい。

672 :NullPointerExceptionはぬるぽ:03/03/24 10:14
「漏れも使ったことあるし、ゲゲッてみたら」
→「…ググッてみたら」

情けない。煎ってきます。

673 :デフォルトの名無しさん:03/03/25 20:01
FireBirdを触ってみようという程度の興味から、Twise Lab から日本語化
されたv1.0 を落としてインストールをしたのですが、IBGuardの起動や
IBConsoleでの接続後にログを見ると、

「レジストリ情報が不足しています。
  設定を確認してください。 」
というメッセージが出てきます。これにはどう対処したら良いのでしょうか?

Windows2000(SP3) WI-T6.2.796 FireBird1.0



674 :デフォルトの名無しさん:03/03/25 22:03
コンナトコマデシュッチョウシテンジャネエヨ
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>671-672


675 :デフォルトの名無しさん:03/03/26 23:49
ぐぐってみました
Interbase SQL Access97 Lotus123

676 :デフォルトの名無しさん:03/04/03 12:24
InterBase(火の鳥)って表を結合すると
オラクルと比べてものすごく時間かかるね。
planとか見てもindexは使ってるようだし
むぅ・・・

パフォーマンスを上げるために
ストアドで処理したりしてるけど
他のみんなはどうしてる?

それともオラクルよりも遅いのは私だけ?

677 :デフォルトの名無しさん:03/04/04 13:25
>オラクルと比べてものすごく時間かかるね。
ものすごくってどの程度のこと?

ほかの人にも言えることだけど、そもそもオラクル持ってるのに
何でわざわざ InterBase 使ってるの?
オラクルの方がパフォーマンスがいいならオラクルにしとけばいいじゃん。

678 :デフォルトの名無しさん:03/04/04 16:03
>>676
どんな条件下でどんなテーブルをどういうふうに結合したのか何も書かずに
>オラクルと比べてものすごく時間かかるね。
こんな結論出されても

(゚Д゚)ハァ?
としか言えないわけで。

そもそも、ストアド化したところでテーブルの結合自体にかかる速度は
変わるはず無いじゃん。

679 :デフォルトの名無しさん:03/04/04 16:09
なんでそんなにキツい言い方をするかな...
Firebirdだとコストがかからないので、十分乗り換え理由になると思うが。

>>676
用途にもよるけど、パフォーマンスをOracleと比べられると厳しいかも。

680 :デフォルトの名無しさん:03/04/05 16:18
D7のIBQueryを使っていますが、TIMESTAMP型を含むレコードを
挿入するにはどういうSQLを書けばいいのでしょうか?

以前BDEを使っていた時は TQuery.SQLに 
INSERT INTO hoge VALUES (:FDATE)
をAddして
TQuery.Params.Items[0].AsDateTime := TDateTime型変数
とやれば良かったのですが。

681 :デフォルトの名無しさん:03/04/06 00:00
TIBQuery.ParamByName('DateField').AsDateTime := TDateTime;

682 :デフォルトの名無しさん:03/04/09 16:01
他のスレですが
http://php.weblogs.com/oracle_mysql_performance
でオラクル等の比較を教えてもらいましたが、
参考になりませんかね?
mySQL というのもありかな?


683 :デフォルトの名無しさん:03/04/14 17:46
Delphiでの開発の入門書としてよく薦められる「データベースLinux―InterBase 4.0 for Linux」
ですが、IBXを使用した例が詳しく載ってますでしょうか?
ほとんどの書籍がBDEなので、、、

684 :デフォルトの名無しさん:03/04/14 18:00
>>683
続編の「データベースLinux―Java ServletによるWebサーバー構築 編」
に実質9ページ程載ってるだけ

「Firebird オープンソースデータベースの導入と運用の実際」
の方は18ページ載ってるけど
サンプルソースにかなりのページを割いているので
情報量が倍もあるかどうかは読む人によるかと

685 :デフォルトの名無しさん:03/04/14 18:32
ここの事例で訴訟手続きデータベースにIB使ってるけど、
ttp://www.borland.co.jp/interbase/cases/interbase_1800serveem_case.pdf

ここまでべた褒めされるのはうれしい事なのだろうけど、その分狙われる可能性
も高くなる?(もちろん穴はふさいでセキュアな環境使用してるだろうけど。)

686 :683:03/04/14 20:58
>>684
レスありがとうございます。
そうですか、大受氏の本と同程度ですか。
大受氏のほうは持っているのですが、一つの例が申し訳程度に載っているだけなので。

ヘルプと英文しかないですかね?

687 :山崎渉:03/04/17 15:26
(^^)

688 :デフォルトの名無しさん:03/04/18 14:43
JSPとSERVLETでWEBアプリケーションを作っているのですが
1件のデータ(更新クエリ30〜40件)を登録すると
メモリを200K〜300K程喰ってしまいすぐに限界がきます。
UPDATEやINSERTを行うと膨大なメモリを喰うのは
InterBaseの仕様でしょうか。それともプログラムが悪いのか・・・
もしこれが仕様ならば解決策はあるのでしょうか?

689 :688:03/04/18 14:44
ちなみにInterBase5.6使ってます。

690 :デフォルトの名無しさん:03/04/18 16:26
>>688
問題があるとしたら Java 側(JDBC)だろ。
まずは環境やそのコード等を書くべし。

691 :山崎渉:03/04/20 03:07
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

692 :山崎渉:03/04/20 03:43
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

693 :688:03/04/23 19:19
すいません、レスが遅くなってしまいました。
その後調べてみましたがさっぱりわかりませんでしたので
ソースコード書きたいのですが、結構長くなってしまいますが
検証してもらえますでしょうか・・・お願いします

694 :デフォルトの名無しさん:03/04/24 23:20
>>693
>ソースコード書きたいのですが、結構長くなってしまいますが
分割してレスしなよ。


695 :688-1:03/04/25 14:42
ありがとうございます
恐らく3〜4レス分になりますがお願いします

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Test_DB extends HttpServlet{
private static final Stack connStack = new Stack() ;
private static java.sql.Driver driver = null;
private static java.sql.Connection conn = null;
private static java.sql.Statement stmt = null;
private static java.sql.ResultSet rs = null;

public void doGet( HttpServletRequest request, HttpServletResponse response )
throws IOException, ServletException
{
PrintWriter out = getWriter( response );
HttpSession session = request.getSession( true );

String str = "";
String [] strArray = new String[0];
try {
connect();

stmt = conn.createStatement();

for ( int i = 0; i < 500; i++ ) {
stmt.executeUpdate( "INSERT INTO TBL VALUES( '"+ i +"', 〜〜以下80項目分〜〜, '"+ i +"' )" );
}
rs = stmt.executeQuery( "SELECT STR FROM TBL;" );

696 :688-2:03/04/25 14:43
Vector vec = new Vector();
while( rs.next() ) {
vec.addElement(rs.getString( "STR" ) );
}
strArray = (String[])vec.toArray( new String[0] );
commit();
close();
} catch ( Exception e ) {
e.printStackTrace();
}

for ( int i = 0; i < str.length; i++ ) {
out.println( strArray[i] );
}
out.close();
}

public void doPost( HttpServletRequest request, HttpServletResponse response )
throws IOException, ServletException
{
doGet( request, response );
}
//----- PrintWriter をHTML表示用にSHIFT-JIS に合わせる-----//
public PrintWriter getWriter( HttpServletResponse response )
throws IOException
{
response.setContentType( "text/html; charset=Shift_JIS" );
return new PrintWriter( new OutputStreamWriter( response.getOutputStream(), "Shift_JIS" ) );
}

697 :688-3:03/04/25 14:44
public static void connect()
throws Exception {
try {
synchronized ( connStack ) {
if ( connect_flag != true ) {
// JDBCドライバの読み込み
Class.forName( "interbase.interclient.Driver" );
driver = new interbase.interclient.Driver();

java.util.Properties prop = new java.util.Properties();
prop.put( "user", "SYSDBA" );
prop.put( "password", "masterkey" );
String url = "jdbc:interbase://localhost/data/TEST_DB.GDB";
conn = java.sql.DriverManager.getConnection( url, prop );

// 自動Commit処理をさせない
conn.setAutoCommit( false );
}
}
} catch ( Exception e ) {
throw e;
}
}

698 :デフォルトの名無しさん:03/04/25 14:45
// DB更新処理
public static void commit()
throws Exception {
try {
conn.commit();
} catch ( Exception e ) {
throw e;
}
}

// DB巻き戻し処理
public static void rollback()
throws Exception {
try {
conn.rollback();
} catch ( Exception e ) {
throw e;
}
}

// DB接続解除処理
public static void close()
throws Exception {
try {
conn.close();
} catch ( Exception e ) {
throw e;
}
}
}

699 :688:03/04/25 14:45
以上上の4つがソースになっていますが
どこを変えればメモリの消費など抑えられるか
等御分かりいただけましたら是非お願いします

700 :688:03/04/25 14:47
すいません。
補足ですが688-1でかいた
for分500回回してるところが実際人数分
処理を行うところです

701 :デフォルトの名無しさん:03/04/26 16:02
>688-1
>stmt = conn.createStatement();
conn.prepareStatement(sql); 使った方がいいよ。

>688-2
接続close前に、 rs.close() と stmt.close() を入れるべき。

>688-3
>driver = new interbase.interclient.Driver();
これは必要ない。

これで試してみて結果報告してね。


702 :デフォルトの名無しさん:03/04/27 03:19
レプリケーターって何するものなの?

703 :デフォルトの名無しさん:03/04/27 03:56
vc .netとかで簡単にソリューション内の全ファイル行数を
チェックするにはどうすれば?

マクロか?

704 :デフォルトの名無しさん:03/04/27 03:56
>>703
間違えました。すいません

705 :デフォルトの名無しさん:03/04/29 23:35
ライセンスについて教えてください。
1:フリーウエアと一緒に配布する場合
2:商用アプリケーションと一緒に配布する場合
3:インターネット上のサーバーで使用する場合
これらのときでも、自由に使えるのでしょうか?

706 :688:03/04/30 18:01
>701
レスありがとうございます。

・rs.close() と stmt.close()
・driver = new interbase.interclient.Driver();
の部分は修正しましたが改善されませんでした。
prepareStatement(sql)に関しては、こちらの例が悪かったです。
分かり易くするために簡単なクエリにしましたが、
実際に実行する複数のクエリは、
格納するテーブルも値もバラバラなので
prepare〜はどうも使えそうにありません。

707 :デフォルトの名無しさん:03/04/30 18:02
>>705
スレ違い…ここはFirebirdスレじゃない
それと…マルチ反対

708 :山崎渉:03/05/22 05:00
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―

709 :デフォルトの名無しさん:03/05/28 08:35
無料のODBCドライバないでつか?
FirebirdのODBCドライバはバイナリ対応してないものばかりで。

710 :山崎渉:03/05/28 12:28
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉

711 :デフォルトの名無しさん:03/05/28 17:09
Hあげ

712 :動画直リン:03/05/28 17:13
http://homepage.mac.com/hitomi18/

713 :デフォルトの名無しさん:03/05/29 23:19
InterBaseか、Firebirdのようにオープンソースじゃないのに
それでも使う?

714 :デフォルトの名無しさん:03/06/09 04:03
InterBaseのバージョンによる違いを一言で教えてくれ。
5.6 , 6 , 6.5 , 7 について
5.6は現在使用中だ。

715 :デフォルトの名無しさん:03/06/09 19:04
一言か・・・DBエンジンが違う。

716 :デフォルトの名無しさん:03/06/19 19:04
プレス・リリース

ボーランド?InterBase?7.1 マイクロソフトのサポートを広げる?.NETフレームワーク

ボーランド?マイクロソフトを支援するデータ・ベース・ソルーション?ウインドウズ・サーバー2003

スコッツヴァリー(カリフォルニア)。― 2003年6月17日: ボーランドSoftware株式会社
(ナズダックNM: BORL)は今日ボーランドを紹介しました?InterBase?7.1、マイクロソフト
のサポートを備えた高機能およびクロス・プラットフォームのembeddableなデータ・ベース
ウインドウズ・サーバー2003。この最新のボーランド・データ・ベース提供は、マイクロ
ソフトのための開発をサポートする会社のコミットメントを強調します?.NETフレームワーク、
また設計から配備まで企業にアプリケーション・ライフ?Eサイクル全体の全体にわたる選択
の自由を供給します。


「重要な実行および生産力アップグレードの提供に加えて、InterBase 7.1は
マイクロソフト.NETフレームワーク開発のために開発者に代替データ・ベース
を供給します」とジョン・アーサー(ボーランドのデータ・ベース解決策の管理者)が言いました。
「ボーランドはInterBase技術をサポートすることを約束?オます。また、この最新のバージョンは、
会社の.NETフレームワーク用のアプリケーション・ライフ・サイクル経営戦略を増強します。」


717 :デフォルトの名無しさん:03/06/19 19:04
InterBase 7.1データ・ベースは容易な設置およびメンテナンスを可能にします。それは自動的な
衝突回復を提供し、分散アプリケーション内に埋め込むことに上手に適しています。InterBaseは
さらに、多数のユーザとそれを?pォ能で、ビジネス重大なアプリケーションに対する大きな選択
にして、マルチプロセッサー・サポートおよび精巧なアーキテクチャーを提供します。InterBase
はウインドウズ、Rをサポートします:Linux、?またSolaris?ボーランドDelphi?のような開発環境
と同様にプラットフォームも、ボーランドKylix?、マイクロソフト視覚的なスタジオ?また他のもの。

InterBaseコンソール実行モニター支援開発者および管理者への増強は、よりよくデータ・ベース・
サーバー・プロセスを理解します。マネージャーはデータ・ベース使用法および実行へよりよい
視界を持っています?ログイン情報および活動を含んでいること?またデータ・ベース・プロセスの
コントロール。

完全に従順なJDBC2ドライバーを特色として、InterBase 7.1はボーランドJBuilderを使用すること
を開発者にとってより容易にします?また他のJava?高機能適用を作成し展開させるために開発環境
を統合しました。InterBase 7.1はさらに超縫うように進み許可するインテルを支援します?
プロセッサーを通って多数のスレッドを移動させるIV顧客。さらに、InterBase 7.1はInstallAnywhere
を特色とします?、インストール・プロセスを単純化するグラフィックのインターフェース。

718 :デフォルトの名無しさん:03/06/21 20:22
オープンソースのInterBase 6.01でテキストデータベース
作っおりまして、各アイテムを

【アイテム情報】
CREATE TABLE items
(
id INTEGER NOT NULL,
title VARCHAR(256) DEFAULT '新規テキスト',
create_date TIMESTAMP DEFAULT NULL,
modify_date TIMESTAMP DEFAULT NULL,
PRIMARY KEY (id)
);

【テキスト本体】
CREATE TABLE item_text
(
id INTEGER NOT NULL,
serial_num INTEGER NOT NULL,
body_text VARCHAR(32765) DEFAULT NULL
);

のようなテーブルで管理しています。
serial_numフィールドは、32K以上のテキストに対応させるため、
テキストを分割したときの通し番号になります。
(続く)

719 :718:03/06/21 20:23
(続き)
テキストを取り出すときは、

select body_text
from item_text
where id = :Id
order by serial_num;

なんちゅう具合にしてかき集めます。

このようにitem_textテーブルはインデックスを設定できない
性質のためか、接続後、最初の検索で禿しく時間がかかります
(ヘタすれば1分ぐらい)。

なんとかインデックスを設定できるようにデータの持ち方を工夫
するしか高速化の方法はないんでしょうか。

720 :デフォルトの名無しさん:03/06/21 22:42
>>718-719
>性質のためか、接続後、最初の検索で禿しく時間がかかります
>(ヘタすれば1分ぐらい)。
環境がわからんけど、 WinXP 使ってるなら .gdb の問題かも。
テキスト分割って面倒じゃないかい。オレならテキストblob にするだろうね。

ところで IB6 オプソ版使わなきゃならん事情がない限り、Firebird に
するべきだと思うよ。(とりあえず V1.0.3 がお勧め)
IB6 オプソ版はかなりバグがあって、Firebird チームがそれらのバグを
修正してるから Firebird の方が安定してるよ。
(知ってると思うけど Firebird = IB6 オプソ版を継承)


721 :718:03/06/22 18:15
>>720
レスさんくす。このスレまだ機能してんのか心配だった。(藁

> 環境がわからんけど、 WinXP 使ってるなら .gdb の問題かも。

すんまそん。WinXPでもWin2000でもやっとります。WinXPの方が多少時間が
かかるような気もします。例のGDB問題かも知れませんが、そんなに気になる
ほどでも。ちなみに、DBファイル本体だけは「.IB」にしてあります。

> テキスト分割って面倒じゃないかい。オレならテキストblob にするだろうね。

面倒です。(藁
でもごく短いテキストとかもあったりするので、BLOBよりは効率いいかなー、
なんて思ったりして…。ま、今のマシンパワーを考えるとそんなもん屁みたいな
もんでしょうが、技術屋の性(さが)ってヤツでしょうか。

> ところで IB6 オプソ版使わなきゃならん事情がない限り、Firebird に
(以下略)

がびーん。バグいっぱいあんの!?公開されているソースはビルドできたもん
じゃないってのは聞いたことあるけど。バグもいっぱいあんの?
IB6オプソ版使っているのには特に理由はないんですがね。趣味のプログラムだし。
ゆくゆくはFBへの移行を検討してはいましたが。FBの方が安定してるってのなら
そろそろ移行するか…。
現行のIBXがいつまで使えるかが心配。FBXとか提供されないかな…。

722 :デフォルトの名無しさん:03/06/22 20:59
>>719
> このようにitem_textテーブルはインデックスを設定できない
> 性質のためか、

意味ワカランぽ。idに普通にインデックス設定すればいいじゃん。
つーかネットワークトラフィックの観点からは、VARCHAR(32765)は激しく
無駄の多いテーブル設計だと思われ。

VARCHAR か BLOB にするかはこの辺参照。
ttp://www-1.xdsl.ne.jp/~aj01/rdb/InterBase/ip_ib_strings_j.htm

723 :718:03/06/23 22:18
キャラ変えさせて(というか戻させて)もらいます。
丁寧ぶるの疲れた。

>>722
有用な情報サンクス。
インデックスに関してはわかってくれんでよろし。オレの設計が
うんこだってことはわかった。(苦藁

もうBLOBに変更する気満々で、いろいろと調べているんだが、
示してくれたURLの情報にあるような情報がドキュメントに見当たらなくて
四苦八苦している。ページサイズ(=セグメント?)と最大データサイズの
関係とか。

参考にしているのは、BCB6付属のIB6用ドキュメント。BLOBに関しては
わけのわからんことばかり書いてある。要するに、TIBQueryでストリーム
生成して入出力すればそれでいいんか?くそ、わかんねー。

724 :デフォルトの名無しさん:03/06/23 23:11
>>723
>参考にしているのは、BCB6付属のIB6用ドキュメント。BLOBに関しては
>わけのわからんことばかり書いてある。要するに、TIBQueryでストリーム
>生成して入出力すればそれでいいんか?くそ、わかんねー。
http://pc2.2ch.net/test/read.cgi/tech/1035278719/701
を参考にしてBCBヘルプで調べてみては。(ちなみにオレのレスじゃない)

>>722
>つーかネットワークトラフィックの観点からは、VARCHAR(32765)は激しく
>無駄の多いテーブル設計だと思われ。
1 文字しか入ってないのに 32765 文字分にパディングして受け取るんかい?
IB/FB ってそんなバカじゃないと思うがどうよ。


725 :デフォルトの名無しさん:03/06/24 09:02
>>724
疑うならパケット見れ。
でもIB6.5=<はその辺解決してたような気もする。

726 :デフォルトの名無しさん:03/06/24 11:20
問題は、ソースコード盗まれた某も InterBase を改良しつづけている。って点だな。
オープンソースだから無条件で「よい」といえない現実が、FireBird には待っている。

SMP 環境でのスケーラビリティはおいこされちゃったしな。

727 :724:03/06/24 11:25
>>725
>疑うならパケット見れ。
早速 IP パケットを見てみたけど、あなたの言う通りでした。疑ってごめん。
0x00 0x00 ・・・ でパディングされてるね。
ちなみに CHAR(***) にした場合は 0x20 0x20 ・・・ でパディングされてた。
IB5.6 と FB1.0.3 とも同じだった。

> でもIB6.5=<はその辺解決してたような気もする。
暇なときにでも確認してもらえるとうれしい。


728 :デフォルトの名無しさん:03/06/24 13:12
なんでinterbase 6.5でググれば一発で出てくる話を確認しなきゃいけないんだ…ブツブツ

http://bdn.borland.com/article/0,1410,28107,00.html#Other_Changes

Past versions of InterBase have transmitted VARCHAR fields from the server
to the client padded to their full length with spaces. This could cause
performance problems on slow or heavily loaded networks. This behavior
has been changed so that only the actual data in the VARCHAR field is
transmitted.
とある。

和訳しろとかゆーなよ。

729 :724:03/06/24 14:52
>>728
thanx!
IB6.5 は改善されてるんだね。FB もなんとかしてもらいたいものだ。


730 :デフォルトの名無しさん:03/06/24 21:32
自分で直してもいいんだぞ?
できなきゃ依頼しる。


731 :718:03/06/24 22:29
活気付いとるねー。やれー、やれー。
オレもやる。

さらにIB6のドキュメントを読みふけってみた。
どうやらオレは勘違いをしていたらしい。
ページサイズとは、データベースを作成するときに
指定するもの、セグメントとは、BLOB操作のための
バッファかな。
とりあえずデフォルトで問題ないっぽいので、これで
いってみよう。

>>724
せっかく回答例示してくれたんだが、あんなめんどくさいこと
せねばならんのか?CreateBlobStreamでもっと簡単に
できるのでわ?
ちゅうか、TIBSQLなんだが、

IBSQL1.FieldByName('hoge').LoadFromStream(HogeStream);

とかでいけた。

スレッドで処理して、クソでかいデータの取得中も
中止できるようにしたいからね。

732 :デフォルトの名無しさん:03/06/25 09:45
PHP + Firebird で、遊んでるのだけど
PHPのInterBase関数って、開発止まってるの??
なんか、昔、開発してた人が消えた。。。とか、見た記憶あるんだけど。
(バグフィックスは、してるっぽいので、誰かが引き継いでるのかな?)


733 :デフォルトの名無しさん:03/06/25 10:00
いいかげん、InterBase からはなれる気は無いのかな。
いつまでたっても「フリーの IB」って位置から抜けられないぞ。

734 :732:03/06/25 11:21
PHPに、FireBird関数なんてのが、出来ても良いんじゃないかな。
軽率ではあるけど、そっちの方がおもしろそう(^^;

(いずれはそうしないといけなくなってくるのかな・・・)

735 :デフォルトの名無しさん:03/06/25 16:56
ISQLで、日本語文字列をUNICODEとして格納したい場合にはどう書きますか?

>insert into TABLE_A (CD,NAME_STR) values(1,'日本語');
例えば、これをUNICODE化したい場合。

736 :デフォルトの名無しさん:03/07/07 20:33
保守

737 :デフォルトの名無しさん:03/07/14 09:28
IBExpertの日本語化ってまだなのかなぁ。
IBManagerとどちらにするか悩んでるのだけど。

738 :デフォルトの名無しさん:03/07/14 23:16
>>737
IBExpert 途中まで日本語化やったけど結局挫折した。
あの編集エディタじゃやりづらい…。
今は IBManager 使ってるよ。DB作成とSQL推敲が楽でいい。

739 :山崎 渉:03/07/15 10:31

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

740 :山崎 渉:03/07/15 14:12

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

741 :デフォルトの名無しさん:03/07/16 14:45
IBExpertいま使ってるけど
IBManagerとどっちがいい感じ?

742 :デフォルトの名無しさん:03/07/17 00:51
俺は PostgreSQL も MySQL も Interbase も
同じように操作できることが必要だったので
現在 IB Manager ユーザー。
機能はちょいIB Manager の方があるみたいだけど
IBExpert と基本的にはかわらんのとちゃうかな?

あ、そういやIBExpertで開けなくてIBManagerでは操作できた
文字コードNONEで日本語バリバリ入ったGDBがあったな。


743 :デフォルトの名無しさん:03/07/17 19:31
IBManagerは日本語になったしねぇ

744 :デフォルトの名無しさん:03/07/18 17:25
なら、IBManagerは買いかなぁー
購入は
InterBase/FireBird Developer Bundle (1) か
InterBase/FireBird Developer Bundle (2) になると思うけど
ComponentsがIBO製のものとそうでない物とはどう違うのだろうか?




745 :デフォルトの名無しさん:03/07/18 23:54
isql, IBConsole で充分。
タダならいいが、金払ってまでも使うもんじゃない。


746 :age:03/07/21 02:33
InterBase5.6でデータが4Gバイトを超えて、「データが読めないよ」
みたいなメッセージが出て接続できなくなったのだが、このデータ
を復旧する方法を教えてくれ。部分的にデータがなくなっても構わないから

747 :>>746:03/07/21 10:49
NTFS の PC に持って行ったら?

748 :747:03/07/21 10:51
寝ぼけてとるわ。名前欄間違えた(w

749 :746:03/07/22 14:30
4Gを超えると、書き込みが一巡し、先頭から書き込まれるような
感じで、データベースを開けなくなります。
無理に2Gバイト程度にちょん切って復旧しようと試みていますが、
うまくいまかない。だれか知っている人いる?

750 :デフォルトの名無しさん:03/07/22 16:52
>>749
gbak 使ってもダメ?
あと、ALTER DATABASE で DB ファイルを複数にしちゃうとか。
でも DB に接続できなきゃだめだね。

というか DB のバックアップとってなかったの?
あっ、これって DB の実験をしてるだけだよね?
その後の報告お願いね。

751 :746:03/07/23 16:16
あきらめそうです。重要なデータが入っていたのですが、
復旧できるか死かです。

752 :デフォルトの名無しさん:03/07/23 16:20
無理だよ。諦めな。

753 :_:03/07/23 16:23
http://homepage.mac.com/hiroyuki44/jaz08.html

754 :デフォルトの名無しさん:03/07/23 16:24
可愛そうだよ。
復旧方法で知ってるヤシを全部羅列してあげようよ。

755 :デフォルトの名無しさん:03/07/23 16:48
>>751
まずは今まで試したことを書きなよ。
何もフィードバックしないヤツにはまともなレスはつかないだろう。

http://www.borland.co.jp/interbase/ib7/feaben.pdf
IB7 は 1 ファイル 4G の制限がなくなったから、それ使えば何とかなるかも?

つーか、日某に問い合わせて何とかしてもらえばいいのでは。
多少金掛かるかもしれないけど、それくらいはしょうがない。

756 :デフォルトの名無しさん:03/07/23 17:43
>>749
>4Gを超えると、書き込みが一巡し、先頭から書き込まれるような
>感じで、データベースを開けなくなります。
意味がわからん。
接続できないのになんでそう言えるわけ?

757 :デフォルトの名無しさん:03/07/24 00:43
大事なデータなら某に金払って何とかしてもらえ。


758 :デフォルトの名無しさん:03/07/24 02:09
大事なデータならバックアップぐらい取って桶

と今更なことを強調してみる。

759 :デフォルトの名無しさん:03/07/24 09:48
そういう問題じゃなくて、
運用時に破壊したらどうやって復旧するのか、
ということだと思う。

760 :デフォルトの名無しさん:03/07/24 12:18
データベースのサイズ上限は無制限となっているが 4GB 以上のデータベースが作成できない。

InterBase 自身は扱えるデータベースのサイズに特に上限を定めていませんが、OS のファイルシステムによる制約は当然受けます。
WindowsNT4.0 であればこの制限は 4GB - 2Byte となり、これ以上のサイズの GDB ファイルを作成しようとすれば当然その結果としてファイルを読む事が出来なくなり、修復不可能な状態になります。
これは、あくまでも OS の制約であり、この場合はデータベースをマルチファイルデータベースとしておく事で回避できます。
マルチファイルとして作成し、全部で10のファイルに分割して作成すればおよそ40GB までのデータを、この場合なら扱う事が出来るでしょう。
マルチデータベースファイルの作成方法に付いては、InterBase 付属のデータ定義ガイドを熟読してください。

761 :デフォルトの名無しさん:03/07/24 12:27
・・・ってこった。
gfixでいろんな引数与えてみて復旧を試みて駄目ならgbakでバックアップからリストア
するしかない。

762 :デフォルトの名無しさん:03/07/24 16:57
DATE というフィールドに'20030726'(2003年7月26日)というデータが入っています。
で、selectする時に、「今日の日付から1週間先までのデータ」を取りたいんですがそういうのできますか?
今日だと24日なので、1週間先は31日なので、'20030731'のデータまでOKという事になります。
言語はperlを使っています。
perlで初めに20030731という値を作ってそれを用いてwhereの後に条件を綴るのか、
それとも1週間というのだけ指定すればDBが勝手に持ってきてくれるのかどちらかだと思うんですが。

763 :デフォルトの名無しさん:03/07/24 17:31
>WindowsNT4.0 であればこの制限は 4GB - 2Byte となり、

Win2000やWinXPでは、どうしてますか?

764 :デフォルトの名無しさん:03/07/24 18:16
>>746
>InterBase5.6でデータが4Gバイトを超えて、「データが読めないよ」
>みたいなメッセージが出て接続できなくなったのだが、このデータ

Firebird でエラーになるまで目一杯書き込んでテストしてみたよ。
やっぱ 4G を超えるところでエラーになったんだけど、
エラー後に、isql 使って接続しようとしたら以下のエラーで接続できんかった。

--- 以下エラー内容 ---
I/O error for file "GDB ファイル名"
Error while trying to access file
パラメータが正しくありません。
--- 以上エラー内容 ---

そこで gstat, gfix でいろいろやってみたけど結果は同じく上記のエラーメッセージが出力される。
これまでの結果から 746 が言ってるようにダメだと思ったんだけど、
ふとGDB ファイル名をリネームしようとしたときにエラーになったわけ。
別に何のアプリもそのファイル使ってないのにおかしいなと思って、
Firebird サーバ見たら接続中だった。そこで再起動しなおしてみた。
そして、念のため再度 isql で接続してみたら、今度はエラーにならなくて
接続できたんだよ。gstat も gfix もエラーにならんかった。ちゃんと DB 内容も読めた。
最初 SQL DIALECT 3 でテストして、gfix で SQL DIALECT 1 に変更してテストもしてみたけど、
結果は同じみたい。

とういう結果から、再起動させてからやってみたらどうだろうか。

ちなみにこちらのテスト環境は以下の通り
・Win98 (FAT32)
・Firebird 1.0.3

結果報告待ってる。

765 :デフォルトの名無しさん:03/07/24 20:52
NTFSなら1ファイルで2Tまでいけるのかね。

766 :デフォルトの名無しさん:03/07/24 23:20
(Firebird_v1_ReleaseNotes.pdf から抜粋)
--
Engine support for 64-bit file I/O

All Firebird/IB versions prior to FB v1.0 (including IB v6.0) used both 32-bit API/OS calls and 32-bit
(integer) file pointer structures. The engine's capability was thus designed to handle files with a
maximum file size of 4Gb. In the Unix code the file pointer structures were defined as signed
integers, thus limiting Unix and Linux implementations to file sizes of 2Gb.

MS Windows

By design, all versions of Win32 (Win9x/ME/NT/2000) provide full support for 64-bit pointer file
operations, provided the right file pointer structure is passed. To add large file support for Firebird, it
was necessary only to change the file pointer structure to LARGE_INTEGER and to modify the I/O calls
themselves slightly.
--

NTFS なら 4G を超えるファイルに出来るみたい。試して見れ。

767 :デフォルトの名無しさん:03/07/24 23:37
InterBase 5.6 は NTFS であろうと 4G は超えられないということらしい。

768 : :03/07/25 00:42
5.6はやばいのね

769 :デフォルトの名無しさん:03/07/25 11:13
>>768
その当時は 4G/ファイル 超えるファイルシステムなんて想定していなかったんじゃないか。
ただ複数ファイルにすれば 40G まで OK だからいいんじゃないか。
それがイヤなら IB7 か FB に乗り換えればいいことだ。

770 :764:03/07/27 00:59
あれから Win2K(NTFS) でテストしてみたけど >>766 の通り 4G 超のファイル OK だった。
なんでか知らんが Win2K(NTFS) の方が書き込み速度がかなり遅かった。なんでだろう?
ところで >>746 はどうなったんだ?

771 :デフォルトの名無しさん:03/07/28 01:49
想定してなかったで済むならそれもまたよし。

772 :デフォルトの名無しさん:03/07/28 07:19
4Gのデータがパーになったら洒落で済まないと思うんだけどねぇ。


773 :デフォルトの名無しさん:03/07/28 18:12
あらゆる事は洒落で済まされる。

774 :デフォルトの名無しさん:03/07/28 20:35
CHARフィールドにUTF8を書き込んだときってNULLが消えたりしますか?
取り出したときに、スペース埋めされちゃってるような。

775 :デフォルトの名無しさん:03/07/29 15:40
NULL?

776 :774:03/07/29 16:48
勝手にスペースをカットして取り出すので気が付きにくいけど、NULLがカットされてるような。
Param.SetBlob(NULLターミネイト文字, 文字サイズ + 1)
とかすると、やっとNULLが入るみたい。

777 :774:03/07/29 18:38
纏めると、IB用のいくつかのフリーのODBCドライバは、
「文字列登録時にスペース埋め、文字列登録時にスペース削除」のようです。
この仕様で問題無いわけなのかな。

778 :デフォルトの名無しさん:03/07/30 05:38
ページサイズってメモリあればでかい方が良いの?

779 :デフォルトの名無しさん:03/07/30 05:40
本日公開!本物素人援交みゆきちゃん。
寝転んでも形が崩れないおっぱいは若さゆえ!
無料動画をGETしよう。
http://www.cappuchinko.com/

780 :デフォルトの名無しさん:03/07/31 20:28
フリーで、IB Manager や IB Expertみたいなツールありますか?
データの入出力からトリガ設定まで出来るような。

781 :デフォルトの名無しさん:03/08/01 01:26
IB Expert

782 :デフォルトの名無しさん:03/08/01 09:02
>>781
personalは無料なんですね。
日本語化ファイルが見つからないんですが、どこにあるんでしょう。

783 :デフォルトの名無しさん:03/08/01 16:47
>>782
ない。
が、その内公開されるそうな。

784 :山崎 渉:03/08/02 02:06
(^^)

785 :デフォルトの名無しさん:03/08/04 18:35
IBObject使ってる人います?

786 :デフォルトの名無しさん:03/08/04 19:32
>>785
います。

787 :デフォルトの名無しさん:03/08/05 08:57
IBXやdbExpressよりIBObjectが便利ということですか?

788 :デフォルトの名無しさん:03/08/06 10:09
>>787
はい

789 :デフォルトの名無しさん:03/08/12 03:22
ネタがないなら無理に嫌味な長文書かなくてもいいと思うのだが。

790 :デフォルトの名無しさん:03/08/14 21:16
InterBase 7.1
http://www.borland.co.jp/news/interbace_7_1.html
http://www.borland.co.jp/interbase/


791 :山崎 渉:03/08/15 15:21
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

792 :デフォルトの名無しさん:03/08/18 19:54
例のfirebird本に載っているサンプルを試しているんですけど、インタラクティブSQLで日本語(漢字)を含んだinsert文がエラーになってしまいます。
なぜですか?

サーバ側OSは2000、クライアントはXP、TCP/IP環境でIBコンソールからの会話処理は正常にできます。

238 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)