InterBaseを使いこなすスレ
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001ななしっす。
NGNGコンパクトで一通りの機能がそろっているデータベースサーバ。
マルチプラットフォーム、UNICODE、レプリケーションをこなし、
クライアントへのイベント通知(InterBaseの特許)といった特異機能もある
が、情報が少ないのでココで盛り上げていきましょう。
0002デフォルトの名無しさん
NGNG0003ななしっす
NGNGBorland 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 などの情報も求む。
日本語情報は貴重。
0004デフォルトの名無しさん
NGNG0005仕様書無しさん
NGNG0006デフォルトの名無しさん
NGNG0007仕様書無しさん
NGNG0008デフォルトの名無しさん
NGNG・BDEはファイル=テーブルだが、InterBaseはひとつのファイルに
複数テーブル置けるっぽいのでリレーショナルが楽かな?
・でもいちいちサーバー起動させないといけないっぽい。
常駐させる気はさらさらないので、個人じゃオーバースペックかな…。
(Delphi/C++Builder/Kylixの有償版ならMyBaseが使えて個人ではそっちが便利そう)
という感じです。
「個人で」本格的に使っている人いたら、使用感を聞かせてください。
0009デフォルトの名無しさん
NGNGParadox,DBaseなどのファイル共有型とくらべてかな?
もちろんネットワーク共有だとInterbaseの方が有利。
ファイル共有型だとページロックでかなり待たされる。
それから内緒だけど米国サイトでダウソしたIB6.0のバイナリには
日本の某からダウソしたIBConsoleが使えるよ。
ところで誰かジェネレータの初期値のセットをクライアント側で
行わせる方法知らない?isql以外で。
0010デフォルトの名無しさん
NGNGもっとFireBird 使えやコラ!
0011デフォルトの名無しさん
NGNG安定板がでてかな。IBとの互換性がどの程度保証
されるかが気になる。
0012デフォルトの名無しさん
NGNGInterbaseはSQLの勉強に使ったよ。
Linuxでも動くしね。
0013デフォルトの名無しさん
NGNGSET GENERATOR TableName TO 100;
でいける
副問い合わせとか使えないから
複雑な問い合わせは
ストアドプロシジャになってしまう
古いIBConsoleではシステムテーブルも見えて他のに
新しいのに変えたら出てこなくなりました
表示させる方法ない?
0014デフォルトの名無しさん
NGNGhttp://iblinux.rios.co.jp/ml/
http://www.ssi-n.com/~maki/cgi-bin/diary/
0015デフォルトの名無しさん
NGNGFirebird1.0とInterbase6.5はそれぞれ独自の拡張が入ってるので
互換性はないっぽい。
IBXがInterbaseでのみしか使えなくなると痛いよぅ…
IBOはFirebirdもサポートしていくらしい。
0016デフォルトの名無しさん
NGNGIBOってフリーじゃないよね?
0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNGParadoxのTTableを単純にInterBaseExpressのTIBTableへ置き換えると失敗する
主にTIBDataSetを使うべしだね
0019デフォルトの名無しさん
NGNGFireBirdで納品か、理解あるお客さんだなぁ…
TIBTableはIBX作者自身が「使うんじゃねえ」って言うぐらいパフォーマンスに
問題があるらしい。
0021デフォルトの名無しさん
NGNG計算項目の中でおなじテーブル(もちろんコンポーネントは別)を参照した状態で
Locate すると凄まじい数の Scroll が発生して使い物にならなくなる
Paradoxでは平気なんだけどね
002221
NGNGとにかく使っちゃ駄目なコンポーネントだねTIBTableは
0023デフォルトの名無しさん
NGNGというより、Firebirdで納品するのにIBXは使っちゃ駄目な気が…
002523
NGNG動作上の話。ライセンスは問題ないはず。
IBXはFirebirdはサポートしないと明言してる(当たり前か)し、Firebird1.0で
多少(DBの情報取得系)のAPI拡張が入ってる。
今はまだいいかもしれないけど、この先InterbaseとFirebirdはどんどん違う物に
なっていくのは必至。そしたらIBXもIBXを使って作られたツール類(IBConsoleとか)
もFirebirdでは使えなくなるかもしれない。
Firebird1.0はSQLの拡張も入ってるけど、拡張部分は当然Interbaseとの互換性は
無くなってるから、両方使い分けるって事も難しくなってくる。
いやさ、同じことで悩んでる最中でさ。どうしたもんやら…
IBOは有償だし日本語ドキュメント皆無だし。
002621
NGNGなるほど・・・
IBXを使うなら基本的な機能だけにとどめて
ちゃんと動作したら、以後はむやみにバージョンアップしないという
・・・「逃げ」かな
とにかく、貴重な情報でした・・・どうもありがとう
0027naka
NGNGいや、それでも IBX でいいんじゃないか?
002823
NGNGその気になれば自分でFirebirdに追従していけばいいのか。
つーかその時が来れば誰かが何とかしてくれそうな気が…(他力本願
0029デフォルトの名無しさん
NGNGこれ有れば、メインで使うんだけど…
0030デフォルトの名無しさん
NGNGVBにADOでもやれるみたいだけど
0031デフォルトの名無しさん
NGNG//www.oledb.net/
0032naka
NGNG0033デフォルトの名無しさん
NGNG接続用ライセンスファイルが必要。
Firebird なら関係ないはず。
003429
NGNGサンクスコー!
やっとストアド使える環境に以降できるさ…
0035naka
NGNGなるほど。FireBird なら gds32.dll だけか。楽だなぁ。
とすると、DB をFireBirdにして
Delphi で IBX 使って作ったシステムだったら
アプリのフォルダに gds32.dll を入れて
フォルダ毎コピーすればインストール完了ってこと?
0036デフォルトの名無しさん
NGNGDelphi5のPRO版に付いてきたけど、あえて個人で
使うメリットってあります?
普段は普通に標準DBコンポをParadox形式で使ってます。
0037デフォルトの名無しさん
NGNG技術版らしく、技術の比較でもしてみるけ?
無料で使えるという観点で、ライバルと目されるのはPostgreSQL、MySQL、MSDEあたり?
機能、速度、安定面から比較は有意義かと思うが、どうよ?
0038デフォルトの名無しさん
NGNG大勢が同時にアクセスするのでなければParadoxで十分でしょ
(Delphiで一番扱いやすいのはParadox)
ただ、趣味としてでも本格的なデータベースを使ってみるということなら
それはそれで楽しいと思いますよ
0039デフォルトの名無しさん
NGNG>アプリのフォルダに gds32.dll を入れて
>フォルダ毎コピーすればインストール完了ってこと?
InterBase インストール先のレジストリの設定が必要だと思う。
Firebird はインストーラでしかやってないからどうだか知らない。
004039
NGNG>InterBase インストール先のレジストリの設定が必要だと思う。
ごめん。いらないかも。自分で試してみて。
0041デフォルトの名無しさん
NGNG削除して登録すると登録件数が同じでも前より大きくなりますよね。
使っているとだんだん大きくなってきますよね。
どうやったら削除したレコードを完全に消せてファイルサイズを小さくできるんですか?
いくらハードディスクが大容量になったとはいえ、ファイルサイズが大きくなり続けるとハードディスクがすぐパンクしてしまいます。
バックアップも大変です。
どうしたらいいんでしょう?
0042デフォルトの名無しさん
NGNGとりあえず Firebird の良いところ)
・マルチプラットフォーム対応(Win,Linux,FreeBSD,Solaris,MacOS,...)
・1DB=1ファイルのためバックアップも楽だし管理し易い
・SQL92準拠(だったかな)
・さまざまなI/Fミドルウェアがある
・UDFで独自関数拡張できる
Firebird の欠点)
・>>1の言うように情報が少ない。特に日本語解説サイトが極少。
現状では、InterBase5 の日本語マニュアル(PDF)でなんとかなるが。
InterBase は商用に戻った時点で×。(客先指定以外はもう使わない。)
以前 Postgres 使ったことあったが、Win版がないから使うのやめた。
(cygwin で動くみたいだがネイティブじゃないとね。)
ML も活発だし情報量は一番なんじゃないかな。
MySQL はつかってないから知らない。(トランザクション未対応?)
MSDE はインストールがめんどい。
あと接続数の制限があったような気がする。
あと Win でしか使えないのが×。
0043デフォルトの名無しさん
NGNGFirebird最大の欠点は知名度の低さだとおもいます。
お客様に信用してもらえない。
0044デフォルトの名無しさん
NGNGスイープすれば小さくなるよ。
Win版のInterBase使ってるなら「Server Manager」GUI ツール使えば簡単。
0045デフォルトの名無しさん
NGNG「データベース Linux InterBase 4.0 For Linux」と
「データベース Linux Java ServletによるWebサーバー構築 編」の2冊
1冊目の方のInterBaseも小さく書かれているし
2冊目には至ってはタイトルからInterBaseを想像することは難しいくらい
なのにどちらもメインの開発環境はなんとDelphi(どこかLinuxじゃこら!)
Kylixが出てからならまだしも2冊目ですら2年前に出版されてるのに
これほどタイトルと内容の一致しない本は珍しいと思ったよ
0046デフォルトの名無しさん
NGNGPostgresでいうVACUUMが必要だと思われ。
Interbaseは指定回数のトランザクション処理後に自動でガベージコレクション発動じゃなかったっけ?
詳しい人かもーん。
004741
NGNGスイープっていうの?
Server Managerというのでできのですね?
ありがとう。
0048デフォルトの名無しさん
NGNG>Firebird最大の欠点は知名度の低さだとおもいます。
>お客様に信用してもらえない。
「InterBaseなら信用してもらえる。」ってこと?
素人のお客なら、「DBMS」ってこと自体知らないから楽。
現にこの前 Firebird 1.0RC2 使って納入したよ。
当初DBサーバをXPにする予定だったけど、
コネクション時間が異常に掛かる問題が出て(Firebird のバグかな?)
Win2K に変更してもらった。それ以降、今のところ問題は出ていないけどね。
0049デフォルトの名無しさん
NGNGデータベースのスイープってみたいなメニューがあると思うよ。
念のため実行する前に一度そのDBファイル(.gdb)バックアップ取っておいた方がいいよ。
(単にそのDBファイルをどっかにコピーしとくだけでいいけどね。)
0050デフォルトの名無しさん
NGNG・デフォルトでは20000トランザクションでスイープ
・gfixを使って回数を指定可能
ということのようだね
0051デフォルトの名無しさん
NGNGIBConsoleのメニュー
「データベース」-「メンテナンス」-「データベースのスイープ」
でできるよ
0052デフォルトの名無しさん
NGNGレクラメーションしてくれないの?
0053デフォルトの名無しさん
NGNG手動でしたくなきゃ >50 の方法で対応すれば?
頻繁に更新トランザクションがあるわけじゃなきゃほっときゃいいけどなぁ。
オレの場合、数十万件/数十MB弱(数年経過もの)のDBやってるけど、
スイープは一度しかしたことないよ。
(追加は多いときで数百件/日、変更、削除はそんなに発生しない。)
別にスイープしなくても問題なかったけど、MOとかにバックアップするのに
容量食ったからという理由くらい。
005453
NGNG× 数十万件/数十MB弱(数年経過もの)
○ 数十万件/100MB弱(数年経過もの)
0055デフォルトの名無しさん
NGNGそれにしてもすぐdatおちするかとおもえば結構使ってる人いたんだね。
0056デフォルトの名無しさん
NGNG企業ではoracleがよくしようされているが
oracleはデータエリアを確保しておく必要があったり
設計事態が一昔前のホストコンピュータみたいでものすごく使いにくい。
0057デフォルトの名無しさん
NGNG客先にプレゼン逝くときにノートにOracleなんか入れてられないし。
いまやってるシステムもOracle使うほどの規模じゃないから
InterBase使いたいが、誰も知らないという罠
某ももうちょっとマーケティングに力いれろYO!
0058デフォルトの名無しさん
NGNG↓にInterBase5.5 のデータベース仕様が書いてある。
www.borland.co.jp/interbase/papers/ib55wp/ib55wp_2.html
実際にはどの程度の規模までなら安定して使えるかはわからないから、
検討しているなら Borland に問い合わせてみた方がいいよ。
↓ケーススタディ
www.borland.co.jp/interbase/cases/
0059デフォルトの名無しさん
NGNGあるが、売買データなど非常にシビアなシステムの例がちょっと
少ないと思えるがどうなんでしょう。
0060デフォルトの名無しさん
NGNG殿様商売している。
INTERBASEを使っているわけではないがORACLEと比較して
保守が非常にやりやすいのではないでしょうか
ORALCLEは領域確保など必要で昔のオフコンみたいで使いにくかった
と記憶しているが
INTERBASEが中規模のシステムで本当に使えるならこちらを使いたいが
会社の何もしらない社長なんかがORALCE使えとうるさいが。
0061デフォルトの名無しさん
NGNGhttp://www.borland.com/about/cases/
0062デフォルトの名無しさん
NGNG排他制御やロールバックなどがきちんとできるか、どの程度の同時アクセスに
耐えられるかを知りたい。
これは他社の例を参考にするだけでなく
(システム特性は個別に異なるため)
INTERBASEを小規模なシステムから適用して自分で確認するしかないのでしょうね。
0063デフォルトの名無しさん
NGNGSIerには、お勧めしない。
0064デフォルトの名無しさん
NGNG一つ心配なのが、Interbaseが有償に戻ったことで、Firebirdにどういう影響でるんだろ?
独自拡張の道を歩んでIBとは別物になっていくのか、追従し続けていくのか…
独自で行くならIBConsoleはつかえないんだよね?
0065デフォルトの名無しさん
NGNG別物になっていくんだろうね。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を使用し続ける積極的な理由も無いと思う。
0066デフォルトの名無しさん
NGNG先月のデータベースカンファレンスにAnn Harrisonが出席してて、「C++で書き直しているってことは、FirebirdとInterBaseは別物になるんですか?」という質問に対し「Absolutely!」ときっぱり言い切っていました。
0067デフォルトの名無しさん
NGNG日本語マニュアルがあればユーザ数が激増すると思う。
0068デフォルトの名無しさん
NGNGこのスレの名称も「Firebirdを使いこなすスレ」の方がヨカタかも
0069デフォルトの名無しさん
NGNGなんかインストール中にSETUPAPI.DLLが無いって言われるんです。
だれか、対処法を知りませんか???
delphi関係で質問したけど、反応無かったのでこちらに
再度カキコさせていただきました。
W2KのIB5です。
0070デフォルトの名無しさん
NGNG日本語マニュアル以前に、本家のマニュアルもいまだ存在しないと言う罠…
sage進行じゃないよね? age
今のところはInterBaseのマニュアルで代用だね〜
もっともInterBaseのための書籍も極端に少ないけど
0072デフォルトの名無しさん
NGNGええと、まず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
007369
NGNGおおおおおおおおおお!
いくら日本のページ探しても、出てこないわけだ・・・
どうも、ありがとうです。
漏れの持ってる、翻訳ソフトちょっと、オもろかったので
載せちゃいます。
以下、英訳
007469
NGNGsetupapi.dllのすでにインストールされたバージョンを踏みにじっている
ので、このエラーはoccuringしている。
・・・踏みにじらないで(藁
0075Firebird教信者
NGNGInterBase6.0 の記事が50ページ以上にわたって書かれてるよ。
オレも持ってるけどコレ必読。
http://www.ascii.co.jp/books/detail/4-7561/4-7561-3858-6.html
FirebirdってInterBase6.0から派生したからFirebirdから始める人にも
重宝すること間違いなし!
0076デフォルトの名無しさん
NGNG>72
昔やったとき、Win2K(たしかSP1) + IB5.6 でちゃんとインストールできたよ。SP2 はダメなのか?。
動作保証されてないってことだけど、この組み合わせでやって動作上の問題は出なかったけどね。
(今はもう Firebird に移行しちゃったよ。)
0077デフォルトの名無しさん
NGNG翻訳の王様バイリンガルVer.5編)
InterBaseインストールがファイルsetupapi.dllをインストールして
setupapi.dll.のすでにインストールされたバージョンで足を踏み鳴らしているので、
このエラーは起こっています。
ほぼ同じだがoccuringが一応変換されてる分ましかな?
0078デフォルトの名無しさん
NGNGとりあえず 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要望でした。
007978
NGNGサービス名やデフォルトのポート番号も変えなきゃだめだね。
gdb_db => firebird_db? とか。
IBServer 3050 => FBServer 3051とか。
InterServer 3060 => FireServer? 3061とか。
ってココで言っても無駄だけど。
0080デフォルトの名無しさん
NGNGそりゃさ、両方生かしたい人もいるだろうけど、フツーは下手に環境いじらなくても
移行出来ることを期待するのが大勢じゃない?
0081デフォルトの名無しさん
NGNGそら、InterBaseのバージョンが上がったって同じことなんじゃないの?今のとこFirebidとInterBaseの違いってそんなもんでしょ。
008278
NGNGとりあえずは、同名でも両方インストールできればいいけど、現にできないし、
今後両者は違う路線を行くようだから、そうなった場合にややこしくなると思う。
それじゃ自分が使う方1本に絞ればいいかというと、やっぱそうはいかない。
過去の仕事=InterBase5.x
今後の仕事またはプライベート=Firebird
ということで、InterBase は当分対応しなきゃならない。
もし客先にバージョンアップしてもらうにしても、
IB5 => IB6以降の移行は考えられても、Firebird はまず考えられない。
現状「IBで」安定して動いているからだし、まず客先がYesというかどうかということもあるから。
008378
NGNGInterBase 複数Ver.が同居できるに越したことはないけど。
ただ、InterBase のバージョン間については互換性があると
いうこと前提で考えるとそんなに問題はないと思う。
InterBase と Firebird は別物ということになると、
両方インストールできないとまずいということ。
> 今のとこFirebidとInterBaseの違いってそんなもんでしょ。
もうすでに(Firebirdの)独自仕様の機能があって、それ使ってるけど。
0084デフォルトの名無しさん
NGNGおいおい、なんのためのオープンソースだよ…
1台はうまくいって、もう1台はうまくいかなかった
うまくいかなかった方はさきにgds32.dllをコピーしてみたり
いろいろいじったのがいけなかったのかも知れないけど
・・・レジストリを一旦消してみるかな
0086デフォルトの名無しさん
NGNG1.0.0が出てるのにRC2を入れたのはなんで?
先日、客先へ持っていったときは1.0.0が出てたのに気付いてなかったから(恥
やっぱそのほうがいいよね・・・とりあえずInterBaseとの互換性とかを再チェック
0088デフォルトの名無しさん
NGNGつーか、客先にDBMSのβ版入れる常識の無さを小一時間…
0089デフォルトの名無しさん
NGNGオープンソースのベータ版と商用ソフトのそれとでは、ちょっと意味が違うからね。要は使う人次第だと思うが。
0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNGhttp://firebird.sourceforge.net/index.php?op=faq#q14.dat
0092ななしっす。
NGNG0093デフォルトの名無しさん
NGNGなんでそんな結論を?
Linux と Solaris での「動作保障」をしているが?
オープンソースだからコンパイルできます。ってことだけでサポートを
気にしなくてよいならそれこそほとんどすべての Unix で「動く」よな?
0094デフォルトの名無しさん
NGNG某社を退社してフリーになった加藤大受氏もたまに見受けられる。
(一応 FireBird プロジェクトのメンバーは続けてるみたいよ。)
0095デフォルトの名無しさん
NGNGいやほんとに惜しい。
0096デフォルトの名無しさん
NGNG私怨か?身内っぽいな。
0097デフォルトの名無しさん
NGNGところが古いWin95(WinSock1.1)へWinSock2を入れようとしたら
「WinSock2を入れるには1.7GB(!)必要だ、容量が足らん」
というたわけたメッセージがでてインストールできんかった
Win98へ上げるしかないか・・・
0098デフォルトの名無しさん
NGNGhttp://www.twise.co.jp/pro.html
あと、こちらにIBの情報があります。
http://isweb1.infoseek.co.jp/~tmaki/index.html
MLはここ。
http://iblinux.rios.co.jp/
0099デフォルトの名無しさん
NGNGセールストーク以外の大受と付き合ってみればわかるよ....
なんであんなやつを野放しにしていたのか > 某
0100デフォルトの名無しさん
NGNG0101デフォルトの名無しさん
NGNG(しかしプログラムのプの字もないページだわ。)
0102デフォルトの名無しさん
NGNG0103デフォルトの名無しさん
NGNGACCESSと同じ感覚で買った人が失敗すると。(w
そういう厨房に対応するのが嫌だから積極的に売ろうとしない。
ORACLEに比べりゃ格段に簡単なんだけどねえ。
0104ななしぃ
NGNG0105デフォルトの名無しさん
NGNGあくまで日本某がPRしてないだけで、外国では結構使われてるっぽい。
なんでだろう、日本のSIはどこもかしこもOracleべったりで、もう金かけてまで横取りする
パイもないと思ってるんじゃ無かろうか。
特にこれからの世の中、いままでコンピュータと付き合っていなかった中小レベルの企業が
システムを導入する機会は右肩上がりで増えていくと思う。
そういう案件でのInterBaseの価格と利便性と、長年実務で叩かれてきた信頼性ってのは他が
マネできないメリットだと思うのだけれど、素人考えなのかしら。
ところで、InterBase関係検索すると結構な確率でロシアのページが引っかかるのが意外。
0106デフォルトの名無しさん
NGNG案外ロシアではシェアNo.1のRDBMSだったりして。
0107デフォルトの名無しさん
NGNGisc_commit_retaining のほうが速度、リソース共に有利みたいなことが書いて
あります。常にコミット時は無条件に isc_commit_retaining を使用していれば
いいのでしょうか?
双方の利点、欠点など教えて下さい。
0108デフォルトの名無しさん
NGNGInterBaseが使えるホスティングやレンタルサーバ会社って、ご存知ないでしょうか??
できれば、日本の業者が良いと思っております。海外でしたらいくつか存在しますよね。
1台丸々借りればよいのですが、金銭的に個人ではなかなか手が出るものでなく、
もう少し、リーズナブルなものを探しております。
ご存知の方がおられましたら、お知恵を拝借したいと思っております。
よろしくお願いいたします。
0109デフォルトの名無しさん
NGNGPostgreSQLあたりなら結構使わせてくれるところあるでしょ。
どうしてもInterbaseでないとダメ?
0110デフォルトの名無しさん
NGNG実際、今借りているホスティング会社さんはMySQLです。
別に不満があるとかではなく、社で使ってることもあって、InterBaseが好きなんです(^^;
(比較もしてみたいですしね。速度や使いやすさとか)
それで、情報だけでも・・・と思って、投稿しました。
#ほんと日本語情報は少ないですよね。
#BLOBを扱う時は大変でした(笑)
0111デフォルトの名無しさん
NGNG言語はPHPでした。(^-^)
0112デフォルトの名無しさん
NGNGうーん、Firebirdが国内でもっと実績出してどこかが導入し出せば広まるのは
速いんだろうけど…まだまだ知名度が低いかな。
# PHPでBLOBでInterBase…?
# 最近某所でそんな質問見たような…
0113デフォルトの名無しさん
NGNG出ていましたね某MLで(w
でも、私が、ぶつかったのはちょうど1年程前の話しですから、記憶も薄く(ぉ
投稿した方に助言はできなかったんですけれども。(^^;
とりあえず、英語だろうとなんだろうと、必死でGoogleと戦った記憶があります(w
# Cが理解できれば、もう少しコアな話題にも参加できそうなのです。
# PHPのソースが解読できるようになれば、そこから切り崩せますし。
0114デフォルトの名無しさん
NGNGCobaltにはInterBaseモデルがあるから、Cobaltを使ってるところならたいていInterBaseのサービスもやってる。ただ1台まるごとってとこが大半。
http://www.din.or.jp/vds/
0115110
NGNGありがとうございます。
そうなんですよねぇー。サーバ丸ごとだとあるんですよね。
ホスティングするとき、InterBaseだと管理しにくい事とかあるんでしょうかね。
0116デフォルトの名無しさん
NGNGデータベースファイルをシステムのどこにでも配置できるから、却って管理しやすいことはあっても、管理しにくいってことはないでしょ。1データベース1ファイルだから、バーチャルホストでの容量管理もラク。知名度が低いってのが、唯一最大の欠点。
0117デフォルトの名無しさん
NGNGボーランドの知名度はけっして低くはないので
「ボーランドのInterBase」といえば比較的信用してもらいやすいかも
俺の場合は「湾岸戦争で米軍が使った信頼性の高いDB」という謳い文句で
InterBase(FireBird)の使用を客先に納得させた
0118デフォルトの名無しさん
NGNGそのPHPなんだけど、interbase extensionの開発者が行方不明で、PHPがSEGVるバグが放置されたままなんだよな。
0119113
NGNGそういうのを修正できるだけの技量が欲しいです。
やはり、Cやらなあかんか(w
0120Review
NGNG日本語対応しているものは、一つもない。データを書き込むと文字化けして表示。
(DBにはきちんとデータが入っているが管理ツールがダメ。)
いちばん使いやすいのは ぶっちぎりで IBWorkBench デザインも綺麗で使いやすい。
値段は$180くらい。業務で使うのなら買っても損しないと思う。
IBWorkBench のサポートにE-mailで問い合わせたところ、次のバージョンで
中国語と日本語に対応することが決定しているらしい。少し待ちかも。ちなみに、FBをサポートしてる。
あと、ODBC関連もIBPhoenix、XTGと使ってみたけどAccessからは使えないみたい。
Twise Lab のODBCはAccessから利用できるので便利でした。
そんな感じです。
0121Review
NGNGとっかかりに非常に良いです。昨日、本屋でたまたま見かけて買いましたが。
0122デフォルトの名無しさん
NGNGloginパスワードってどこに書いてあんの
0123デフォルトの名無しさん
NGNG(FireBirdは違うかかもなぁ。)
0124デフォルトの名無しさん
NGNG同じだよ
0125デフォルトの名無しさん
NGNGつうかmasterkeyとだともどこにも書いてないぞ
0126デフォルトの名無しさん
NGNGおかしいな・・・
SYSDBA、masterkeyで間違いないけど
Caps Lockとか入ってない?
0127Review
NGNGhttp://www.gimbal.com.au/
さらにフィールドの追加やデータ参照などが簡単にできるので、今のところ一番使いやすいと思われます。
あと、OpenSourceで無償で使えるようです。ライセンスはMPL。
0128125
NGNG0129デフォルトの名無しさん
NGNG自動的にガベージコレクション発動って勘違いしている人は結構多い。
普通にトランザクション開始、コミットしている分にはガベージコレクション
は発動しない。ちゃんとマニュアル読もう。
0130デフォルトの名無しさん
NGNGをdeleteした後、そのテーブルに対してselectするとそのselectの
実行時間が絶望的に長くなること。通常1秒くらいで終わるselectが
30分以上かかったりする。どうもselectしたときに削除マークのついて
いるレコードをガベージコレクションしているみたい。システム組むと
きは要注意。InterBase6は知らない。
0131デフォルトの名無しさん
NGNGこれやね。英語のマニュアルで読み下すのは大変だよぅ。
つーことでIB5のマニュアルから抜粋。
自動保守
アクティブな(未解決)状態のトランザクションを「懸案の」トランザクションと言い
ます。データベースのトランザクションインベントリで,「コミット済み」以外のステー
タスを持つ最初のトランザクションは,OIT(Oldest Interesting Transaction:最も古い懸案
のトランザクション)と呼びます。クライアントが新しいトランザクションを起動して,
トランザクション番号がOIT の番号を超え,ある閾値より大きくなった場合,InterBase
はデータベースの全面的なスイープを始めます。この閾値はデフォルトでは20,000 トラ
ンザクションですが,設定を変更できます(135 ページの「スイープ間隔と自動保守」を
参照してください。
ノート
20,000 トランザクションごとに自動的にスイープされるとは限らない,ということは微
妙ですが重要な特徴です。OIT と最新のトランザクションの差が閾値に達するときにだけ
スイープされます。データベースに対するすべてのトランザクションがすぐにコミット
される場合,この差は自動的なスイープの引き金となるほど大きくはありません。
InterBase サーバープロセスは,特別なスレッドを起動して,このスイープを不定期にコ
ミットします。その結果,クライアントプロセスは機能し続けることができ,スイープ
による作業量には影響されません。
0132デフォルトの名無しさん
NGNG0133デフォルトの名無しさん
NGNGで、FireBird は大丈夫なの?よければ教えて。
0134デフォルトの名無しさん
NGNGdeleteした後で
commitしてからselectした場合なのか
commitせずにselectした場合なのか(普通こんなことする?)
回避の余地がないのかなど
deleteの仕方でもいろいろあるはずだし・・・
where句でまとめてばっさりとか、ループでcommitしながらしこしことか
とりあえず、自分でも試してはみるけど・・・
0135テッコイ
NGNGhttp://www.infinity.ne.jp/~nakaoka/interbase/
どうか、もっと盛り上げてください。
0136名古屋在住・中日ファン
NGNGgds32.dllをただコピーするだけじゃ駄目だったと思うよ
最小クライアントでインストールするのが確実
また、WinSock2が必要だからWindows95だと駄目な場合がある
あと、Del6ProならローカルInterBaseが付いてくるから
IBConsoleでもデータベースの作成・管理ができたと思う
0137デフォルトの名無しさん
NGNG新入社員のやっつけ報告書みたいなページ…
きっとこれからがしがし更新されるんだよね。がんがって!
Marathonいいかなぁ…
全然バージョンアップしてないし、Open Source唄ってる割にどこにもソースがないし
頻繁に落ちるしですぐ捨てちゃった。
自分はMiTec IB Queryは使い勝手が良くてメインで使ってる。
0138デフォルトの名無しさん
NGNGやりかたは簡単。レコードがたくさんある(1万件程度)テーブルに対して、
delete from テーブル名
whereを指定してもよいけど、とにかくたくさんdeleteされるように。
そのあと、そのテーブルに対して
select count(*) from テーブル名
別にcount(*)でなくてもよい。ちょっとシステム組むのにためらいを
感じる結果になる(バッチ処理なら問題ないかも)。回避方法は、一度に
たくさん消さないことかなぁ。早めに気がついて本当に良かった。
InterBase5の話ね。InterBase6は知らない。
0139名古屋在住・中日ファン
NGNG今、FireBirdでやってみたところ
1万4000件あるデータから1万件まとめて(where句で)削除した直後の
select count(*) from テーブル名
は一瞬で処理されたよ
(1万4000件のデータを書き込むのには少し時間が掛かったけど)
ただ、30の書き込みを見て気になったのは
「削除マークのついているレコードを」の部分
DBの実装の話ならそのとおりだろうけど
まさかdeleteの直後に
select文をdeleteに対するcommitなしで発行したっていうことではないですよね
だとすると、DB設計者からすれば想定外の使い方かも知れないと思ったりする
(漏れにも今までにそういう使い方をしなければならなかった経験はないし・・・)
ま、普通に考えればIB6やFireBirdでは直ってるということでしょう
(もしかするとIB5でもパッチで修正されてるのかも)
0140デフォルトの名無しさん
NGNG削除した後コミットしたの?主キーのあるテーブルなの?
マシンスペックはどのくらいの物だったの?
ネットワーク環境は?パラメータブロックの設定は?
それらによって結果は全然変わってくると思うのだが・・・
0141名古屋在住・中日ファン
NGNGDBにとって千件・万件はさほど「たくさん」という量ではないということ
その程度で変な動作をするとは考えにくいんだよね
30=138さん、よほど奇特な使い方をしたのではと思ったりする
0142名古屋在住・中日ファン
NGNG○130=138さん
0143テッコイ
NGNG経験が浅いので
日本語が文字化けしないMarathonが便利だなぁと思っただけで。
IBPhonix のページから、
MiTeC InterBase Query をダウンロードしようとしたんですが
リンクが切れているみたい。
ダウンロード先わかりますか?
0144テッコイ
NGNG0145デフォルトの名無しさん
NGNGどうやらIB6とかFireBirdではそのへん改善されてるようですね。
やれやれ。まあInterBase5のあの仕様じゃぁ使い物にならないって。
ちなみにそれぞれのSQLの実行前にset transaction、実行後にcommitした
ときの話ね。主キーも外部キーも設定してない。ブロックサイズを変化
させたけどぜんぜん変わらなかった。
0146デフォルトの名無しさん
NGNGここが本家かな?
http://www.mitec.d2.cz/
漏れもちょっくら試してみようっと。
0147デフォルトの名無しさん
NGNG0148デフォルトの名無しさん
NGNG0149デフォルトの名無しさん
NGNG産休
0150デフォルトの名無しさん
NGNGサーバーエクスプローラからは接続してデータを所得することもできるので
なにか方法はありそうなんだけど・・・
(VS.NETは遅まきながら今日触ったばかりだし気長にやりますか)
0151テッコイ
NGNGフォームに、DBGrid 乗っけたアプリをさくっつと作ってみて
アプリと GDS32.DLLを一緒に別のパソコンにコピーしたら問題なく動きました。
クライアントはGDS32.DLL さえあれば動きそうです。配布が楽だなぁ
0152デフォルトの名無しさん
NGNG情報ありがとさんだけど、ひでえ訳だな。元原稿読の方を勧める。
http://www.ibphoenix.com/ibp_act_db.html
0153テッコイ
NGNG151の方法で動いたけれど 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ページ。
0154デフォルトの名無しさん
NGNG0155テッコイ
NGNG>
>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/
0156デフォルトの名無しさん
NGNG広まれー!!FireBird!!
0157中日ファン@地方巡業中モード ◆DRAG8zBg
NGNG早く.NETでも使えるようになるといいね
(今のところどうやってもうまくいかないです)
0158デフォルトの名無しさん
NGNGそうすれば、皆、仲良くFireBirdが使える(^^)
0159デフォルトの名無しさん
NGNGTDataSet の Filter だと検索値に漢字を使うとエラーが出て、
Lookup だと検索値に漢字を使ってても通るってことあります?
いや、手元でそういう現象が起きてて理由がさっぱり分からず・・・。
ちなみにエラーメッセージでは cannot transliterate character sets なんて言われます。
おしえて偉い人!
0160デフォルトの名無しさん
NGNG0161テッコイ
NGNGよく知らないけど、CharacterSet は何を指定してるの?SJIS_0208?
Delphi 6 と IBX で問題なく Firebird が使えるはず。(そう、信じている。)
Firebirdに足りないのは機能じゃなくて、使う人たちだとおもう。使い込んで日本語情報をためていこう。
0162159
NGNGレスさんくすこ。
IB6 で SJIS_0208 使ってます。
isql で SET NAMES するのに相当する
プロパティとかメソッドがないかと思って
探してみたんすけどそれも見つからず。
エラーメッセージ自体は、isql で SET NAMES を忘れたファイルを
食わせた時に出るものと一緒なんです。今現在お手上げの状態です。
0163デフォルトの名無しさん
NGNGそうかぁ?むしろ商用に戻ったInterBaseの方が不安だろ。
160のFirebirdへの不安と言うのはオープンソースへの不安なのか?
0164デフォルトの名無しさん
NGNGその不安を解消していけるのがオープンソースのいいところ(^^)
0165デフォルトの名無しさん
NGNGデータベースとしてのバリデーション、どうするのよ。
FireBird プロジェクトの最大の課題である バグだし / QA 作業をほったらかして
議論するのはちょっとずるいぞ。
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNGIB Objects
http://www.ibobjects.com/
ODBC Access for Delphi
http://home1.infonia.ne.jp/~delphian/delphi/
0168デフォルトの名無しさん
NGNGスレ伸ばしたいなら名無しに戻れ。
あと
> Delphi 6 と IBX で問題なく Firebird が使えるはず。(そう、信じている。)
> Firebirdに足りないのは機能じゃなくて、使う人たちだとおもう。使い込んで日本語情報をためていこう。
こういう盲目的で無根拠で両手を挙げてマンセー的な発言もやめとけ。
仕事柄その手の発言が嫌いな奴は大勢いる。漏れもな。
0169159
NGNG接続パラメータの lc_ctype が SET NAMES 相当品でした。
結局 google で偶然に某MLの過去ログがヒットして判明。
あとからヘルプで lc_ctype をテキスト検索すると片隅に・・・。
0170デフォルトの名無しさん
NGNGそのままだとどこからでもアクセスできちゃいますよね?
0171デフォルトの名無しさん
NGNGNetworkのsegment(sub network)切ってそこに閉じ込めるとか。駄目?
0172デフォルトの名無しさん
NGNGLinuxとかなら、ホストレベルのパケットフィルタリング。
0173デフォルトの名無しさん
NGNGBCBで開発したものを配布してオープンソースのIB6をインストールすればよいの?
0174デフォルトの名無しさん
NGNGこのスレ見てスイーブっていうのやってみたけど全然ファイルサイズは小さくなりませんでした。
だまされましたよ。
0175某乱堂
NGNG削除レコードの領域が再利用出来るようになるだけ。
バックアップからのリストアなら小さくなる。だが
とうぜんスイープより時間がかかる。
Accessのmdbと勘違いしてないか?
0176デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNG>gbak -r backup.gbk data.gdb
コマンドライン使えんならIBConsole使え。
0178170
NGNGサンキュス。
サブネットって勝手に切っても大丈夫?
Linuxだけどパケットフィルタリングなんて大変なことしなきゃだめ?
パケットフィルタリングッテ良く分からないけど。。。
例えばゲートウェイ(えらい管理人さんが管理してる)ではポート
塞いでもらっておいて、内部からはそのポートへも
アクセスできるっていうので大丈夫なのかな?
みんなどうやってるの?
0179デフォルトの名無しさん
NGNG今時のUNIX系OSなら/etc/hosts.allow,/etc/hosts.denyファイルに
port number: network address(ゾーン又はホスト単位)を記述して
接続の許可、拒否を行えます。調べるならキーワードはTCP_Wrapperなど。
物理的にネットワーク・セグメントを切る場合、自分自身が組織全体の
管理を行っているなら勝手にやって構わないでしょう。
自分に構成を変える権利が無い or 他に管理するメンバーがいる場合は
変更したい理由を添えて協力を仰ぐのが筋じゃないでしょうか。
絶対に外部へ漏れてほしくない場合は、グローバルなネットワークから
そのゾーンだけ物理的に切り離してしまう解もあり。
0180デフォルトの名無しさん
NGNGInterBaseっていう独自の優越感にお邪魔します。
InterBaseって、sybaseみたいなもんだよね、ところで普通は、インターネットとは一緒にしないと思います。
>>1
0181デフォルトの名無しさん
NGNGLinuxならipchains、iptablesでGoogleしてみよ。>>178
0182デフォルトの名無しさん
NGNGその通りだ。インターチェンジとホームベースを一緒にしてはいけない。
だが、話題は既にFirebirdに移っているため、そんなことはどうでもいいのだ。
0184デフォルトの名無しさん
NGNG必死だな。
0185デフォルトの名無しさん
NGNGXTG ODBC 1.0.0 beta 15 + Access97 SR-2
Interbase6.0.1 , Firebird1.0 双方とも接続できたんだけど
その使えなかったというAccessのversion教えてほしいのだが・・・
0186デフォルトの名無しさん
NGNG0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNG(一旦接続できてしまえば、データのやり取りは支障ない)
誰か対策知ってる?
0189デフォルトの名無しさん
NGNGネットワーク関連のドライバをチェックしてみるとか
HOSTSファイルにサーバーのIPアドレスを記述してみるとか。
0190デフォルトの名無しさん
NGNGレス、どうもです
早速試してみます
0191デフォルトの名無しさん
NGNG現在、オープンソースで無料で使用可能な InterBase6 や
Firebird にどういう影響がでるのか心配です。
無料で商用利用できなくなる可能性はあるのでしょうか?
ライセンスに詳しい方いますか?
http://www.borland.com/devsupport/interbase/opensource/IPL.html
0192デフォルトの名無しさん
NGNGだからFirebirdは大丈夫。
ただし今後InterbaseとFirebirdは互換性を失なっていく
可能性は大きい。
って事でOK?
0193デフォルトの名無しさん
NGNG0194ansi
NGNG0195デフォルトの名無しさん
NGNG0196デフォルトの名無しさん
NGNGThanx
InterClientってだいぶバージョンあがってたんだね
0197デフォルトの名無しさん
NGNGPortsから入れようとすると、途中でこけるんですが。
0198デフォルトの名無しさん
NGNGこけた時のメッセージきぼん。
0199デフォルトの名無しさん
NGNG新しいバージョンになっていたから
大丈夫かな〜っとおもったけど、やっぱりだめでした。
こんな感じです。
-------
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です。
0200デフォルトの名無しさん
NGNG>>193
ありがとうございます。
既にオープンソース化されている
InterBase6.01 は、今後InterBase6.x以降が
有償のままオープンにならなくても無償で
使用でき、FireBird も無償で使用できる上
独自に拡張できるわけですね。
0201デフォルトの名無しさん
NGNG特にBLOBなんかが心配なんですけど。
0202デフォルトの名無しさん
NGNG0203デフォルトの名無しさん
NGNGわしはこれだけ確認した。
XTG ODBC 1.0.0 beta 15
Access97 SR-2
Access2002 SP1
BCB5 + BDE5.2
あなたがどこまで品質要求するのかわからんから、あとは調べてちょ
0204199
NGNGどうやらPostgresが共有メモリを食いつぶしていたのが
原因らしいです。
0205デフォルトの名無しさん
NGNG感謝です。
単純なテーブルしか使っていないし
selectさえできれば良いので大丈夫そうですね。
後は試してみます。
0206nanasi
NGNG>185
120です。再度チャレンジしたところ、
XTG1.0 Beta15 + Access2000でつながりました。日本語もOKでした。
ODBCの設定をファイルデータソースにするか、
コンピュータデータソースにするかで、ファイルにすると接続できないようです。
コンピュータデータソースで指定したら上手く行きました。
情報、サンクス。
0207デフォルトの名無しさん
NGNGAccessの"IN"みたいな構文ってないのかなぁ・・・
0208デフォルトの名無しさん
NGNG0209デフォルトの名無しさん
NGNGwrite,nowait,concurrency,protected,lock_write=MYTABLE
というパラメータで2つのトランザクションを開始しても衝突してくれません。
これは isql 上での
SET TRANSACTION READ WRITE NO WAIT SNAPSHOT RESERVING MYTABLE FOR PROTECTED WRITE
とは違うのでしょうか?
isql 上ではこのようなトランザクションは衝突してくれるので
それを期待しているのですが・・・。
0210209
NGNGwrite,concurrency,nowait,lock_write=MYTABLE,protected
マニュアルに記載されているものとは何故か順序が逆になっているようです。
こんなことで8時間も使ってしまった・・・。
0211デフォルトの名無しさん
NGNGところでFirebird1.0だとデータベースパスに日本語通らないが
IBもそうなのか?
ソース見てないんだがSJIS->EUCのせい?
0212デフォルトの名無しさん
NGNGフィールド作成するときやconnectするときにキャラクタセット指定してんのか?
0213デフォルトの名無しさん
NGNG>211が言ってるのは .gdb ファイルのパスの事だと思われ。
0215デフォルトの名無しさん
NGNGhttp://www.twise.co.jp/download.html
0216デフォルトの名無しさん
NGNGIB5.6ですけどGDBファイルのパスに日本語通ってます
0217211
NGNGそーなんですか。アリガトン。
予算があればIB使えるんだけど・・・
FB修正してバックポートする気力も無いし(鬱
0218デフォルトの名無しさん
NGNGhttp://www.ibphoenix.com/ibp_interbase_download.html
Open Source Interbase ってのもあるみたいです。
試してないですけど。。。
0219デフォルトの名無しさん
NGNGhttp://slashdot.jp/~yasusii/journal/
0220デフォルトの名無しさん
NGNG??
どういうことですか?
0221デフォルトの名無しさん
NGNG??
何が?
0222デフォルトの名無しさん
NGNGOpen Source Interbase にはバイナリ版があるんですけど…
0223デフォルトの名無しさん
NGNGますますわからん。
Borlandが公開しているソースそのままではビルドできんというのは事実だが、そのこと言っとるのか?
0224デフォルトの名無しさん
NGNGAccessのパスワードみたいなやつ。
せっかくDBもアプリも配布しやすいRDBMSなのに・・・
0225デフォルトの名無しさん
NGNGへ?
0226デフォルトの名無しさん
NGNGは?
0227224
NGNG0228デフォルトの名無しさん
NGNGほおお。
0229デフォルトの名無しさん
NGNGほほう。
0230224
NGNG0231デフォルトの名無しさん
NGNGファイル単位でのセキュリティって思いつかないんだけど(@InterBase)。
サーバー単位でユーザーアカウント作ってGRANT/REVOKEしてってのは分かるけどさ。
そのユーザーアカウントをDBファイルの方に入れる方法ってあるの?
0232デフォルトの名無しさん
NGNGそうなのよ。
運用鯖でバリバリにユーザー管理してもファイルコピーして
インストール状態のIB/FBに持っていくとsysdbaでデータ見られてしまう罠。
機能的にはあってもよさそうなんだけど、どっかのベンダとかが出してないのかな〜
せっかくのオプソなんで時間&スキルあればそーいうExtensionとか
実装させてみたいと思うんだけど・・・
つかFireBirdってなんでコンパイラVCなのよ?
0233デフォルトの名無しさん
NGNG元のInterBaseがVCで書かれていたから。
InterBaseがBorlandの製品になる前にMS-Cで書かれてたからかな?
FireBirdもVCに依存する部分をこれから無くしていくんじゃなかったけ。
0234デフォルトの名無しさん
NGNGAccess みたいにローカルで運用するもんじゃないから。
> インストール状態のIB/FBに持っていくとsysdbaでデータ見られてしまう罠。
見られたくないDBを何で持っていく?
0235デフォルトの名無しさん
NGNG他のRDBMSだと程度の権限がないとよそへデータを持っていったり(エクスポートしたりとか)
することができないけど、IBだとファイルコピーされたら終わってしまうというのがなんとも・・・
>見られたくないDBを何で持っていく?
今考えてるのは組み込み用途みたいなローカル限定の環境で使えないかなというところで考えとります。
せっかくファイルベースのRDBなんだからファイル単位のセキュリティがほしいなということで。
「用途/目的が違うから」の一言で済ませてしまうにはおしいな・・・
0236デフォルトの名無しさん
NGNGいいって話じゃないのか?
0237デフォルトの名無しさん
NGNG>IBだとファイルコピーされたら終わってしまうというのがなんとも・・・
これは運用でカバーするしかないね。
Win2KやUnix系ならOSの機能使って対処すればいいと思うよ。
パーミッション設定して他人から見えないようにするとかして。
>>236
SYSDBA 削除したらまずいだろ。管理できなくなるよ。たぶん。
パスワード変えようが意味ない。
ユーザ情報はサーバにある isc4.gdb で管理しているみたいだからね。
231の言うようにDBファイル自身にユーザ情報が入れれれば確かに
いいような気がする。ただそうなると、管理者でさえそのDBにアクセス
できなくなってしまうから、まずいのかな?
(一応管理者はすべての権限があるという前提で言うと)
0238デフォルトの名無しさん
NGNGクライアントの接続文字列にDBへのパスが含まれるから
そこから所在がバレそうだね。
0239デフォルトの名無しさん
NGNGみんなが何を心配しているのか見当がつかない。
>>235
なんで見られるとマズイ?
データが外に漏洩したのとは違うし、見られてまずいことなど何もないと思うけど。
>>238
所在がばれると何か問題なの?
所在がばれた程度でデータ盗まれるような管理してることの方が余程問題でしょ?
0240デフォルトの名無しさん
NGNGDBパスはばれても、要はGDBファイルはコピーできないようにしておけば問題ないよね?
>>239
>なんで見られるとマズイ?
何らかのミスがあって、GDB ファイルが外部に持ち出されてしまいました。
ってときに、GDB ファイル単位にパスワードとか設定できるのであれば、
例え外に持ち出されてもパスワードまで漏れなければ中身を見られることは
まずないよね。
0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNGファイルが読めりゃ、パスワードなんか分かんなくたって、いくらでもデータを読む方法あるでしょ。
0243デフォルトの名無しさん
NGNGデータ自体を暗号化すればいいんでは。
パスワードを暗号キーとするとか。
0244デフォルトの名無しさん
NGNG某のところにもそんなの書いてあったな。
プロトコル/データを暗号化してしまえばいいんだろうが
どっかにミドルウェアないかな(w
0245デフォルトの名無しさん
NGNGhttp://www.delphi32.com/vcl/4808/
0246デフォルトの名無しさん
NGNG(BackDoorセキュリティホールは痛かったけどな。)
http://www.zdnet.co.jp/news/0206/12/ne00_museum.html
0247デフォルトの名無しさん
NGNGWEB+DBの加藤さんの記事だけだよね。
0248デフォルトの名無しさん
NGNGもう少し露出があってもいいんだがなあ>firebird
0249デフォルトの名無しさん
NGNG0250デフォルトの名無しさん
NGNG事なんでしょう。
0251デフォルトの名無しさん
NGNGもうちょっと知名度が出ても良いと思うんだけどね。
牽引者がいないのがつらいところだわなあ
0252デフォルトの名無しさん
NGNG0253デフォルトの名無しさん
NGNGなんと
日系オープンの7・8合併号に
オープンソースDBMSとしてMySQLやPostgreSQLと一緒に
出てる
内容はただの照会程度
0254デフォルトの名無しさん
NGNG0255デフォルトの名無しさん
NGNG0256***
NGNGまた、InterBaseってのはどのくらい良い/悪いDBMSなんでしょうか。
私的には、資料が皆無に等しいというのが欠点に見えるのですが。
0257デフォルトの名無しさん
NGNG一般的なSQLの知識があればあとはヘルプを見ながらなんとかなるよ
Delphiの場合
IBTableは使わないほうが無難だけど(俺は代わりにIBDataSetを使ってる)
0258デフォルトの名無しさん
NGNG0259デフォルトの名無しさん
NGNG禿同。IBTableはかなり危険だ。
>>256
BDEはあまり好きじゃないんで最近はdbExpressとADOばっか使ってるが
ADOあればBDEいらないんじゃないかな〜と思う。
なんだかんだいってもADO楽チンだし。
資料は付属のマニュアルでほとんど間に合ってる。
(いい意味で)低機能RDBMSなんであまり悩むことがないかな。
ところでIBのOLE DBドライバ(っていうのか?)って
http://www.oledb.net/
以外にない?
商用利用できるのがほしいんだが・・・
BorlandはOLE DBドライバ配布しる!
0260デフォルトの名無しさん
NGNG> 禿同。IBTableはかなり危険だ。
これはどうしてでしょう?教えてたもれ
0261デフォルトの名無しさん
NGNGSELECT * FROM テーブル名
と同じだから、無駄なデータがイパーイ流れたりする
ましてや、Paradoxのテーブルと同じようなつもりで扱うと
凄まじい量の問い合わせが発生したりする
(初めて使ったとき計算項目で他のテーブルを参照してエライ目にあった)
ま、おいらがヘタレなだけかも知れんけど
0262デフォルトの名無しさん
NGNG0263デフォルトの名無しさん
NGNG参照オンリーだとあんまり問題でないが、更新したりするとFetchしなくなったりすることが多い。
DataControlとかと一緒に使うと挙動不審なところがある。
(入力値が反映されなかったりとか)
全体的にTIB〜は他のTDataSetを継承したクラスと実装が微妙に違うっぽい。
(ソース追ったわけではないが)
FilterとIndexはちゃんと動くんでそっちを多用する場合は(フィルタ&ソートとか)
TIBTableのほうが使い勝手がいい。
あとは>>261のとおりパフォーマンスの面がけっこう大きい。
TIBTableが危険だっていうのMLのログで見たような・・・
0264サプリ
NGNGに頼りになる栄養補助食品です。締め切りが迫っている、
今晩中にあるいは翌朝までにやり遂げなければならない時に
頼りになるハーブ食品
www6.ocn.ne.jp/~beauty-s/index.htm
0265デフォルトの名無しさん
NGNG倉庫落ち阻止上げ
0266デフォルトの名無しさん
NGNG>>261 で指摘されているように、基本的にサーバのデータをローカルに
コピーすることになるから。
実際には(SQL サーバーを参照する)TTable にしろ TIBTable にしろ
いくつかの負荷減少コードが実装されているが、程度の問題に過ぎない。
0267デフォルトの名無しさん
NGNG>危険というか、SQL 使う意味が無くなることが一番の原因では?
SQLを使わなくてもいいようにラップしてくれるのがTDataSetなんですが・・・
0268デフォルトの名無しさん
NGNGあとさぁ、だれかソースハックしてる人いる?
手を入れやすい?
0269デフォルトの名無しさん
NGNGInterBase4をLinux/FreeBSDにポートした人たちもいる。
http://iblinux.rios.co.jp/
今のFirebirdのソースを追っかけてるかどうかわからないけど、
アドバイスはもらえるんじゃない?
0270デフォルトの名無しさん
NGNGちろっとしかソース見てないが
Win版は環境つくるのがめんどかったような・・・
VC++とBCC使うんだっけ?
0271デフォルトの名無しさん
NGNGWindows環境から、IBサーバをGUIな環境で見てらっしゃる方はいらっしゃいますか??
ODBC + MS Accsess
ODBC + WinSQL
と試してみましたが、IBコンソールほど、使い勝手がよいとも言えず、
模索中です。
# ODBC接続だったらDB毎にODBCで接続してやらないといけなくて・・・
0272デフォルトの名無しさん
NGNG0273デフォルトの名無しさん
NGNGMarathonがかなりお勧め
http://gmarathon.sourceforge.net/
0274デフォルトの名無しさん
NGNG>FireBird最新版(1.0)に上げたら、今まで使ってたIB Consorlが使えなくなってしまいました。
普通に使えてますけど・・・OSはWindows 2000とXP
0275274
NGNG0276271
NGNGログインしようとすると
Cannot attach to services manager
Services functionality will be supported in a later version of the product
と表示されてしまうんです。
ちなみに、Win2000です。
コンソールは、1.0.0.327Jです。
どこか設定ミスでしょうか。
0278271
NGNGちなみに、Del6は、Professional以降ですよね??
Personalしか持っていないので、やっぱ、お金かけないとダメですね。
使いやすさを求めるなら。(T_T)
0279271
NGNGしかし、やはり同じエラーが発生しました。
ちなみに、Borlandからダウンロードできました。( 278は無視してください(w )
# まだ、何かあるのかなぁー
0280271
NGNGClasicサーバーじゃ、使えないんですね。。。スマソ
0281デフォルトの名無しさん
NGNGIBConsoleよりも使い勝手いいかも。
0282デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNGmarathonのほうが上だと思うんだが・・・
0284デフォルトの名無しさん
NGNGSYSDBA/masterkeyでログインできないんだけど。
0285デフォルトの名無しさん
NGNG'SYSDBA'
'masterkey'
で login できています。
0286デフォルトの名無しさん
NGNGttp://www.cvalde.com/misc/packages_and_utilities.htm
0287デフォルトの名無しさん
NGNG違ったっけ?(そもそもプロセス落ちてるとか。)
0288デフォルトの名無しさん
NGNGアカウント管理用のDBが無いとか(^^;
0289デフォルトの名無しさん
NGNGhttp://ex.2ch.net/test/read.cgi/nanmin/1028974649/l50
0290デフォルトの名無しさん
NGNGいや、これだ
http://2style.net/maido/R3_temp.swf?inputStr=%83q%83%87%83f%81%5B%83C%81I%81I%81I%81I
0291デフォルトの名無しさん
NGNGアクセス負荷をかけると 'lock manager out of room' ってエラーが
出ちゃいます。
isc_configのV4_LOCK_MEM_SIZEを増やしてみたら改善はしたけど、
まだ現象は出る・・・。これって、何がまずいんですかね?
プログラムのせい?
0292デフォルトの名無しさん
NGNG283>
Marathon すごい高機能ですね!感動しました!
IBConsoleより、よっぽど便利な気がするのですが・・・
0293デフォルトの名無しさん
NGNGOSは?SuperServerか?
0294291
NGNG0295デフォルトの名無しさん
NGNGだからよー、SuperServerかって聞いてんの。
0297デフォルトの名無しさん
NGNGOS(LinuxやWin2000)で、制限しないとダメでしたでしょうか?
環境:Windows2000,FireBird1.0,Apache2.0.35
0298291
NGNG0299デフォルトの名無しさん
NGNG具体的な内容を示せ。
V4_LOCK_MEM_SIZE 変更して、改善されたのか?
じゃ値をもっと大きくするとどうなる?
場合によってはLinuxカーネルの方もチューニングする必要あるかもしれんぞ。
http://www.ibphoenix.com/ibp_sem_sm.htm
>>298
iblinuxメーリングリストでも同じこと質問してるだろ。
答えが欲しいなら、ちゃんとした情報を付けて
メーリングリストの方に出し直せ。
0300300
NGNG0301デフォルトの名無しさん
NGNGキリバンゲット代金として一万五千円いただきます。
0302デフォルトの名無しさん
NGNG0303デフォルトの名無しさん
NGNGダイジョーヴイ
0304303
NGNG0305デフォルトの名無しさん
NGNG0306InterBase初めて使う
NGNGInterBaseをDBにしてシステム組んでますが、問題にぶちあたりますた。
JDBC系(Javaサーブレットから)、とそれ以外(主にkylixアプリ)、
の二系統から同時に接続しています。
JDBC系でデータ更新すると他のJDBC系の接続ですぐ更新したデータを見れるのに
JDBC以外の接続から見るとデータが更新されてなかったり(遅れて更新されたり)
それ以前に、片方が接続していると、もうかたほうの系統が接続できなかったり
する事もあるし、もうわけわかりません。
同じような体験してる人いますか?
0307デフォルトの名無しさん
NGNGないですか?Kylix側はdbExp.だからGDS直叩きですよね?
0308306
NGNGやっぱりキャッシュされてるのかな?
Javaから直にアクセスする方法はないものか・・・
そもそも、JDBCと、それ以外の接続の混在は想定されてないとか・・・
まさかそんな事はないよね。
(日本語の)Web、ML、ニュースグループ、書籍、ありとあらゆる情報調べたけど、
参考になりそうな情報もなし・・・
0309デフォルトの名無しさん
NGNGJDBCやdbExpはわからんけど、両者でデフォルトの排他レベルが違ってるとか。
0310デフォルトの名無しさん
NGNGここの接続パラメータのcache="n"だとか?
0311306
NGNG確認してみました。デフォルトのままで、同じレベル
(commit_readed?だっけ?)になってました。レベル自体も、問題ないみたいだし・・・
>>310
せっかく情報いただいたけど、このcacheに相当する設定がいったいどこにあるやら
いろいろ探したけどわかりませんでした・・・スマソ
別な方法考えるしかなさそう。Java(servlet)からInterBaseにアクセスするには、
他に方法はないのだろうか。
ボー○ンドは、高いサポート料を別に払わないとサポート受けられないし・・・(悲
0312デフォルトの名無しさん
NGNGオープンソースってのはそういうものさ。
0313Firebird にしようよ!!!
NGNGより詳しく環境を提示してくれない?
>フルLinuxベースで、
>InterBaseをDBにしてシステム組んでますが、問題にぶちあたりますた。
>JDBC系(Javaサーブレットから)、とそれ以外(主にkylixアプリ)、
>の二系統から同時に接続しています。
・Linux はディストリビューション、バージョンは?
・InterBase のバージョンは? Classic or Super
・InterClient のバージョンは?
・JDK のバージョンは?
・サーブレットコンテナは?
0314313 の続き
NGNG>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
0315314 の続き
NGNG>せっかく情報いただいたけど、このcacheに相当する設定がいったいどこにあるやら
>いろいろ探したけどわかりませんでした・・・スマソ
ちらっと見たけど >>310 のって JDBC と無関係なんでは?
Connection 時に "suggestedCachePages" っていうキャッシュ関係のパラメータがあるみたいだけど、
何か関係があるのか?? オレは使ってことないし、よくわからないけど。
(デフォルトは 0 みたいだからキャッシュしないと思うけど。)
>ボー○ンドは、高いサポート料を別に払わないとサポート受けられないし・・・(悲
そうだね。それに金払っても問題解決するとも限らないし。
0316Firebird にしようよ!!!
NGNG>JDBC系(Javaサーブレットから)、とそれ以外(主にkylixアプリ)、
>の二系統から同時に接続しています。
ってことで、サーブレットで更新したデータが kylix アプリの方で
更新前のものが読み込めちゃうってことなんだろうけど、
何かキャッシュの問題じゃなくてトランザクションの問題のような
気がしてきた。
>確認してみました。デフォルトのままで、同じレベル
>(commit_readed?だっけ?)になってました。レベル自体も、問題ないみたいだし・・・
デフォルトの排他レベルは SNAPSHOT なんじゃないの?
この場合は、サーブレット側のデータ更新前に、Kylix の方でトランザクション開始して、
サーブレット側データ更新後に、Kylix の方でそのままのトランザクションで
読み込もうとしても更新前のデータが読み込めるから、それが原因のような気がしてきた。
本当に READ COMMITTED なのかどうか確認した方がいいと思う。
もう一つの確認方法として、データ更新前に kylix アプリで内容を確認しておいて、アプリ終了する。
次にサーブレット側でデータ更新してから、再度 kylix アプリを起動して内容を確認してみる。
更新された内容が読み取れるのであれば、kylix 側アプリのトランザクションの設定が問題の
可能性が高いと思う。
0317デフォルトの名無しさん
NGNG0318デフォルトの名無しさん
NGNGトランザクションが常に存在してるような感じになるから
Web側で更新された後にKylix側のトランザクション張りなおす
ような感じにしないとだめなような気が。
使ったこと無いけどEventAlert使ってみるとか
0319Firebird にしようよ!!!
NGNGたぶんそれが問題だろうね。
でもわざわざイベントアラータ使わないで、明示的にトランザクションすれば間違いない、はず。
>>306
下のようなコードにした方がいいってこと。
------------------------
■ データ読み出しメソッド
------------------------
(トランザクション開始)
try
select ... from ...
(コミット)
except
(ロールバック);
end;
------------------------
0320306
NGNG>>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が排他される、と考えると、
今までの現象が全部納得いきました。
0321306
NGNGそして、それぞれの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系のデータを別ファイルにする。さすがに別ファイルだと排他されませんでした。
二つのファイルの整合は、別な処理で行ってあわせる)
いろいろありがとうございました。
あとで時間があったら、ちゃんと解決したい・・・
0322デフォルトの名無しさん
NGNG明示的なトランザクションを掛けてないとするとデフォルトトランザクション
に問題が?一度パラメータの内容をログに吐かせて確認を。
http://www.borland.co.jp/interbase/tech/free_ib_compo/compo05.html
IBXのバグかも知れないのでこちらのチェックも。
http://codecentral.borland.com/codecentral/ccweb.exe/author?authorid=102
0323デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNGプロシージャ、トリガ内の言語が拡張されていてなかなか良さげ。
CASE, NVL, NULLIFとかあるぞ。
ところで重いストアドを実行中は他のクライアントからの軽いクエリとか
でも急に重くなるんだよな。なんかいい案ない?
0325デフォルトの名無しさん
NGNG0326デフォルトの名無しさん
NGNG夜間バッチ
0327324
NGNGInterBase/FireBirdは現状SMPに対応してないんだっけ?
対応してるならSMPのCPUパワーにものを言わせて解決しても良いんだけど。
SMP未対応ならHyperThreadのXeon, P4でもうまく動かないのかしらん。
0329デフォルトの名無しさん
NGNGどう問い合わせればいいのでしょう?
oracleでは
select sysdate from dual;
とかで大丈夫なんだけど・・・
あと、tableの一覧修得方法などをご存じの方
どうかご教授くだされ
0330デフォルトの名無しさん
NGNGSELECT CURRENT_DATE FROM NANIKA_TABLE;
SELECT CURRENT_TIME FROM NANIKA_TABLE;
SELECT CURRENT_TIMESTAMP FROM NANIKA_TABLE;
これで取得できる。
テーブルの一覧は qli を使えば show fields; でいけるはず。
isqlとかでやる方法は知らない。
0331火の鳥
NGNGSELECT rdb$relation_name AS tablename
FROM rdb$relations
WHERE rdb$view_source IS NULL
AND rdb$system_flag = 0
ORDER BY rdb$relation_name; ← この行は必ずしも要らない
もっとシンプルな方法があるかもしれないが、漏れはこれ使ってる。
0332デフォルトの名無しさん
NGNG出来ました、出来ました!
ふと気になったのですが、
SELECT CURRENT_TIMESTAMP FROM Nanika_Table;
としたとき、ものすごい件数で結果が表示されますが
これを一件とかにできないのかなー?
SELECT CURRENT_TIMESTAMP
FROM NANIKA_TABLE
WHERE ROWNUM = 1;
としても、エラーが出るし
むぅ・・・
>331さんのテーブル一覧の方法
ものすごく勉強になりました。
本当にありがとうございました
0333火の鳥
NGNG>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行しか値を返さない関数を使用するとかの方法があると思います。
0334デフォルトの名無しさん
NGNGいわれてみるとそうですね。
動作が
NANIKA_TABLE = DUAL
と考えてしまいました
もう一度、自分のスキルを見直してみます
それはそうと、InterBaseでもoracleのrownumに
変わるものってありますか?
0335火の鳥
NGNG>それはそうと、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〜 あたり見てみ。
ヒントといいつつ結局ほとんど記述しちまったよ…。
0336火の鳥
NGNG>>3
>Twise Lab
>ttp://www.twise.co.jp/index.html
>オープンソース版の日本語対応を行っている
たった今、たまたまここに逝ったんだけど、
「※FireBird関連のソフトは、ライセンス関連が明確ではないため、
配布を中止いたしました。」
と出てますた。
FBでアプリ配布してるんで、非常に気になるんだけど、なんかあったんだろか?
ibphoenixあたりに行っても、よくわからんかったし。
詳細またはライセンス体系の情報をもってる人誰かいたらお願い。
0337デフォルトの名無しさん
NGNGなるほど、こういう方法があったなんて・・・
とても驚きです
InterBaseのマニュアルは持っていないので
Borlandからの購入を考えようと思っています
0338デフォルトの名無しさん
NGNGIB6.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 の違いを軽くまとめたメモがある。
0340デフォルトの名無しさん
NGNG0341デフォルトの名無しさん
NGNGうちもFB使ったアプリを配布してるけど、このライセンスで問題ないんじゃない?
FB自体に手を入れた場合についてはごちゃごちゃ書いてあるみたいだけど
単体を配布するだけなら特に何もないはず。
その点、あそこで配布してた日本語版は手を入れた代物だからじゃないかと。
>>340
何が知りたいんだかさっぱり分からんからレスのしようがないぞ。
0342337
NGNGマニュアル、早速ダウンロードして読んでみます
教えてくださって本当にありがとうございました。
0343デフォルトの名無しさん
NGNG0344デフォルトの名無しさん
NGNGブロックで確実に行われているかチェック。
0345デフォルトの名無しさん
NGNGプライマリキーを Double Precision 型にしたのですが、
TIBQuery で INSERT 文を発行するのにパラメータを使いたいのですが、
型の対応がわかりません・・・
TFieldType 型の何に相当するのでしょうか?
よろしくお願いします。
0346345
NGNG使っているのは FireBird 1.0 と Delphi7 です。
0347火の鳥
NGNGここで質問するまでもなく、
Delphiの設計画面で TIBDatabaseで接続して、TIBQueryにSQL文を
指定し、項目エディタで全フィールドを追加して、調べたいフィールド
のタイプを見ればわかることではないのかと思われ。
いや多分この方法が思いつかなかったからこそ質問したことは
想像できないことはないのですが、今後不明な項目タイプがあったとき
この方法で調査できます。
やり方がわからんかったらDelのマニュアルを見るか、聞いてください。
ML入ったほうがいいかもしれないよ。
ちなみに、TFloatFieldです(当方FB1.0 + Del5).
0348デフォルトの名無しさん
NGNG今は、どの会社が サポートしてるんだ?(w
0349345
NGNGはるか昔に Paradox をいじってた程度なので全然思いつきませんでした。
一歩前進できました。火の鳥さんどうもありがとうございます。
0350345
NGNG- 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 の方が速いらしいですが、使い方がイマイチわかりません・・・
0351345
NGNGDelphi-ML なら入っていますが、Interbase の話題は見たことがないので
こっちは質問しづらい感じがします。
0352火の鳥
NGNGFBでこのような処理をしたことがないので、あくまでも推測でしかないのですが、
Oracleで行った経験から言うと、
インデックスが効いている場合、挿入が行われる度にインデックスが再作成される
ために、遅くなるのでは内科と思われ。
ためしに ALTER INDEX (インデックス名) INACTIVE; で処理前にインデックスを
無効にして、Commitしたあとに ALTER INDEX (インデックス名) ACTIVE; で
元に戻してみてはどうでしょう。
理想的にはwhileで1行ずつ回しながら挿入するのではなく、
INSERT INTO (tablename)
SELECT ... FROM ...;
のように一気に挿入するのがベストだけど、これはこの構文を見る限り
難しいかもしれない(漏れだったら何が何でもwhileを避けて、関数を駆使して
SELECT文で一気に挿入する方に持っていこうとします)。
ちょっとwhile使わない方法考えてみるから時間ください(←多忙のため、
もしレスしなくても怒らないでください)。
>>351 そうです。
0353火の鳥
NGNGやっぱりこのコードから推測すると、whileで回すしかないみたいです。
>>348
InterBaseはまだ棒ランドがやっとります。
最近はInterBaseから派生したFireBirdがオープンソースで出てる。
このあたりの経緯はスレを最初から読んでみて。
しかし、最近急に質問が多くなってきたような気が。
0354345
NGNGTIBSQL を使ってみましたが逆に遅くなりました
>SELECT ... FROM ...;
テンポラリテーブルを作ってバッファみたいに使ってSELECTかける という話かと思いました。
今は教えていただいた ALTER INDEX をやってみようとしています。
テーブルは Marathon で作っているのですが
PK_〜 とか RDB$〜 RDB$INDICES とかどれがどれだか・・・
エラーで弾かれまくりです^^;
0355デフォルトの名無しさん
NGNG・マルチプロセッサー・サポート
・接続モニタリング
・タイプ4 JDBCドライバー
だそうだす。
http://www.borland.com/news/press_releases/2002/10_29_02_ib7_launch.html
0356デフォルトの名無しさん
NGNGhttp://www.dbginc.com/tech_pprs/ib7/IB7.htm
0357デフォルトの名無しさん
NGNG0358デフォルトの名無しさん
NGNGちょっとテストしてみました。
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→再度インデックス設定 が効果ありそうです。
0359345
NGNGわざわざテストまでしていただいて、感謝です。
こちらでもやってみました。結局 Primary Key は ALTER INDEX できないと叱られたので、
インデックスを削ったところ 50 秒程速くなりました。
しかし速度は頭打ちでした。この点は既にあきらめモードです。
実は K6-2 450 / 756MB・・・差はこれなのかなぁ。
データセット外してみたりしたけどやっぱり変わりませんでした。
また質問があります。
WideString を使いたいのですが、Char_Setに UNICODE_F55 を選ぶだけでよいのでしょうか?
0360デフォルトの名無しさん
NGNGテーブル削除してから空のテーブル作って、追加後にインデックス
付ければ良いのでは? 多分、テーブルをemptyにするよりも早いかと。
BDE3.xでは大丈夫だったのに、5.x以降はインデックスがあると、
10万件を超えるようなデータを追加したら落ちましたので、今はこの
方法を使っています(Paradoxですが)
0361デフォルトの名無しさん
NGNG独特なのね...
フィールド名も日本語使いたい...
0362345
NGNGUSER "SYSDBA"
PASSWORD "masterkey"
user_name=SYSDBA
password=masterkey
こういう物なんでしょうか?
0364デフォルトの名無しさん
NGNG0365345
NGNG「外部ファイルからデータを挿入する」
http://www.borland.co.jp/interbase/ib4/TUT/tut_05.html
CSVデータを外部テーブルに読ませて INSERT INTO ... SELECT
できるみたいです。まだ試せていません。
というのもFireBirdにはWindowISQLが付いていないんですねー
ISQLコマンドラインよくわかんない・・・
0366デフォルトの名無しさん
NGNG俺はcsvをperl製スクリプトでsqlに落としてから
isqlに-iオプションで食わせてデータを挿し込んでる。
スクリプトを弄ればダミーデータ作るのにも使える。
isqlのコマンドライン版は使い出があるから色々と試してみるといいよ。
0367デフォルトの名無しさん
NGNGプログレスバーのせいでは…
0368デフォルトの名無しさん
NGNGバックアップやスイープなどで支障が出るそうです。NGで見たような気がします。
(IBの人気はフリーDBMSではPostgreやMySQLに続いて第3位だそうですね。)
0369350
NGNG・Params の型をきっちり指定した
・INSERT INTO でフィールド指定をなくした
あと、項目を1つ増やしたら不思議な事になぜか少しだけ速くなった・・・
これでなんとか7分になったよー(´∀`)
>プログレスバーのせいでは…
Σ(゚Д゚;)……
if ((n mod 100) = 0) then
begin
ProgressBar.StepIt;
Application.ProcessMessages;
end;
これだけで4分切りました。
ありがとうございました。
0370345
NGNGいまIBのマニュアルを一通り読み終え、
やっとストアドプロシージャの設置方法がわかりました。
まだそんなレベル・・・
0371デフォルトの名無しさん
NGNGPrepareする必要はあるのでしょうか?
ヘルプを見ると
>実行時に問い合わせテキストを変更すると,問い合わせは自動的に
>閉じられ,準備が解かれます。
となっていますが、あくまでこれはSQLそのものを変更した場合であって
Paramsの内容を変えただけの場合にはPrepareは不要なのでしょうか。
変な質問ですいません。
0372デフォルトの名無しさん
NGNGその必要は無いと思う。
ループ外の最初でPrepare、最後でUnPrepaerでいい。
問い合わせ最適化の為のパラメータ化クエリーなのだから。
0373371
NGNGパラメータを変えると毎回Prepareしないといけないような
気がして不安だったのですが、安心しました。
0374デフォルトの名無しさん
NGNG0375デフォルトの名無しさん
NGNGどこの出版社?
0376デフォルトの名無しさん
NGNGソース教えてもらえますか?
0377デフォルトの名無しさん
NGNG本人から聞いたよ。
0378デフォルトの名無しさん
NGNGみんなはどうよ?
0379デフォルトの名無しさん
NGNGどう大変?
0380デフォルトの名無しさん
NGNGだからねー。
0381デフォルトの名無しさん
NGNGへ、そうなの?
ソースの中にそれらしいクレジットないし、
メーリングリストでも名前を見かけた記憶ないぞ。
http://sourceforge.net/project/memberlist.php?group_id=9028
0382デフォルトの名無しさん
NGNGIBDIのメーリングリストでは見たことがあるけど。最近は見かけないなあ。
0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNGQAの人だからね。
0385デフォルトの名無しさん
NGNGIBConsolの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
って出るけど、どこか構文間違ってる?
0386385
NGNGsuspend;が抜けてました
初歩的なミスですみません
しかし、InteractiveSQLでコンパイルすると
Dynamic SQL Errorが出るのはなぜだろう?
0387デフォルトの名無しさん
NGNGset termを使ってないからじゃないかな。
0388デフォルトの名無しさん
NGNGFirebird−オープンソースデータベースの導入と運用の実際
著者:加藤大受
定価:本体3,800円+税
B5変型判・430ページ
ISBN 4-8399-0889-3
11月下旬発売とのこと。
http://book.mycom.co.jp/
(近刊のご案内欄)
0389デフォルトの名無しさん
NGNGって具体的にいつ?
誰か本屋行った人報告してちょ。
0390デフォルトの名無しさん
NGNG境に移してSYSDBAユーザで開けちゃうものなんですか?
ファイル単位でパスワード等を掛けることは不可能でしょうか?
0391デフォルトの名無しさん
NGNGコピーすれば Win でも Linux でもどこでも使える。
(これは長所)
>ファイル単位でパスワード等を掛けることは不可能でしょうか?
できないみたいだね。
OSの機能使って勝手にコピーできないようにして対処するしかない。
(これは短所)
そういうリクエストしてみたらいいんでないかい。Firebird プロジェクトに。
0392デフォルトの名無しさん
NGNGさっそく、ありがとうございます。
SYSDBAユーザに開けないGDBファイルを作成することも不可能なのでし
ょうか?
元ファイルのSYSDBAのパス変えても無駄ですよね?
0393デフォルトの名無しさん
NGNG>SYSDBAユーザに開けないGDBファイルを作成することも不可能なのでし
>ょうか?
さっき言ったとおり無理。
>元ファイルのSYSDBAのパス変えても無駄ですよね?
ユーザ名、パスワードって使用している gdb ファイルに記録されるんじゃないよ。
IB/FB ディレクトリにある isc4.gdb ってファイルに記録されるんだよ。
だから SYSDBA パスワード変えても、そのサーバ側の isc4.gdb が更新されるだけ。
0394390
NGNG無学な私に迅速なお答えありがとうございます。
では9X系のWindowsではテーブル構造等を隠すことは不可能なのですね。
みなさんはどのように対処しているのでしょうか?
0395デフォルトの名無しさん
NGNG>では9X系のWindowsではテーブル構造等を隠すことは不可能なのですね。
>みなさんはどのように対処しているのでしょうか?
運用に際には WinNT系やLinux にしないとまずいと思うよ。(外部にもれちゃまいずなら)
当然だけど、管理者しか管理者モードでログインできないようにすれば
まず勝手にコピーされることはないと思うよ。
(もちろんファイルパーミッションをちゃんと設定すること)
0396390
NGNG他所のPCにインストールしたいので、UNIXやNT系のサーバがない環境
も想定していました。
隠したい理由はセキュリティよりもテーブル構造等を恥ずかしいので
隠したいのです。文面でもわかるとおり無知なもので。
今まではJETで少し作ったことはあるのですが、少し勉強してみよう
と思い、フリーで高性能、なおかつ使用しているC++Builderとの親和
性も高いので、FireBirdを使ってみようと思いまして。
0397デフォルトの名無しさん
NGNG>隠したい理由はセキュリティよりもテーブル構造等を恥ずかしいので
>隠したいのです。文面でもわかるとおり無知なもので。
>実は自分で使うものではなくて、頼まれたものなのです。
そのクライアントが IB/FB の管理ツール(IBConsole, DatabaseExplorer等)持っていれば
テーブル構造みられちゃうけどね。
恥ずかしいとかよりも、
さっきのレスのように勝手にコピーされると中身見られるから管理には気をつけて
って言ったあげることの方が大切なことだと思うよ。
0398sage
NGNGBorland Conferenceでおいてあったチラシによると、
11月29日発売らしい。
0399デフォルトの名無しさん
NGNGThanks!
0400デフォルトの名無しさん
NGNGクソしてくる
0401デフォルトの名無しさん
NGNGcbook24で予約しようとおもったんだけど...
0402デフォルトの名無しさん
NGNGトーハンのサイトで、
http://www.e-hon.ne.jp/bec/EB/Top
書籍は見つかったけど、まだ発売していないみたい。
http://www.e-hon.ne.jp/bec/SA/Detail?refShinCode=0100000000000031063260
もうちょっと待ちでしょうね。
0403デフォルトの名無しさん
NGNGBookmallで購入できたよ。
http://pc.bookmall.co.jp/search/info.php?Code=33519
0404デフォルトの名無しさん
NGNG中身は見てないけど。
毎コミのサイトでも「購入する」になったね。
http://book.mycom.co.jp/
0405デフォルトの名無しさん
NGNGJava, Delphiの例はもちろん、Perl, Python 果てはZopeでの利用例まで載ってる。
欲張り過ぎで個々の中身うすい。
アスキーの「データベースLinux(下田雅彦 著)」のほうがいいよ。
0406デフォルトの名無しさん
NGNGbookmallで購入したのが届きました。
Javaの記事が多い加藤さんらしく、Javaから使うときにはいいかも。
あとは参考までにいろんな使い方があるっていう感じだな。
0407デフォルトの名無しさん
NGNGレコードをINSERT後にすぐオープンダイアログを表示して、
ファイルが選択されなかったらロールバック
選択されたらコミットしたいのですが・・・
オープンダイアログを開くだけでトランザクションが閉じてしまい困っています
何か設定があるのでしょうか?
もしおわかりの方いらっしゃいましたら教えてください
よろしくお願いします。
0408デフォルトの名無しさん
NGNG>ファイルが選択されなかったらロールバック
>選択されたらコミットしたいのですが・・・
手順がおかしいぞ。
ファイル選択 → INSERT(COMMIT)
の順じゃいけない理由を教えてクレ。
>オープンダイアログを開くだけでトランザクションが閉じてしまい困っています
その部分のソース提示してよ。
0409デフォルトの名無しさん
NGNGhttp://www.borland.com/interbase/
isqlでset term書かなくてもいいってのはちょっと嬉しいか。
0410デフォルトの名無しさん
NGNGフォルダ選択ダイアログではフォルダを新規に作成する事もできますので、
フォルダ選択(実は作成した) → INSERT ...キャンセル
とされるとフォルダが残ってしまいます。
作成されたフォルダかどうかは判断できないため削除するわけにもいきません
で、データを登録してから開始フォルダを選ぶという事にした次第です。
ExecInputForm;
try
//InTransaction=TRUE
if not FolderDialog.Execute then //InTransaction=FALSE
Abort;
// 処理
Commit;
except
RollBack;
end;
0411デフォルトの名無しさん
NGNGif not ExecInputForm then
begin
Exit;
end;
try
です。
0412デフォルトの名無しさん
NGNG(HELPにはfinalyへ飛ぶとありますがexceptとはなっていないので)
例外処理で対応せずにif elseで分岐させれば正常に動作しますか?
raiseでエラー生成するとどうなりますか?
0413デフォルトの名無しさん
NGNGPHPで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を弄りました)
どなたかよろしくお願いします。
0414デフォルトの名無しさん
NGNGPHP のことはわかりませんが、
>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 にもこれに相当する機能があるらしい。
0415デフォルトの名無しさん
NGNGPHPのドキュメント眺めるとわかると思いますが、Interbase以外の
DB用関数にクエリ関数で返ってきた結果(ストリーム)の行数を数え
るXXXX_num_rows()関数(MySQLならmysql_num_rows())があります。
・・・とは言っても
1. XXXX_query()関数でSQLを投げて結果を得る
2. 得た結果をXXXX_num_rows()関数に食わせて行数を得る
の様な使い方になるので、413さんの2回SQL文を投げるやり方でも
汚くはないと思いますが?
0416413
NGNG>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板のほうでもあらためて聞いてみます。
マルチだと非難しないでくださいね。
0417デフォルトの名無しさん
NGNG>...本当に日本で宣伝されているほど
>米国ではメジャーなDBなのか疑問に思うほどです。
同感。
> 日本語版6.5も出る気配がなさそうですね。
IB6.0 が売れてないからかな?
フリーの Firebird があるからわざわざ金だしてまでも買わないんだろうね。
豊富なミドルウェアってことを宣伝文句にしてるけど、
ただ使えるっていうだけであって実用レベルじゃないんだね。
Java には結構力入れてるって感じがするけど。
0418デフォルトの名無しさん
NGNG米国で売れているというよりもモトローラがずいぶん使っている
だけじゃないかな。イメージ的にはヨーロッパのユーザーが
多い気がするけどね。
結局、Borlandのツールとの連携がいいって部分にはミドルウェアの
良さはないんじゃないかな。
0419デフォルトの名無しさん
NGNGどうするの?
IBConsoleからできますか?
0420デフォルトの名無しさん
NGNGなぜ尋ねるのにsage?
CREATE SHADOW....
0421デフォルトの名無しさん
NGNGどうせほかの原因でシステムがクラッシュするでしょうから。
0422デフォルトの名無しさん
NGNGInterBase のマニュアルもってないなら、以下のコメント参照してみて。
http://pc3.2ch.net/test/read.cgi/tech/1035278719/27
このセットアップファイルを実行しなくても、アーカイバ使って
pdf ドキュメントだけ取り出せます。
あとご存知かもしれませんが、
「Firebird オープンソースデータベースの導入と運用の実際」
(ISBN4-8399-0889-3) \3,800(税別)
という本が出ています。
InterBase にも対応しているのでご購入してみる価値はあると思います。
コンピュータ書を大きく扱っている本屋じゃないと置いてないかもしれません。
(私はネットで購入しました。)
0423デフォルトの名無しさん
NGNG>IBConsoleからできますか?
GUIではできません。
「Interactive SQL」ウィンドウからならばできますが、
SQL文を入力する必要があります。
0424デフォルトの名無しさん
NGNG5.x のマニュアルと内容は(ほとんど)同じでしょうか? 形式はやはり pdf ?
0425デフォルトの名無しさん
NGNG0426デフォルトの名無しさん
NGNG印刷したマニュアルとPDFの両方付いてくる。マニュアルだけでも買えるぜ。
http://www.borland.co.jp/sales/interbase.html
0427デフォルトの名無しさん
NGNG漏れは商用版とオープンソース版両方持ってるが、
マニュアルと IBConsole は商用版、本体はオープンソースを使ってる。
やっぱ紙のマニュアルは・・・(・∀・)イイ!
0428デフォルトの名無しさん
NGNGそなの?
で、ライセンスはどうなっているの?
まさか、開発はできるけど、リリースできないなんてことはないよね。
リリースは旧版でとかさ。
バカにするにもいいかげんにしてほしいよね。
0429デフォルトの名無しさん
NGNGMSDEのようなサブセット・機能制限付きでリリースするくらいなら
Firebirdを使えばいいからライセンスは気にならないな
将来的に互換性が心配ならむしろFirebirdで開発すればいいし
0430428
NGNGちゃいまんがな。
そんなことを言ってるんじゃないんです。
別にユーザーがFireBird使おうと、Oracle使おうと関係なく、
BorlandがどういうつもりでD7に同梱しているのか
を問うてるんです。
0431デフォルトの名無しさん
NGNGでもIBX使うとやっぱ問題あるかね?
0432デフォルトの名無しさん
NGNG別途接続ライセンス買わなきゃならんだろう。
Firebird なら接続ライセンスは存在しないから、
一切金が掛かることはない。
InterBase(商用) はいざというときメーカーが面倒みてくれるから、
とか聞くけど、保守料支払っても問題解決することはほとんどないよ。
某のサポートのレベルがどうこうというのもあるが、
結局は自分でなんとかしなきゃならんから意味なし。
メーカーサポートよりコミュニティの方がレベルが高いし。
InterBase に未来はないだろうから Firebird に乗り換えよう。
今からなら難なく Firebird に乗り換えられる。
0433デフォルトの名無しさん
NGNGオレは D7 まだ買ってないからよく知らないけど、
これに同梱されてるのって LocalInterBase とかいうヤツじゃないの?
D7 じゃなくても入ってたよね。こんなようなヤツが。
ようするに InterBase を体感してもらうためだと思う。
良ければ買えと。
0434デフォルトの名無しさん
NGNGParadoxでの開発は推薦しないということだから
開発用にIBを入れるのは当然でしょ
ま、本音は「あわよくばIBを売りたい」ってとこでしょうけど
VSにMSDEを入れてSQL Serverを売ろうというのと似たようなもの
ユーザー制限付きでIBの配布が可能ならMSDEと同等というとこだろうけど
Firebirdがあるからまあいいかと思っちゃます
0435デフォルトの名無しさん
NGNGDel6に付いてるIBXでは今のところ問題なし(IBTableは使わないという前提で)
互換性はDelとFirebirdのバージョンアップの際に気をつけないといけないけど
某がわざとFirebirdでの開発ができなくなるようにするとは考えにくいよね
(DB開発者が一斉にバージョンアップをボイコットするだろうから)
0436デフォルトの名無しさん
NGNGそのうち FBX(Firebird Express) なるものが出るかもよ。
0437デフォルトの名無しさん
NGNGデータコントロールと連携させるアプリはショボい。
0438デフォルトの名無しさん
NGNGFirebird 1.5 では
ibserver → fbserver
gds32 → fbclient
に名前が変更されているようだね。
0439428
NGNGD7付属のInterbaseは6.5なんでしょ。
で、そのInterbase6.5は販売の予定がないでしょ。
Firebirdとの互換もないかもしれないでしょ。
IB売りたいなら販売している6.0にすべきだし、
大胆にFirebirdという手もある(無理だろうけど)
出す気もない6.5を同梱しているのはどういうことだ。
バージョンの違う環境でビジネスアプリ開発するか?
IBが売れるか?顧客へ導入の説得ができるか?
おざなりにも程があると思うんだが。
でも沈みがちなこのスレが上がってうれしいのでage。
0440デフォルトの名無しさん
NGNGTwise Labo. Inc. でまたまた日本語版が公開されましたね。
http://www.twise.co.jp/download.html
0441デフォルトの名無しさん
NGNGFB>>>>>>>>>>>>>>>IB6.0
だから 6.5 付けなきゃと思ったのかな。
でも謎ですね。暇なら謎解きお願いします。
ところで同梱されてるのはどうせ Desktop Edition でしょ?
Firebird があるのになんでこんな中途半端なもんか不思議。
0442デフォルトの名無しさん
NGNGRDBMS 初心者向けのために同梱しただけかも。
これで勉強してくれと。(ただし運用はできんが)
0443デフォルトの名無しさん
NGNGC++BuilderやDelphiにあるIBXでFireBirdをたたくことはできるんでしょうか?
ひょっとしてガイシュツな質問……?
0444デフォルトの名無しさん
NGNGもちろんできます
0445デフォルトの名無しさん
NGNGああ、早速の回答ありがとうございます。
ではやってみます。
と、いう訳で自分のPCを人柱にインストール済みのInterBaseをアンインストールして
先ほどDLしたFireBird(日本語化したやつ)をインストール。
C++Builder5(Pro)でTIBDatabaseを使ってテスト。
……うーん、やっぱりただインストールしただけではだめなんかなあ。
コンソール側(FireBirdに付属のやつ)ではInterBaseが生成したファイルにアクセスできました。
0446デフォルトの名無しさん
NGNG>……うーん、やっぱりただインストールしただけではだめなんかなあ。
どうダメだったのか詳しく説明してもらわないと答えようがないよ。
0447デフォルトの名無しさん
NGNGお世話になってます。&ご迷惑をおかけしました。
えーと、あれからいろいろ試してうまく動くようになりました。
こちらの早とちりでした。
テスト用に書いたコードではTIBTableを介してTDBGridに接続してたんですが、
TIBTable::Activeがfalseになっていただけのこと。
無事テーブルの情報を得ることができました。
アドバイスとお気遣いをありがとうございます。
0448デフォルトの名無しさん
NGNGその後新しい情報はありませんでしょうか?
漏れのアプリは TIBTable だらけなので心配でしょうがないです。
やっぱ TIBDataSet に置き換えた方がいい?
でも参照項目とかもバンバン使いまくってるしな〜(鬱
0449デフォルトの名無しさん
NGNGそれより TIBTable って利用価値あるの?
Query 系じゃないと実用にならないと思うが。
0450448
NGNGレスさんくすこ。
DBGrid 使っての編集とかが TIBDataSet ではできないですよね〜(鬱
>Query 系じゃないと実用にならないと思うが。
この辺の話、も少し詳しく教えてきぼんぬ。
0451デフォルトの名無しさん
NGNGBorlandの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/
0452デフォルトの名無しさん
NGNGご苦労様
>SorceForgeにプロジェクトページだけはあるね。
>http://sourceforge.net/projects/fbx/
そうなのか。これに期待したい。
IBX と干渉しないように完全分離してもらいたいよね。
>ここのInterXpress for Firebird(まだαらしい
これって dbExpress でしょ。
IBX と違って配布時に余計なランタイム必要になるよね?違うかな??
0453デフォルトの名無しさん
NGNGTIBQuery と TIBUpdateSQL を組み合わせればできるんじゃない?
TIBUpdateSQL は右クリックしたダイアログで SQL 文自動で
作ってくれるからそんなに難しくないと思うけど。
オレは DataControls コンポーネント使ってやらないから
TIBSQL さえあれば充分。
特に DBGrid のスクロールの挙動が気にくわないから、
自前で作ってる。
0454451
NGNG> >ここのInterXpress for Firebird(まだαらしい
> これって dbExpress でしょ。
> IBX と違って配布時に余計なランタイム必要になるよね?違うかな??
余計かどうかは置いといて、データベースごとにDLLがいるね。
どのみちIBX使う場合でも、gds32.dllは否応なしに配布が必要なんだから
DLLが一つ増えたぐらいなんでもないかと。
0455448
NGNGレスThanx。
> 特に DBGrid のスクロールの挙動が気にくわないから、自前で作ってる。
( ´・ω・)ショボーン ・・・ そこまで腕ないから、あきらめて TIBTable 使おうかと思います。
0457デフォルトの名無しさん
NGNGTIBDataSetでDBGridを使えるよ
IBDataSetをマウス右クリックして
「データセットの編集」を開いて
「キー項目」と「更新する項目」を選んで
「SQL文を生成」を実行すると
変更、追加、削除、更新の各SQLが自動生成され
(もちろん後でこれらのSQLを編集することも可)
これで何の支障もなくDBGridも使えるようになるよ
0458デフォルトの名無しさん
NGNGもし「データセットの編集」がでてこないようだったら(Pro版だと無いかも)
ModifySQL、InsertSQL、DeleteSQL、RefreshSQL
の各プロパティに適切なSQL文を書き込むことで同等になる
0459デフォルトの名無しさん
NGNGupdate 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
0461デフォルトの名無しさん
NGNGTIBDataSetでSelectSQLにSQL文を設定、OPENした後、
結果セットが存在しないならInsertSQL文を実行させようとしてるのですが、
EIBClientError・・・「use Open for a Select Statement」が発生しちゃいます。
ExecSQL実行する前にCloseはしてるのですが、何か抜けてるとこありますでしょうか?
0462デフォルトの名無しさん
NGNGTIBDataSetでExecSQLを使う条件は
・SelectSQLにSQL文が書かれていること
→このことからExecSQLで実行されるのはSelectSQLだと分かる
・SelectSQL文に書かれているSQLが「Select文ではないこと」
要するに変則的な使い方になるわけですね
TIBDataSetはBDEにおけるTTable相当と考えて
特殊な処理はTIBSQL等他のコンポーネントを使うのが良いかと
0463デフォルトの名無しさん
NGNGif aIBDataSet.RecordCount=0 then aIBDataSet.Insert;
でいいと思うわけで
要するにTIBDataSetでExecSQLはあまり使わない方が・・・
0464デフォルトの名無しさん
NGNGたびたび有難う御座います。
TIBTableはTIBDatasetに、TIBQueryは、TIBSQLに移植を検討して見ます。
でも2ちゃんにしては珍しく良スレですね、ここは・・・(^^;
0465デフォルトの名無しさん
NGNGTIBSQL は DataControls コンポと連動できないってこと知ってるよね?
(要するに Delphi データベースフレームワーク外ってこと。)
画面表示する際は自前でやる必要があるから。(DataControls は使えない)
まあオレは TIBSQL しか使わないでやってるけど。
0466デフォルトの名無しさん
NGNGInterbaseと違って「あれ?」って思ったんだけど、Interbaseなら
SELECT ID FROM A, B WHERE A.ID = B.ID;
で結果セットがちゃんと返ってくるけど、火の鳥だと
SELECT A.ID FROM A, B WHERE A.ID = B.ID;
みたいにテーブル指定してやらないと、「曖昧だ!テーブル名指定しろ!」って
怒られちゃうみたいだね。
0467デフォルトの名無しさん
NGNGIBってそんなSQL文でいいの?
0468デフォルトの名無しさん
NGNGFirebirdのDBがDialect3になってるでしょ?
0469デフォルトの名無しさん
NGNGPROCEDUREの中で他のPROCEDUREは呼び出せないのですか?
いろいろとやってみたのですが、何やら怒られてしまいます。
0470デフォルトの名無しさん
NGNG確かに・・・これが何か?
0471デフォルトの名無しさん
NGNGIBの導入ガイドがあれば読むべし。
SQLダイアレクトに関する詳しい説明が載ってる
0472デフォルトの名無しさん
NGNGEXECUTE 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
のような定義を入れる。
0473デフォルトの名無しさん
NGNGダイアレクトは関係ねえよ。Firebirdも0.9Xの頃は
SELECT ID FROM A, B WHERE A.ID = B.ID;
で通ったんだよ。1.0でチェックが厳しくなった。
0474デフォルトの名無しさん
NGNGFirebird1.0からデフォルトでDiarect3を使用するようになったんだよ。
手持ちのFrebirdのDBにDiarect1で接続して試せ。
結果を確認したら回線切って首吊って死ね。
0475デフォルトの名無しさん
NGNGFirebird なんてまだマイナーなんだからさー、
せめて良スレにしてさー、使ってないヤツらにこのスレ参考にしてもらえるよう
努力してこうや。
0476デフォルトの名無しさん
NGNG加藤さんの本買え。
確かに、浅く広くって感じだけど、漏れには役に立ってる。
付録のSQLの説明も使えるし。まぁ、厚いからコピーとって使ってるけどな。
強いていえば、あそこまでやるならRubyからの接続法も入れてほしかったな。
あとは、Delphi/Kylixからの使い方をもっと突っ込んでほしかったなぁ。
それから、この時期に出すんだったら、1.5についても触れておいてほしかったなぁ。
あ、あと、ほかのデータベースからの移行方法とかも書いてあるとよかったな。
って、ぜんぜんダメみたいじゃん(w
でも、漏れは十分に元がとれたと思ってるぞ。
0477デフォルトの名無しさん
NGNGhttp://www.borland.com/interbase/pdf/ib7_datasheet.pdf
の3ページ目のダイアグラムみると GDS32.DLL 経由してるように
なってるんで、そうなると Type2 ということになるはずだけど、
ダイアグラムの方が間違ってるってこと?
それともクライアントに GDS32.DLL がないとダメってこと? (それならば Type4 ではない)
ちなみに Firebird の JDBC Type4 ドライバの方はソースちらっと見てみたけど、
GDS32 は経由せずに直に Firebird Server と通信しているようだったから
まさしく Type4 ということになる。
0478デフォルトの名無しさん
NGNG勝手に他人のサイトを直リンク!!
「法的根拠はない!!」
「だから直リンしてます」
ハァ?
ネチケットも守れない痛い厨のサイト晒し
0479デフォルトの名無しさん
NGNG0480デフォルトの名無しさん
NGNG手元にあったFirebird 0.94ではデフォルトがDialect3になってますが>>473の言う通り
SELECT ID FROM A, B WHERE A.ID = B.ID
で通りますよ。
0481デフォルトの名無しさん
NGNG後で項目を増やすことになったら何が起こるか分からない
0482デフォルトの名無しさん
NGNGIBConsoleでCSVのデータ3万件を取り込めないよね?
それとも取り込めるの?
固定長形式なら取り込める。
Excelとか使って無理やり固定長形式に変換して
あとは外部テーブル作成してINSERTで一気に取り込めば
OKかと。
0484デフォルトの名無しさん
NGNGFieldA, FieldB, FieldC, FieldD, FieldE
FieldA,B,Cに主キーを設定
FieldA, FieldD, FieldEの条件式でデータを抽出したいので
別にFieldA, FieldD, FieldEにIndexを張ったのになぜか
Planで調べると主キーのほうが使用されて
検索が遅いのですがどうしてでしょう?
Oracleだと1秒未満の検索も
InterBaseだと5秒以上かかってしまいます
もしIndexの使い方がおかしければ、指摘して頂けないでしょうか?
0485デフォルトの名無しさん
NGNGorder by 句で FieldA, FieldD, FieldE を指定すればその index 使うと思うが。
0486デフォルトの名無しさん
NGNGSET PLAN
使ってindex使っているかどうか確認したら。
0487484
NGNGSet Planを使用してみました
が、結果は同じ、プライマリーキーを使って検索をしてしまいます
ちなみに新しく作成したIndexのActiveはTrue,uniqueはFalseで
FireBirdのバージョンは1.0です
0488デフォルトの名無しさん
NGNG>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;
0489484
NGNG>484です
>order by 句での昇順or降順方向とインデックスの昇順or降順方向と一致してる?
はい、再度確認をとりましたが一致しています
あれからいろいろと考え
プライマリーキーをDropIndexで削除(参照整合性のIndexのみ)したところ
ExceptionTimeが5.0348だったのが
0.0030(Indexは参照整合性のために作ったIndexを使用してるようです)になりました
これっていったいどういう事でしょう?
Indexの作り方が間違ってるのでしょうか?
0490484
NGNG他のTableもプライマリーキーをはずしたところ
10万件以上のTableですと明らかに検索スピードがアップします
もしかしてFireBirdってプライマリーキーは設定しない方がいいのかな?
(そんなわけないですよね(^_^;)
0491デフォルトの名無しさん
NGNGおいらなら普通は避けるけどな〜
その辺が関係してるのではなかろうか(試してないけど)
0492デフォルトの名無しさん
NGNGプライマリキーがどうこうじゃなくて、最適のインデックスを使ってくれないから
遅いってことだろ。
その現象が起こる、テーブルとインデックスの定義内容と SELECT 文提示してくれない?
こっちでも試してみたいから。
0493484
NGNGFIELD1 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 ,
);
0494484
NGNGcreate 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);
0495484
NGNGselect 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;
0496484
NGNGプライマリーキーの代わりにUNIQUEでFIELD1,FIELD2...としても
遅くなります
外部キーは省略しました
これに10万件、適当なデータをいれれば大丈夫かと思います
0497デフォルトの名無しさん
NGNGほとんど指示通りにやったけど495のselectは一瞬で実行されるよ(by Pen�V650MHz)
(ドメイン名とフィールド名が同じというのは気持ち悪かったのでそこだけ変えたけど)
0498デフォルトの名無しさん
NGNG0499デフォルトの名無しさん
NGNGその 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 のバグじゃないか?
0500デフォルトの名無しさん
NGNG0501484
NGNGだとするとなんだろう?
外部キーとプライマリキーや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を削除して対処しています
0502bloom
NGNGhttp://www.agemasukudasai.com/bloom/
0503デフォルトの名無しさん
NGNGだから >>495 のプライマリキー
>alter table test add constraint PK_TEST primary key (FIELD1, FIELD2, FIELD3, FIELD4, FIELD5);
を定義しないとちゃんと他のインデックスが使われる。
結論は >>499 にある。
0504デフォルトの名無しさん
NGNGよって Firebird の特有の問題ではなさそう。
0505484
NGNGはい、>499の結論は理解しています
任意のIndexを設定してそれを使用していることも確認しました
しかし、プライマリーキーであれ、任意で設定したインデックスであれ
なぜか、それを使用するとSelectの実行結果が遅く(10秒ぐらい)なってしまうのです
そこで、外部キー以外を全て削除して、再度実行すると一瞬(0.05秒ぐらい(^_^;)で結果が
返ってきます
DataBeseの検証なども行いましたが異常は無し
この不可解な事にどう理解すべきか頭を悩ませているところです
(Indexが増えれば更新が遅くなるのは理解できますが、Select文が遅いというのは
聞いたことがないもので・・・)
しつこくてすみません。
0506484
NGNGセレクト文は一緒です
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が使用されるが
かなり遅い
----------------------
0507484
NGNG[Field1,4,6]のindex有り
--------結果----------
[Field1,4,6]のIndexが使用され
速い!
----------------------
プライマリーキー有り
[Field1,4,6]のindex有り
--------結果----------
プライマリーキーが使用され
遅い
----------------------
プライマリーキー無し
その他のindex無し
--------結果----------
当然遅い
----------------------
どうやら、Indexを定義するときFieldの順番通りに
設定しないとどうもフルスキャンしてしまっているような・・・
それとも私の環境だけだろうか?
0508デフォルトの名無しさん
NGNGInterBaseはダメなんですか?
CSV取り込みのないDBって、使えないじゃん
0509デフォルトの名無しさん
NGNG最良のインデックスを選択しないのはオプティマイザの実装がショボイんだろうね。
↓のリクエストもあるようだし。
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.
0510デフォルトの名無しさん
NGNG>>482-483 を見よう
0512デフォルトの名無しさん
NGNGImport/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=
0513512
NGNG特に IBQuery ならば、以下の形式で出力できる。
・dBase III+
・MS Excell
・HTML
・CSV
・Raw
0514デフォルトの名無しさん
NGNGMarathon 使ってみ。
これに「Performance Analisis」っていう画面があって、実行したクエリのインデックスのリード回数が
グラフで表示されるから参考になるかもしれない。
「SQLTrace」っていうクエリのトレース内容が表示される画面もある。
0515デフォルトの名無しさん
NGNG>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 使っても遅くなる問題は未解決。だよね?
0516デフォルトの名無しさん
NGNG有益な報告ですね
どうもありがとう
0517484
NGNGMarathonは愛用しています
しかし、1.5(1.6?)というバージョンのせいか
Performance Analisisを有効にすることが出来ません
もしよければどこのオプションで有効にするか教えて頂けないでしょうか?
>515
はい、遅くなる現象は続いています
0518デフォルトの名無しさん
NGNG>しかし、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);
にして試してもらえないかな?
(関係ないかも知れないけど。)
0519484
NGNGそこに
'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);
データの構成上プライマリーキーを一つにすることは出来ませんでした
すみません
0520484
NGNGちょっと見ていってくれませんでしょうか?
>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を使用するだろうと期待していたのですが
こういう結果になりました。
これって普通?
0521デフォルトの名無しさん
NGNGuritrn => 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 が使われる。
0522デフォルトの名無しさん
NGNGちなみに
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 が使われる。
0523484
NGNGこの順番でIndexを作成すると検索スピードが遅くなるのですが
わたしだけなのかな?
>>>495 を "select * ..." にして実行すると、
ここの部分の変更を書き忘れてました
すみません
なんだか長々とスレを汚してすみません
0524デフォルトの名無しさん
NGNGIBX の TIBDataBase でわかんないプロパティがあるんだけど
AllowStreamedConnected って何?
ちなみに IBX は↓から落とした Del5 用の最新版5.04でつ。
http://codecentral.borland.com/codecentral/ccweb.exe/author?authorid=102
0526デフォルトの名無しさん
NGNG試せばわかるぞ。
AllowStreamedConnected = False
Connected = True
DBGrid に表示するようにしておく。
これで起動してみそ。
0527デフォルトの名無しさん
NGNGんですよー(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 ;!!
0528デフォルトの名無しさん
NGNG0529デフォルトの名無しさん
NGNGInterBaseに対して,SQLコマンドを対話型で入力できる
略してISQL
0530デフォルトの名無しさん
NGNGそれをいうなら "InterActive" じゃなくて "Interactive" だよ。
InterActiveSQL とかいう言語があるのかと思ったよ。
0531デフォルトの名無しさん
NGNGトリガーってアプリ/サービスに対してデータベースの変更を通知するのに
使うものだと思ってたけど
0532デフォルトの名無しさん
NGNGそれはイベント(post_event)のことでは。
トリガとは違うぞ。
>>527
どう動かない?
0533デフォルトの名無しさん
NGNG想像力の乏しい奴だな
0534デフォルトの名無しさん
NGNG0535532
NGNGcreate 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
なんてエラーが出る。
0536つまり
NGNGなぜかなー。わからん。
0537デフォルトの名無しさん
NGNGFirebird はバグの固まり。だけどソース付きなので修正できる。
InterBase は有料。
0538デフォルトの名無しさん
NGNGFieldの無い部分をNullで補うとうまくいきません
Oracleでは下の記述は通るのですが
FireBirdでは通りません
select
code fcode,
dateymd fdate
from table1
union
select
code fcode,
(null) fdate
from table2
;
どなたかわかるかた
おねがいします
0539デフォルトの名無しさん
NGNG列が同じ型でないとUNIONで結合はできませんでつ。
0540538
NGNG出来ないのですね
とても勉強になりました
0541デフォルトの名無しさん
NGNGcast(null as データ型) でどうだ?
データ型にはドメインは指定できないみたいだから、
組み込みデータ型で指定すること。
0542538
NGNG出来ました!出来ました!!
なるほど、、キャストかぁ〜
Unionの表現の幅が広がって
今まで以上にFireBirdを使えそうです
ありがとうございました
0543デフォルトの名無しさん
NGNGひろゆきは帰った?wwwww
0544デフォルトの名無しさん
NGNG【2ch】管理人のひろゆき氏がqbサーバで全レスIP記録の実験を開始
http://news2.2ch.net/test/read.cgi/newsplus/1042017485/
0545デフォルトの名無しさん
NGNG一部の信者はキチってことの二言に尽きますな
法律を少しでも勉強した者、
もっと言えば人並みの常識を備えた人ならば、
今回の敗訴は目に見えていたもんね
ネットなら何書いてもいいなんて暴論が罷り通るほど、
社会は冷徹でもバカでもないってことですな
やっぱ権利は濫用しちゃいけませんな
0546デフォルトの名無しさん
NGNG0547デフォルトの名無しさん
NGNG0548デフォルトの名無しさん
NGNG合法的なのを目指すなら、削除システムを実装するだけ。
アングラなのを目指すなら、流動的なDAT分散機能をつける。
0549デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 138720人 発行日:2003/1/9
年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。
そんなわけで、年末に予告したIP記録ですが実験を開始しています。
「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0550デフォルトの名無しさん
NGNGこの匂いを共有したい。
0551デフォルトの名無しさん
NGNGちょっと違うが今までがそんな感じだったんよ。
「(善意であろうが悪意であろうが)確認できない以上利用者が真偽を判断すべきであり、
要請があっただけで全て削除するべきではない。」
というのがひろゆきの主張。
嘘を嘘と〜の名言もこれに繋がる。
これに対して動物病院訴訟における地裁・高裁の判断は、
「外部から確認できない以上当事者が中傷だと主張し削除の要請をした場合は、管理人は削除すべき。」
今後はこれに倣い当事者側が中傷だと主張さえすればIP公開する必要が出るかもしれない。
(もちろん警察なり裁判所の正式な提出要請があってからになるだろうけど)
なお、書き込んだ者はその書き込みに対し責任を負うべし、ってのは賛成だが。
いずれにしろ善意の告発は難しくなると思われ。
0552デフォルトの名無しさん
NGNGその登場はずるい・・・ヽ(`Д´)ノウワァァン
0553デフォルトの名無しさん
NGNGおはよー
0554デフォルトの名無しさん
NGNG0555デフォルトの名無しさん
NGNGインポなのかと、ほんとまじで悩んだYO
でもフェラしてあげると、立たないのにすごい気持ちよがって、
「入れたいよ〜」って言ってたけど、立たないから無理だった。
「一人で出していい?」って言われたけど
「一人でいっちゃダメ!!」っていってから、その日はあきらめたんだけど、
その言葉が良かったらしくて、次に会ったときは、舐めなくてもギンギンに立ってました(笑)
なんかその日以来、オナニーもせずずっと我慢してたんだそうな・・・
http://freehost.kakiko.com/hangyaku
0556デフォルトの名無しさん
NGNG0557デフォルトの名無しさん
NGNG0558デフォルトの名無しさん
NGNGスレ救出隊って、「スレを削除されないように活動する人たち」って
意味でしょうか?
0559デフォルトの名無しさん
NGNGSETTING.TXTから分離して処理してる様なんだが。
0560デフォルトの名無しさん
NGNGだったら、全板強制IDにして暗号キーだけ保存しておけばいいんじゃないの?
0561デフォルトの名無しさん
NGNG0562デフォルトの名無しさん
NGNG0563デフォルトの名無しさん
NGNGIDにIPを出すことを要求します
ってスレ立てておながい
0564デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0565デフォルトの名無しさん
NGNGで、相当な言論規制がされたわけだが。
0566デフォルトの名無しさん
NGNG荒らすヤツは荒らすし、白化も黒化も結局いるわけだ。
素人にはお勧めできなくなったってこったな。
0567デフォルトの名無しさん
NGNG0568デフォルトの名無しさん
NGNG0569デフォルトの名無しさん
NGNG【2ch】2chがオークションサイト立ち上げ?
http://news2.2ch.net/test/read.cgi/newsplus/1036941670/
0570デフォルトの名無しさん
NGNG0571デフォルトの名無しさん
NGNG0572デフォルトの名無しさん
NGNG0573デフォルトの名無しさん
NGNG0574デフォルトの名無しさん
NGNG0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNG0577デフォルトの名無しさん
NGNG倉庫番 ★≠BG ★≠夜勤 ★
ということにしておきたいみたいだけど、バレバレで萎えるw
0578山崎渉
NGNG0579デフォルトの名無しさん
NGNG何事にもむかついてたまらないっ!
生理前って、ブルーになったり、いらいらしたり。。。
ほんと勘弁してって感じ。
0580デフォルトの名無しさん
NGNG0581山崎渉
NGNG0582デフォルトの名無しさん
NGNG質問させて下さい
いつも同じレコードで
下記のようなエラーがでるけどどうしてでしょう?
ISC ERROR CODE:335544321
ISC ERROR MESSAGE:
arithmetic exception, numeric overflow, or string truncation
Cannot transliterate character between character sets
データが壊れてる?
0583デフォルトの名無しさん
NGNGキャラクタセット指定してないからでは?
ってかどういう環境でやってるのか提示せよ。
0584582
NGNGなんとか解決できました
原因は文字の連結を
||ではなく+でやっていいたことによるものでした
ご迷惑おかけしてすみません
プロシージャを書いてて思ったのですが
OracleのSubStrような機能はないのでしょうか?
0585デフォルトの名無しさん
NGNGされているのです。
Windows版の場合なら、ib_udf.dllというファイルがIBを入れたディレクトリ
のどこかにある筈です。これの中に拡張関数が入っていて、開発者側
で使いたいものだけDBに登録して使用します。
DBへの登録方法などはIBのドキュメントに載っています。
関数の仕様に多少の制限はありますけど、substrやstrlenなど
ある程度は揃っています。
0586582
NGNG登録も付属のsqlファイルで出来ました
ありがとう
0587デフォルトの名無しさん
NGNG配列を使いたいのだけど
ヘルプを見た限りではのっていないような・・・?
もし出来たら宣言の方法などもふまえて
教えていただけないでしょうか?
0588デフォルトの名無しさん
NGNGSQL文での配列操作はできなかったはずだけど。
配列使うならAPI使うしかないよ。
0589587
NGNGアクセス方法も簡単だと思ってました
API...今の私には敷居が高そうです(^_^;
(FireBirdでストアドのパッケージが使るようにならないかなぁ〜)
0590デフォルトの名無しさん
NGNG新規のテーブルに割り当てたいけど
Oracleの
create table newtable as (select * from oldtable where field <> 0);
みたいなSQLはFireBirdではどう書くのでしょう?
0591デフォルトの名無しさん
NGNG>Oracleの
>create table newtable as (select * from oldtable where field <> 0);
それに相当するような機能はないよ。
やるとしたら、oldtable と同じ構成の newtable を作ってから、
insert into newtable select * from oldtable where field <> 0;
でやるしかないだろうね。
0592山崎渉
NGNG0593デフォルトの名無しさん
NGNGUDFってどこかにないものでしょうか?
0594デフォルトの名無しさん
NGNGそんなのないと思う。
月末の割り出し方ならとりあえず、
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)
0595593
NGNG月末をもとめるときは
そのようなやり方をするのですね!
目から鱗です
extract...
これも有効に使わせて頂きます!
(実は年間の売上を求めるストアド作成中で
早速extractを使いたいと思います)
それともう一つ二つ質問させて下さい
今、FireBirdのHPをみて1.5のβが出てるようなのですが
何が変わっているのでしょう?
また、現在Zipで配布されているようで
今使用しているFireBird(1.02)に上書きしてインストールする
のでしょうか?
0596593
NGNGExtractをFireBird1.02でためしたところ
ERROR: expression evaluation not supported
とエラーが出てデータの抽出が行えません
何か設定を見逃しているのでしょうか?
0597デフォルトの名無しさん
NGNGオレも FB1.02 だけど問題ないけど。(Win2000)
エラーが出たときのSQLステートメントは?
とりあえず isql で以下でテストしてみるとか。
select extract(year from cast('now' as date)) from rdb$database;
0598593
NGNG原因は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を巡回して今更気づきました(^_^;
0599デフォルトの名無しさん
NGNGどこかで使えるっていうのを見たのですが
思い出せずやってみたのですが出来なくて。。。
過去ログにextract等の関数をまとめたサイト、
もしあれば教えて頂けないでしょうか?
0600デフォルトの名無しさん
NGNG↓訂正
過去ログにextract等の関数があがっていますが
このような関数ををまとめたサイト、
すみません
0601デフォルトの名無しさん
NGNGtimestamp型のデータフィールドに対して、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'
御教授おながいします。
0602デフォルトの名無しさん
NGNGcast('2002/04/10' as date)
でいいのでは?
0603601
NGNGselect * 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ですが
0604デフォルトの名無しさん
NGNG試したが IB じゃダメみたいだね。FB ならいいんだけど。
だけど cast('4/10/2002' as date) なら OK だったから
これでやるしかないんじゃないかな。ダメ?
この形式なら FB でも OK だから
もし今後 FB に移行する際には修正しなくていいからね。
0605601
NGNGありが�d
でも、うまくいかないです。
604は↓ですよね?
select * from hoge where cast(hogedate as date) = cast('6/08/2002' as date)
0606デフォルトの名無しさん
NGNGIB5 だと 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;
で確認。
0607デフォルトの名無しさん
NGNGisql で確認。
0608601
NGNGISQLで試してみたんですが、Conversion error from string "13/07/2002"
とかでちゃいました!'2002/07/13'とすればNullが返ってくる、そんなところです。
とりあえず、(hogedate as char(10)) = '6-AUG-2002')でやろうかなと思ってます。
付き合ってくれた人ありがとでした。
0609デフォルトの名無しさん
NGNG>ISQLで試してみたんですが、Conversion error from string "13/07/2002"
そりゃそうだよ。これだと 2002年13月7日ということだから。
もう一度 isql で 7/13/2002 で試してみ。
0610601
NGNGでも
Nullですた。
0611デフォルトの名無しさん
NGNGスマソ、今テスト環境がないからクソレスかもしれんが、
'2002-07-13'
だとどうよ?
0612デフォルトの名無しさん
NGNG>Nullですた。
>>608
>とかでちゃいました!'2002/07/13'とすればNullが返ってくる、そんなところです。
Null ってことは日付形式がダメなんじゃなくて、
cast(hogedate as date) = cast('6/08/2002' as date)
が一致してないってことなんだ?
であれば、形式は "年/月/日", "月/日/年" でもいいじゃん。
一致しないのは別の問題では。
0613デフォルトの名無しさん
NGNGUNION句を使って
複数のテーブルを結合したいのですが
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句でのソートは認められないのでしょうか?
0614デフォルトの名無しさん
NGNGFBでOKってことはDialect3?
0615614
NGNG0616デフォルトの名無しさん
NGNGIBのデータベースを作ってそこに約40GBのテストデータを
入れてみるというテストをしているのですが、約2GBくらい入れたところで
毎回処理が止まってしまいます。
IB5.6っていうのは2GB以上のデータというのは流し込めないのでしょうか?
環境としては
Redhat6.2
InterBase5.6
を使ってるのですが、もしかしてLinuxが悪さしてるとかってことも
あるんでしょうか?
質問ばかりですいませんが分かりましたら是非ご教授お願いします
0617デフォルトの名無しさん
NGNGLinuxってたしか2.4系のカーネルじゃないと2GB以上のファイルって
扱えないんじゃなかったっけ?
Redhat6.2ってカーネルいくつ?
0618デフォルトの名無しさん
NGNG0619デフォルトの名無しさん
NGNG0620デフォルトの名無しさん
NGNGRed Hat 6.2 はこの3月でアップデート終了だ。
0621616
NGNGレスありがとうございます。
どうやら調べたらカーネルが2.2くらいだったので変更しなきゃだめなんすね
ほんとすいませんでした
後上乗せで申し訳ないのですが5.6から6に変わったときの変更点って
どこにのってるんでしょうか?
JapanのボーランドのHPには特徴って部分でちょこっとだけ載ってましたが
あんだけなんでしょうか?
もし載ってるサイト等ご存知でしたら是非そこもお願いします
0622デフォルトの名無しさん
NGNG「InterBase5から6への移行ガイド」
http://bdn.borland.com/article/0,1410,26417,00.html
この辺かなぁ。
0623デフォルトの名無しさん
NGNG移行するのであれば Firebird にしたらどう?
客の指定なら仕方がないけど、自由に選べるのなら Firebird をお勧めします。
0624デフォルトの名無しさん
NGNG死亡か?
0625デフォルトの名無しさん
NGNGメール送っても返事が無い。だれか詳細を...
0626デフォルトの名無しさん
NGNGhttp://www.borland.co.jp/news/ib7_ja.html
0627デフォルトの名無しさん
NGNGとのパフォーマンスを比較した方はいないでしょうか
おおよそで結構ですので、お教えいただけると
ありがたいのですが。
0628デフォルトの名無しさん
NGNGここはInterBaseのスレなんですけど。
0629デフォルトの名無しさん
NGNG米国のサイトで英語版の体験版が落とせるらしいが・・・・
0630デフォルトの名無しさん
NGNG俺はバージョンアップに付き合いきれんのでDelphi5のまま。
SMP対応らしいからPen4 3.06Gで動かしたときの様子が知りたいね。
0631デフォルトの名無しさん
NGNGOracleの for update (nowait)
のようなものはない?
イベントアラーター使わんと駄目なのかな?
って、ストアドとトリガーしか使えなかったね
イベントアラーター・・・
う〜ん・・・
0632デフォルトの名無しさん
NGNGOracleのようなSELECT FOR UPDATEは無いがロックしたい行が特定出来るなら
UPDATE SET FIELD1 = FIELD1 WHERE xxxxxx
と最初にする事で明示的にレコードロックはかけられる。
イベントアラータ使ってマニアックに実装するよりこちらが吉。
0633デフォルトの名無しさん
NGNGなるほどその手があったか!
早速試してみます
返信ありがとう
0634デフォルトの名無しさん
NGNGDate型(TimeStamp)のエンコード、デコードって出来ます?
MarathonのSQL Code Snippets のストアドで
出来そうな気がしたので
それらしきストアドをコピペでコンパイルしたけど
'そんなストアドないよ'見たいなエラーで出来ませんでした
そのデコードを使ってやりたいことは
TimeStamp型のMonthをインクリメントしたいのですが
他にいい方法がありますか?
Dayのインクリメント、デクリメントは直接出来るようですが・・・
0635デフォルトの名無しさん
NGNGトランザクションをコミットする方法にCOMMITとCOMMIT RETAINがあるのですが
結果セットを維持する必要があるとき以外はCOMMITを使用し、維持する必要の
あるときのみCOMMIT RETAINを使用するべきでしょうか?
例えばSELECTを発行し、その内容を使用して処理を行うというありふれた場合でも
1.SELECT発行 → 処理 → COMMIT
とする方法と
2.SELECT発行 → COMMIT RETAIN → 処理
とする方法の二つがあると思うのですが、どちらがより望ましい方法なのでしょうか?
効率、保守性等も含め、アドバイスお願いします。
0636をた
NGNG何らかのソートをかけて、
上位 10件だけを 抽出するには どうしたらいいでしょうか?
をしえて君ですみませぬ。
0637をた
NGNG0638デフォルトの名無しさん
NGNGNew Features In InterBase 6.5
http://community.borland.com/article/0,1410,28107,00.html
の "The ROWS Clause" のことかな?
(IB6.5 は使ってないから知らないけど。)
Firebird なら >>414 参照。
0639をた
NGNGレスありがとうございます。
しかし 当方、 IB5.6 でございまして・・・・ (わーーーん)
0640デフォルトの名無しさん
NGNG思い切って Firebird に移行したらどう?
(ちなみにオレも IB から Firebird に移行している。仕事でも使ってるし。)
IB5.6 の DB ファイルそのまま扱えるし、機能的にも IB5.6 より上だし。
(商用)IBのような同時接続の制限もないからいいと思うが。
0641デフォルトの名無しさん
NGNG限定的にしか動かないし、IB に対する拡張部分はバグが多いし。
ソースをメンテナンスするだけの余力がある人だけが使うべき。
やりたいのは IB/FireBird を使うことなのか?それとも DB を使ったアプリを作ることなのか?
前者なら FireBird でも良いけど、後者なら黙って IB をアップデートするか
他社の(サポートつき)DB を買いなさい。
タダが一番高いんだよ。
0642デフォルトの名無しさん
NGNG某日社員?
俺 Firebird 使ってるけど安定して使えてるが。(Win版)
もちろん客先にも導入してもらってる。
>FireBird だけは止めたほうがいいよ。
使えるか使えないかは普通テストして決めるだろ?
使えそうなら使ってみればいい。
Firebird に移行した後でも、使ってく中で、致命的なバグを発見したとかでやっぱ
Firebird はダメだと思ったらそのときにはまた InterBase に切り替えればいい。
互換性が高いんだから、そのまま、もしくは少しの修正で移行できる。
>限定的にしか動かないし、IB に対する拡張部分はバグが多いし。
大分 Fix されてるようだし、バグってる機能使わなきゃいいだろ。
> 他社の(サポートつき)DB を買いなさい。
高いサポート料支払っても問題解決しないから結局は自己責任なんだよ。
0643デフォルトの名無しさん
NGNG禿同。
つか、ソースがあれば最悪でもどうにかしようがあるから漏れはFBにした。
IBも選択肢に入ってたんだけど、10年ぐらい使い倒しそうなシステムの開発で、
10年後に某がくたばってる可能性を考慮するとオプソ優位の判断になっちゃったんだよね。
0644デフォルトの名無しさん
NGNG> 限定的にしか動かないし、IB に対する拡張部分はバグが多いし。
具体的に書けなきゃただのアホウだな。
0645デフォルトの名無しさん
NGNG0646デフォルトの名無しさん
NGNGIBExpert
www.ibexpert.com
0647デフォルトの名無しさん
NGNG仮にFireBirdのほうがバグが多いとしても。
http://sourceforge.net/tracker/?atid=109028&group_id=9028&func=browse
こういう形でバグを回避することができるだけでもFireBirdを選ぶ価値があると思うけど。
InterBaseにどんなバグがあるかなんて知る術ないしね。
0648デフォルトの名無しさん
NGNG徐々に認知度が上がってるのかな
使う人が増えればそれだけ情報も集まるし信頼性も上がるよね
(バグやその回避策も分かるようになるだろうから)
ここで標語
『Firebird みんなで使えば 怖くない』
0649デフォルトの名無しさん
NGNGストアドプロシージャでドメイン使える?
それっぽい構文で
いろいろ試したけど無理だったので・・・
出来たら最高なんだけどなぁ〜
0650デフォルトの名無しさん
NGNG使えないよ。
ドメイン使ってるテーブルのフィールドと同じ型の渡したり、返したりできないと不便だよね。
ドメイン修正したら関連しているストアドも修正しなきゃならんから。
0651649
NGNGやっぱり駄目か〜
そのうち独自の拡張で
ストアド・トリガーでドメインOK!!
ドメインを変更した時、
それを使用しているストアドやトリガーをリコンパイル!!
してくれればいいな・・・
0653デフォルトの名無しさん
NGNGまじですかい!!
フリーの奴も?
IBConsole→Marathon→IBQueryと渡り歩いてIBExpertに
落ち着いている身にとっては朗報です。情報さんくす!!
0654デフォルトの名無しさん
NGNG残念。有料。かなり高い。
>>652 あーこらこら。宣伝は慎むように。
0655デフォルトの名無しさん
NGNGIBExpertにしかない機能等はあるの?
Marathon、全然アップデートしないから
もし使いやすかったらIBExpertの購入も検討したいのだが・・・
0656デフォルトの名無しさん
NGNGInterBaseのSQL命令で
SELECT * FROM (
SELECT DATE1 FROM DATA_TABLE
UNION ALL
SELECT DATA2 FROM DATA_TABLE
);
みたいにFROMのなかでSELECTって書くことできないのでしょうか?
初歩的ですいませんが是非ご教授お願いします
0657デフォルトの名無しさん
NGNGビューやストアドを使えばうまく行くけどねー
0658デフォルトの名無しさん
NGNGそのまんまなら
SELECT DATE1 ADATE FROM DATA_TABLE
UNION ALL
SELECT DATE2 ADATE FROM DATA_TABLE;
でいいんだけどー
0659デフォルトの名無しさん
NGNG教えておくれ
Firebird1.0でドメインのキャラクタセットをnoneから
他のものに変更したいのだけど
MarathonやらIBExpertやらではうまくいませぬ
これって仕様?
0660デフォルトの名無しさん
NGNG今IBExpertでやってみたけど、
キャラクタセットが選択可能で、一見できそうなんだけど、
コンパイルしたらダメだった…・
よく見たら、ALTER DOMAINではデフォルト値の削除や変更、
チェック制約の削除や変更、ドメイン名、データタイプの変更が
できるようだけど、キャラクタセットの変更はサポートされていないみたい。
ドメインを削除して、再定義するしかないのかもしれないけど、
どっかのテーブルでそのドメインが使用されていたら、削除できないので
かなり厄介(テーブルを削除しなければならない?)。
なんかいい方法はないのかな?
>>654
652は宣伝じゃないだろ。URLも貼ってないし、価格もその他の情報も
一切記述していない。
大方また聞きか、直接問い合わせたんじゃないのか?
0661デフォルトの名無しさん
NGNG0663デフォルトの名無しさん
NGNG教えてたもぉー
ストアドの中でトリガーの有効、無効を切り替えたいのですが
ALTER TRIGER HOEHOE INACTIVE;
って書き込んでコンパイルすると
「ぼけぇー、うざいんじゃワレ!!そんなの書き込んでも無駄無駄ぁー
ALTERなんて言葉、シラネーヨ!ぺっ!!」
というような警告が出ます
クライアントでストアド呼び出す前後にオンオフ
するしかないのでしょうか?
0664デフォルトの名無しさん
NGNGFireBird1.0つかってんだけど。
テーブル取得(SELECT * FROM TABLE)するのにSQLServerで1秒ちょっとで終る処理が、
同構成のテーブルで26秒くらいかかる。。
0665デフォルトの名無しさん
NGNGFireBird 使わなきゃいいだろ?
0666デフォルトの名無しさん
NGNGWinXP の場合は遅くなるらしい。(WinMe も?)
データベースファイルの拡張子を GDB 以外にするなどの対策が必要とのこと。
0667デフォルトの名無しさん
NGNGこれに "GDB" 拡張子が含まれているみたい。
0668デフォルトの名無しさん
NGNGデーターベースのCharSetをShiftJIS
ID(Code)などの二バイト文字を使用しない
ドメインのCharSetをASCII
二バイト文字を使用する
ドメインのCharSetをShiftJIS
このような設定でこれから設計していこうと思っています
しかし、CharSetの中にUNICODE_FSSがあり
もしかして全てこれに統一出来るのかな?と思っています
皆さんは今のシステム、CharSetをどのように定義していますか?
0669デフォルトの名無しさん
NGNGバカ
0670デフォルトの名無しさん
NGNGフム、情報あんがと。どっかに載ってる情報なのかな。
IBOleDb使ってるんだけどどっかドキュメント読み飛ばしてたかな。。
0671NullPointerExceptionはぬるぽ
NGNG666に関連することだけど、XPとMeの場合、ファイルを復元する機能があるため、
これを無効にしてしまえばよいです。
マイコンピュータ - 右クリックでプロパティ - ファイルの復元タブ
で、ファイルの復元機能のチェックをはずす(手元にXPがないので、逆に復元機能を
有効にするのチェックかもしれない。いずれにせよ、デフォルトの状態では復元が
有効になっているので、デフォルトではないようにすること。スマンコ)と、
復元が無効になってスピードがアップする(かもしれない)。
関係ないが「しこたま」って、やっぱり方言なのかなぁ?
漏れも使ったことあるし、ゲゲッてみたら秋田、山口、熊本などいろんなところでの
方言で、あまり地域性がないみたい。
0672NullPointerExceptionはぬるぽ
NGNG→「…ググッてみたら」
情けない。煎ってきます。
0673デフォルトの名無しさん
NGNGされたv1.0 を落としてインストールをしたのですが、IBGuardの起動や
IBConsoleでの接続後にログを見ると、
「レジストリ情報が不足しています。
設定を確認してください。 」
というメッセージが出てきます。これにはどう対処したら良いのでしょうか?
Windows2000(SP3) WI-T6.2.796 FireBird1.0
0674デフォルトの名無しさん
NGNG( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←>>671-672
0675デフォルトの名無しさん
NGNGInterbase SQL Access97 Lotus123
0676デフォルトの名無しさん
NGNGオラクルと比べてものすごく時間かかるね。
planとか見てもindexは使ってるようだし
むぅ・・・
パフォーマンスを上げるために
ストアドで処理したりしてるけど
他のみんなはどうしてる?
それともオラクルよりも遅いのは私だけ?
0677デフォルトの名無しさん
NGNGものすごくってどの程度のこと?
ほかの人にも言えることだけど、そもそもオラクル持ってるのに
何でわざわざ InterBase 使ってるの?
オラクルの方がパフォーマンスがいいならオラクルにしとけばいいじゃん。
0678デフォルトの名無しさん
NGNGどんな条件下でどんなテーブルをどういうふうに結合したのか何も書かずに
>オラクルと比べてものすごく時間かかるね。
こんな結論出されても
(゚Д゚)ハァ?
としか言えないわけで。
そもそも、ストアド化したところでテーブルの結合自体にかかる速度は
変わるはず無いじゃん。
0679デフォルトの名無しさん
NGNGFirebirdだとコストがかからないので、十分乗り換え理由になると思うが。
>>676
用途にもよるけど、パフォーマンスをOracleと比べられると厳しいかも。
0680デフォルトの名無しさん
NGNG挿入するにはどういうSQLを書けばいいのでしょうか?
以前BDEを使っていた時は TQuery.SQLに
INSERT INTO hoge VALUES (:FDATE)
をAddして
TQuery.Params.Items[0].AsDateTime := TDateTime型変数
とやれば良かったのですが。
0681デフォルトの名無しさん
NGNG0682デフォルトの名無しさん
NGNGhttp://php.weblogs.com/oracle_mysql_performance
でオラクル等の比較を教えてもらいましたが、
参考になりませんかね?
mySQL というのもありかな?
0683デフォルトの名無しさん
NGNGですが、IBXを使用した例が詳しく載ってますでしょうか?
ほとんどの書籍がBDEなので、、、
0684デフォルトの名無しさん
NGNG続編の「データベースLinux―Java ServletによるWebサーバー構築 編」
に実質9ページ程載ってるだけ
「Firebird オープンソースデータベースの導入と運用の実際」
の方は18ページ載ってるけど
サンプルソースにかなりのページを割いているので
情報量が倍もあるかどうかは読む人によるかと
0685デフォルトの名無しさん
NGNGttp://www.borland.co.jp/interbase/cases/interbase_1800serveem_case.pdf
ここまでべた褒めされるのはうれしい事なのだろうけど、その分狙われる可能性
も高くなる?(もちろん穴はふさいでセキュアな環境使用してるだろうけど。)
0686683
NGNGレスありがとうございます。
そうですか、大受氏の本と同程度ですか。
大受氏のほうは持っているのですが、一つの例が申し訳程度に載っているだけなので。
ヘルプと英文しかないですかね?
0687山崎渉
NGNG0688デフォルトの名無しさん
NGNG1件のデータ(更新クエリ30〜40件)を登録すると
メモリを200K〜300K程喰ってしまいすぐに限界がきます。
UPDATEやINSERTを行うと膨大なメモリを喰うのは
InterBaseの仕様でしょうか。それともプログラムが悪いのか・・・
もしこれが仕様ならば解決策はあるのでしょうか?
0689688
NGNG0690デフォルトの名無しさん
NGNG問題があるとしたら Java 側(JDBC)だろ。
まずは環境やそのコード等を書くべし。
0691山崎渉
NGNG( ^^ )< ぬるぽ(^^)
0692山崎渉
NGNG( ^^ )< ぬるぽ(^^)
0693688
NGNGその後調べてみましたがさっぱりわかりませんでしたので
ソースコード書きたいのですが、結構長くなってしまいますが
検証してもらえますでしょうか・・・お願いします
0694デフォルトの名無しさん
NGNG>ソースコード書きたいのですが、結構長くなってしまいますが
分割してレスしなよ。
0695688-1
NGNG恐らく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;" );
0696688-2
NGNGwhile( 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" ) );
}
0697688-3
NGNGthrows 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;
}
}
0698デフォルトの名無しさん
NGNGpublic 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;
}
}
}
0699688
NGNGどこを変えればメモリの消費など抑えられるか
等御分かりいただけましたら是非お願いします
0700688
NGNG補足ですが688-1でかいた
for分500回回してるところが実際人数分
処理を行うところです
0701デフォルトの名無しさん
NGNG>stmt = conn.createStatement();
conn.prepareStatement(sql); 使った方がいいよ。
>688-2
接続close前に、 rs.close() と stmt.close() を入れるべき。
>688-3
>driver = new interbase.interclient.Driver();
これは必要ない。
これで試してみて結果報告してね。
0702デフォルトの名無しさん
NGNG0703デフォルトの名無しさん
NGNGチェックするにはどうすれば?
マクロか?
0704デフォルトの名無しさん
NGNG間違えました。すいません
0705デフォルトの名無しさん
NGNG1:フリーウエアと一緒に配布する場合
2:商用アプリケーションと一緒に配布する場合
3:インターネット上のサーバーで使用する場合
これらのときでも、自由に使えるのでしょうか?
0706688
NGNGレスありがとうございます。
・rs.close() と stmt.close()
・driver = new interbase.interclient.Driver();
の部分は修正しましたが改善されませんでした。
prepareStatement(sql)に関しては、こちらの例が悪かったです。
分かり易くするために簡単なクエリにしましたが、
実際に実行する複数のクエリは、
格納するテーブルも値もバラバラなので
prepare〜はどうも使えそうにありません。
0707デフォルトの名無しさん
NGNGスレ違い…ここはFirebirdスレじゃない
それと…マルチ反対
0708山崎渉
NGNG0709デフォルトの名無しさん
NGNGFirebirdのODBCドライバはバイナリ対応してないものばかりで。
0710山崎渉
NGNGピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0711デフォルトの名無しさん
NGNG0712動画直リン
NGNG0713デフォルトの名無しさん
NGNGそれでも使う?
0714デフォルトの名無しさん
NGNG5.6 , 6 , 6.5 , 7 について
5.6は現在使用中だ。
0715デフォルトの名無しさん
NGNG0716デフォルトの名無しさん
NGNGボーランド?InterBase?7.1 マイクロソフトのサポートを広げる?.NETフレームワーク
ボーランド?マイクロソフトを支援するデータ・ベース・ソルーション?ウインドウズ・サーバー2003
スコッツヴァリー(カリフォルニア)。― 2003年6月17日: ボーランドSoftware株式会社
(ナズダックNM: BORL)は今日ボーランドを紹介しました?InterBase?7.1、マイクロソフト
のサポートを備えた高機能およびクロス・プラットフォームのembeddableなデータ・ベース
ウインドウズ・サーバー2003。この最新のボーランド・データ・ベース提供は、マイクロ
ソフトのための開発をサポートする会社のコミットメントを強調します?.NETフレームワーク、
また設計から配備まで企業にアプリケーション・ライフ?Eサイクル全体の全体にわたる選択
の自由を供給します。
「重要な実行および生産力アップグレードの提供に加えて、InterBase 7.1は
マイクロソフト.NETフレームワーク開発のために開発者に代替データ・ベース
を供給します」とジョン・アーサー(ボーランドのデータ・ベース解決策の管理者)が言いました。
「ボーランドはInterBase技術をサポートすることを約束?オます。また、この最新のバージョンは、
会社の.NETフレームワーク用のアプリケーション・ライフ・サイクル経営戦略を増強します。」
0717デフォルトの名無しさん
NGNG衝突回復を提供し、分散アプリケーション内に埋め込むことに上手に適しています。InterBaseは
さらに、多数のユーザとそれを?pォ能で、ビジネス重大なアプリケーションに対する大きな選択
にして、マルチプロセッサー・サポートおよび精巧なアーキテクチャーを提供します。InterBase
はウインドウズ、Rをサポートします:Linux、?またSolaris?ボーランドDelphi?のような開発環境
と同様にプラットフォームも、ボーランドKylix?、マイクロソフト視覚的なスタジオ?また他のもの。
InterBaseコンソール実行モニター支援開発者および管理者への増強は、よりよくデータ・ベース・
サーバー・プロセスを理解します。マネージャーはデータ・ベース使用法および実行へよりよい
視界を持っています?ログイン情報および活動を含んでいること?またデータ・ベース・プロセスの
コントロール。
完全に従順なJDBC2ドライバーを特色として、InterBase 7.1はボーランドJBuilderを使用すること
を開発者にとってより容易にします?また他のJava?高機能適用を作成し展開させるために開発環境
を統合しました。InterBase 7.1はさらに超縫うように進み許可するインテルを支援します?
プロセッサーを通って多数のスレッドを移動させるIV顧客。さらに、InterBase 7.1はInstallAnywhere
を特色とします?、インストール・プロセスを単純化するグラフィックのインターフェース。
0718デフォルトの名無しさん
NGNG作っおりまして、各アイテムを
【アイテム情報】
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以上のテキストに対応させるため、
テキストを分割したときの通し番号になります。
(続く)
0719718
NGNGテキストを取り出すときは、
select body_text
from item_text
where id = :Id
order by serial_num;
なんちゅう具合にしてかき集めます。
このようにitem_textテーブルはインデックスを設定できない
性質のためか、接続後、最初の検索で禿しく時間がかかります
(ヘタすれば1分ぐらい)。
なんとかインデックスを設定できるようにデータの持ち方を工夫
するしか高速化の方法はないんでしょうか。
0720デフォルトの名無しさん
NGNG>性質のためか、接続後、最初の検索で禿しく時間がかかります
>(ヘタすれば1分ぐらい)。
環境がわからんけど、 WinXP 使ってるなら .gdb の問題かも。
テキスト分割って面倒じゃないかい。オレならテキストblob にするだろうね。
ところで IB6 オプソ版使わなきゃならん事情がない限り、Firebird に
するべきだと思うよ。(とりあえず V1.0.3 がお勧め)
IB6 オプソ版はかなりバグがあって、Firebird チームがそれらのバグを
修正してるから Firebird の方が安定してるよ。
(知ってると思うけど Firebird = IB6 オプソ版を継承)
0721718
NGNGレスさんくす。このスレまだ機能してんのか心配だった。(藁
> 環境がわからんけど、 WinXP 使ってるなら .gdb の問題かも。
すんまそん。WinXPでもWin2000でもやっとります。WinXPの方が多少時間が
かかるような気もします。例のGDB問題かも知れませんが、そんなに気になる
ほどでも。ちなみに、DBファイル本体だけは「.IB」にしてあります。
> テキスト分割って面倒じゃないかい。オレならテキストblob にするだろうね。
面倒です。(藁
でもごく短いテキストとかもあったりするので、BLOBよりは効率いいかなー、
なんて思ったりして…。ま、今のマシンパワーを考えるとそんなもん屁みたいな
もんでしょうが、技術屋の性(さが)ってヤツでしょうか。
> ところで IB6 オプソ版使わなきゃならん事情がない限り、Firebird に
(以下略)
がびーん。バグいっぱいあんの!?公開されているソースはビルドできたもん
じゃないってのは聞いたことあるけど。バグもいっぱいあんの?
IB6オプソ版使っているのには特に理由はないんですがね。趣味のプログラムだし。
ゆくゆくはFBへの移行を検討してはいましたが。FBの方が安定してるってのなら
そろそろ移行するか…。
現行のIBXがいつまで使えるかが心配。FBXとか提供されないかな…。
0722デフォルトの名無しさん
NGNG> このようにitem_textテーブルはインデックスを設定できない
> 性質のためか、
意味ワカランぽ。idに普通にインデックス設定すればいいじゃん。
つーかネットワークトラフィックの観点からは、VARCHAR(32765)は激しく
無駄の多いテーブル設計だと思われ。
VARCHAR か BLOB にするかはこの辺参照。
ttp://www-1.xdsl.ne.jp/~aj01/rdb/InterBase/ip_ib_strings_j.htm
0723718
NGNG丁寧ぶるの疲れた。
>>722
有用な情報サンクス。
インデックスに関してはわかってくれんでよろし。オレの設計が
うんこだってことはわかった。(苦藁
もうBLOBに変更する気満々で、いろいろと調べているんだが、
示してくれたURLの情報にあるような情報がドキュメントに見当たらなくて
四苦八苦している。ページサイズ(=セグメント?)と最大データサイズの
関係とか。
参考にしているのは、BCB6付属のIB6用ドキュメント。BLOBに関しては
わけのわからんことばかり書いてある。要するに、TIBQueryでストリーム
生成して入出力すればそれでいいんか?くそ、わかんねー。
0724デフォルトの名無しさん
NGNG>参考にしているのは、BCB6付属のIB6用ドキュメント。BLOBに関しては
>わけのわからんことばかり書いてある。要するに、TIBQueryでストリーム
>生成して入出力すればそれでいいんか?くそ、わかんねー。
http://pc2.2ch.net/test/read.cgi/tech/1035278719/701
を参考にしてBCBヘルプで調べてみては。(ちなみにオレのレスじゃない)
>>722
>つーかネットワークトラフィックの観点からは、VARCHAR(32765)は激しく
>無駄の多いテーブル設計だと思われ。
1 文字しか入ってないのに 32765 文字分にパディングして受け取るんかい?
IB/FB ってそんなバカじゃないと思うがどうよ。
0725デフォルトの名無しさん
NGNG疑うならパケット見れ。
でもIB6.5=<はその辺解決してたような気もする。
0726デフォルトの名無しさん
NGNGオープンソースだから無条件で「よい」といえない現実が、FireBird には待っている。
SMP 環境でのスケーラビリティはおいこされちゃったしな。
0727724
NGNG>疑うならパケット見れ。
早速 IP パケットを見てみたけど、あなたの言う通りでした。疑ってごめん。
0x00 0x00 ・・・ でパディングされてるね。
ちなみに CHAR(***) にした場合は 0x20 0x20 ・・・ でパディングされてた。
IB5.6 と FB1.0.3 とも同じだった。
> でもIB6.5=<はその辺解決してたような気もする。
暇なときにでも確認してもらえるとうれしい。
0728デフォルトの名無しさん
NGNGhttp://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.
とある。
和訳しろとかゆーなよ。
0730デフォルトの名無しさん
NGNGできなきゃ依頼しる。
0731718
NGNGオレもやる。
さらにIB6のドキュメントを読みふけってみた。
どうやらオレは勘違いをしていたらしい。
ページサイズとは、データベースを作成するときに
指定するもの、セグメントとは、BLOB操作のための
バッファかな。
とりあえずデフォルトで問題ないっぽいので、これで
いってみよう。
>>724
せっかく回答例示してくれたんだが、あんなめんどくさいこと
せねばならんのか?CreateBlobStreamでもっと簡単に
できるのでわ?
ちゅうか、TIBSQLなんだが、
IBSQL1.FieldByName('hoge').LoadFromStream(HogeStream);
とかでいけた。
スレッドで処理して、クソでかいデータの取得中も
中止できるようにしたいからね。
0732デフォルトの名無しさん
NGNGPHPのInterBase関数って、開発止まってるの??
なんか、昔、開発してた人が消えた。。。とか、見た記憶あるんだけど。
(バグフィックスは、してるっぽいので、誰かが引き継いでるのかな?)
0733デフォルトの名無しさん
NGNGいつまでたっても「フリーの IB」って位置から抜けられないぞ。
0734732
NGNG軽率ではあるけど、そっちの方がおもしろそう(^^;
(いずれはそうしないといけなくなってくるのかな・・・)
0735デフォルトの名無しさん
NGNG>insert into TABLE_A (CD,NAME_STR) values(1,'日本語');
例えば、これをUNICODE化したい場合。
0736デフォルトの名無しさん
NGNG0737デフォルトの名無しさん
NGNGIBManagerとどちらにするか悩んでるのだけど。
0738デフォルトの名無しさん
NGNGIBExpert 途中まで日本語化やったけど結局挫折した。
あの編集エディタじゃやりづらい…。
今は IBManager 使ってるよ。DB作成とSQL推敲が楽でいい。
0739山崎 渉
NGNG__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0740山崎 渉
NGNG__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0741デフォルトの名無しさん
NGNGIBManagerとどっちがいい感じ?
0742デフォルトの名無しさん
NGNG同じように操作できることが必要だったので
現在 IB Manager ユーザー。
機能はちょいIB Manager の方があるみたいだけど
IBExpert と基本的にはかわらんのとちゃうかな?
あ、そういやIBExpertで開けなくてIBManagerでは操作できた
文字コードNONEで日本語バリバリ入ったGDBがあったな。
0743デフォルトの名無しさん
NGNG0744デフォルトの名無しさん
NGNG購入は
InterBase/FireBird Developer Bundle (1) か
InterBase/FireBird Developer Bundle (2) になると思うけど
ComponentsがIBO製のものとそうでない物とはどう違うのだろうか?
0745デフォルトの名無しさん
NGNGタダならいいが、金払ってまでも使うもんじゃない。
0746age
NGNGみたいなメッセージが出て接続できなくなったのだが、このデータ
を復旧する方法を教えてくれ。部分的にデータがなくなっても構わないから
0747>>746
NGNG0748747
NGNG0749746
NGNG感じで、データベースを開けなくなります。
無理に2Gバイト程度にちょん切って復旧しようと試みていますが、
うまくいまかない。だれか知っている人いる?
0750デフォルトの名無しさん
NGNGgbak 使ってもダメ?
あと、ALTER DATABASE で DB ファイルを複数にしちゃうとか。
でも DB に接続できなきゃだめだね。
というか DB のバックアップとってなかったの?
あっ、これって DB の実験をしてるだけだよね?
その後の報告お願いね。
0751746
NGNG復旧できるか死かです。
0752デフォルトの名無しさん
NGNG0754デフォルトの名無しさん
NGNG復旧方法で知ってるヤシを全部羅列してあげようよ。
0755デフォルトの名無しさん
NGNGまずは今まで試したことを書きなよ。
何もフィードバックしないヤツにはまともなレスはつかないだろう。
http://www.borland.co.jp/interbase/ib7/feaben.pdf
IB7 は 1 ファイル 4G の制限がなくなったから、それ使えば何とかなるかも?
つーか、日某に問い合わせて何とかしてもらえばいいのでは。
多少金掛かるかもしれないけど、それくらいはしょうがない。
0756デフォルトの名無しさん
NGNG>4Gを超えると、書き込みが一巡し、先頭から書き込まれるような
>感じで、データベースを開けなくなります。
意味がわからん。
接続できないのになんでそう言えるわけ?
0757デフォルトの名無しさん
NGNG0758デフォルトの名無しさん
NGNGと今更なことを強調してみる。
0759デフォルトの名無しさん
NGNG運用時に破壊したらどうやって復旧するのか、
ということだと思う。
0760デフォルトの名無しさん
NGNGInterBase 自身は扱えるデータベースのサイズに特に上限を定めていませんが、OS のファイルシステムによる制約は当然受けます。
WindowsNT4.0 であればこの制限は 4GB - 2Byte となり、これ以上のサイズの GDB ファイルを作成しようとすれば当然その結果としてファイルを読む事が出来なくなり、修復不可能な状態になります。
これは、あくまでも OS の制約であり、この場合はデータベースをマルチファイルデータベースとしておく事で回避できます。
マルチファイルとして作成し、全部で10のファイルに分割して作成すればおよそ40GB までのデータを、この場合なら扱う事が出来るでしょう。
マルチデータベースファイルの作成方法に付いては、InterBase 付属のデータ定義ガイドを熟読してください。
0761デフォルトの名無しさん
NGNGgfixでいろんな引数与えてみて復旧を試みて駄目ならgbakでバックアップからリストア
するしかない。
0762デフォルトの名無しさん
NGNGで、selectする時に、「今日の日付から1週間先までのデータ」を取りたいんですがそういうのできますか?
今日だと24日なので、1週間先は31日なので、'20030731'のデータまでOKという事になります。
言語はperlを使っています。
perlで初めに20030731という値を作ってそれを用いてwhereの後に条件を綴るのか、
それとも1週間というのだけ指定すればDBが勝手に持ってきてくれるのかどちらかだと思うんですが。
0763デフォルトの名無しさん
NGNGWin2000やWinXPでは、どうしてますか?
0764デフォルトの名無しさん
NGNG>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
結果報告待ってる。
0765デフォルトの名無しさん
NGNG0766デフォルトの名無しさん
NGNG--
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 を超えるファイルに出来るみたい。試して見れ。
0767デフォルトの名無しさん
NGNG0769デフォルトの名無しさん
NGNGその当時は 4G/ファイル 超えるファイルシステムなんて想定していなかったんじゃないか。
ただ複数ファイルにすれば 40G まで OK だからいいんじゃないか。
それがイヤなら IB7 か FB に乗り換えればいいことだ。
0770764
NGNGなんでか知らんが Win2K(NTFS) の方が書き込み速度がかなり遅かった。なんでだろう?
ところで >>746 はどうなったんだ?
0771デフォルトの名無しさん
NGNG0772デフォルトの名無しさん
NGNG0773デフォルトの名無しさん
NGNG0774デフォルトの名無しさん
NGNG取り出したときに、スペース埋めされちゃってるような。
0775デフォルトの名無しさん
NGNG0776774
NGNGParam.SetBlob(NULLターミネイト文字, 文字サイズ + 1)
とかすると、やっとNULLが入るみたい。
0777774
NGNG「文字列登録時にスペース埋め、文字列登録時にスペース削除」のようです。
この仕様で問題無いわけなのかな。
0778デフォルトの名無しさん
NGNG0779デフォルトの名無しさん
NGNG寝転んでも形が崩れないおっぱいは若さゆえ!
無料動画をGETしよう。
http://www.cappuchinko.com/
0780デフォルトの名無しさん
NGNGデータの入出力からトリガ設定まで出来るような。
0781デフォルトの名無しさん
NGNG0782デフォルトの名無しさん
NGNGpersonalは無料なんですね。
日本語化ファイルが見つからないんですが、どこにあるんでしょう。
0783デフォルトの名無しさん
NGNGない。
が、その内公開されるそうな。
0784山崎 渉
NGNG0785デフォルトの名無しさん
NGNG0786デフォルトの名無しさん
NGNGいます。
0787デフォルトの名無しさん
NGNG0788デフォルトの名無しさん
NGNGはい
0789デフォルトの名無しさん
NGNG0790デフォルトの名無しさん
NGNGhttp://www.borland.co.jp/news/interbace_7_1.html
http://www.borland.co.jp/interbase/
0791山崎 渉
NGNG│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0792デフォルトの名無しさん
NGNGなぜですか?
サーバ側OSは2000、クライアントはXP、TCP/IP環境でIBコンソールからの会話処理は正常にできます。
0793デフォルトの名無しさん
NGNG1つのTDatabase.StartTransactionだと破綻するところが、
TIBTransactionをスレッド毎にCreateすることで回避できるのでしょうか。
こんな感じですか?
IBTransaction.Create;
IBTransaction.DefaultDatabase = IBDatabase
IBTransaction.StartTransaction
try try
//処理
IBTransaction.Commit;
eccept
IBTransaction.Commit;
end
finally
IBTransaction.Free;
end
0794デフォルトの名無しさん
NGNGそんな感じでOK
でもせっかくJavaやPHPのインターフェイスが揃ってるのに、Delphiで
わざわざWebアプリ作るメリットってあるんかなあとは思う。
0795デフォルトの名無しさん
NGNGPHPとかじゃ出力系が弱いから、DBへのアクセスはWebで、レポートの作成はDelphiで、っていう使い道は誤りか?
PHPからpdfに書き出すことも考えられるけど、印刷に特化した成果物となるとやはり力不足でしょ。
0796デフォルトの名無しさん
NGNG意味がよく分からない…。
誰も印刷制御をDelphiでやっちゃダメだなんて書いてないのに。
0797デフォルトの名無しさん
NGNG>TIBTransactionをスレッド毎にCreateすることで回避できるのでしょうか。
>IBTransaction.Create;
>IBTransaction.DefaultDatabase = IBDatabase
>IBTransaction.StartTransaction
>try try
> //Query処理
> IBTransaction.Commit;
>eccept
> IBTransaction.Rollback;
>end
>finally
> IBTransaction.Free;
>end
↑
Query処理とIBTransactionとが1対1に出来ればこれでよいと思いますが、
IBTransactionとIBDatabaseが結びついてるわけで、
Query処理がマルチスレッドで動作したときには、
別スレッドのトランザクションが、勝手にCommit/Rollbackして干渉しちゃいますよね?
0798デフォルトの名無しさん
NGNGダメとか何とかだれも言ってないと思うが。
0799林田
NGNGISQLからテーブルにinsert文を投げるとき、valueに日本語が含まれると次のようなエラーがでます。
「arithmetic excetpion, numeric overflow or string truncation...」
要は、文字列のコードが不正だって事のようなのだが、テーブルにはちゃんとSJISだってことを明示しているし、isqlも日本語対応版を使っている。
何がいけないんですか?
0800デフォルトの名無しさん
NGNGんーと、isqlはIBConsoleについてる奴でしょうか?
おそらくisqlで接続するときにSJISになってないのではないかと思います。
いま手元にないから自信ないけど、isqlの接続パラメータみたいなのに
キャラセット指定するところあったよね。
0801林田
NGNGisqlは例のfirebird本に付いていた、日本語対応改造済みの奴。
接続を新規作成するときにデータベース名とかユーザ名とかパスワードとか入力するところでS-JISと定義したはずなんだけど。
0802デフォルトの名無しさん
NGNGSET NAMES SJIS;
やらにゃあかんよ
0803デフォルトの名無しさん
NGNGデーターベースアプリの購入は初めてなんでライセンスがよくわかりません。
同時接続1ユーザーライセンス(4セッション)とはどういう意味なんですか?
0804デフォルトの名無しさん
NGNGそういうシビアな問題を2chで聞くのはどうかと思うぞ。
間違ったことを教えてもらってトラぶってもだれも責任とらんし。
で、漏れの解釈では・・・
単純なC/Sアプリなんかではユーザの1接続で1セッションしか
発生しないから同時に接続したいユーザ数分のライセンスを購入
すればOK。アプリが複雑で1ユーザが複数のセッションを必要と
する場合、それが4セッションを超えなければ上記と同じ。超える
場合は追加が必要。たとえば同時3ユーザで一人あたり5セッション
確保する必要がある場合、6ユーザライセンスが必要。
訂正あればだれかよろしく。
実際には合計セッション数がオーバー(ライセンス数×4を超える)
すると接続時にはねられる。同時ユーザ数とかはどうだかしらん。
0805デフォルトの名無しさん
NGNGってことじゃないな。セールスサポートにTELしてみれ。
0806デフォルトの名無しさん
NGNGInterBase4.21から伝統的に1ユーザー=4セッションとなっているが
1セッションしか使用しないアプリの場合、1ユーザーライセンスで
4人同時接続まで可能。
0807803
NGNG>806
そうなんですか!今はFirebirdで開発中なんですが、将来的に製品版がほしいのです。
C/Sといっても小規模なんでサーバーパックだけでもいけそうですね。
2ch情報ではありますが、検討材料にさせていただきます。
ありがとうございました。
0808デフォルトの名無しさん
NGNGFirebirdのままでは駄目なの?
0809sage
NGNGINET/inet_error: select in packet_receive errno = 9
とうエラーを吐きまくっているのですが、どういったエラーなのかがわからず困っています。
どなたか教えていただけませんか?
0810デフォルトの名無しさん
NGNG0811デフォルトの名無しさん
NGNG0812デフォルトの名無しさん
NGNGみたいなことは可能ですか?
IBXで出来るとポトペタなんだけどな...
0813デフォルトの名無しさん
NGNGDOS窓でコマンドラインを渡してやるっちゅうのは、どうだい?
必要があればコードうぷできるけど(ただし、DBチェックじゃなくて
バックアップ/リストアだけど)。
0814デフォルトの名無しさん
NGNGアプリに内蔵するなのDBで、ユーザにはIBを意識させないようにしたいでつ。
(ファイルとして意識させる程度なら良いですけど)
0815デフォルトの名無しさん
NGNGCreateProcessでDOS窓を立ち上げて、コマンドラインを渡してみる。
DOS窓はCreateProcessの StartupInfo構造体に適当な値を渡せば
非表示もしくはアイコン化できるので、ユーザーはIBを意識することはない。
漏れIBアプリでこの方法でIBを隠蔽したんだけど、汚ったねえコードで
よければサンプル出してみよっか(Delphiだけど)?
0817815
NGNG長いので、こちらを参照してください。
わかりやすいように「ぬるぽ」と言う名前で発言しています。
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/index.html
の「質問の解答用ソースを貼るスレ」の4番目くらい。
なお、これはバックアップ用のサンプルなので、データベースの検査に関しては
gbak.exe.ではなくて、gfix.exeを使用して、適切なパラメータを自力で
設定してみてください(これは、やったことがないので説明できない)。
また、SIのパラメータを調整するとDOS窓を非表示にできるのだが、この引数も
忘れちまったスマソ。でも、結果を取得するにはあえてDOS窓を表示したほうが
いいかもしれない(DOS窓に結果が表示されるかもしれない)。
gfixの引数はInterbaseマニュアル「操作ガイド」の第6章 データベースの環境設定と保守
のp125-138付近を、CreateProcessに関してはMSDNあたりを参照してください。
あとは自力で工夫してみて。
0818デフォルトの名無しさん
NGNGどこかにIBConsole.exeのソースコードがあったような気がしたんだけど、
(FireBirdのHPだったような気がするけど、失念。どこかには確かにあった)
それを探してソース解析すれば一発じゃねえの?
0819818
NGNGttp://www.twise.co.jp/download_m.html
の「FireBird 1.0(ファイナル)日本語版」のところで
IBConsoleの日本語化ソースコード(Delphi 5)ちゅうのがあった。
漏れも中身見てないけど、IBConsoleはデータベースの検査をやっているので
その部分のコードをパクッ(略)ば、>812の要求は満たせるんじゃないの?
案外>817とほとんど同じかもしれないが。
0820ビギナー
NGNGだけでOKでしょうか?
一度もFireBirdをインストールした事がないマシンに入れるのに、gogleなん
かで検索しても、今一それらしい情報にヒットしなかったんで。
Marathonを使ってみたくて、FireBirdを入れようと考え、どうせ入れるなら
最新版と思って色々探しても結局判らずじまい。
0821ビギナー
NGNGだけでOKでしょうか?
一度もFireBirdをインストールした事がないマシンに入れるのに、gogleなん
かで検索しても、今一それらしい情報にヒットしなかったんで。
Marathonを使ってみたくて、FireBirdを入れようと考え、どうせ入れるなら
最新版と思って色々探しても結局判らずじまい。
0822デフォルトの名無しさん
NGNG解凍しただけじゃだめ。以下の作業が必要になる。
例えば展開先を C:\Program Files\Firebird にした場合で説明すると、
(以下コマンドプロンプトで作業)
1) カレントディレクトリを C:\Program Files\Firebird\bin にする
2) instreg.exe install "C:\Program Files\Firebird"
3) instsvc.exe install "C:\Program Files\Firebird" -guardian
4) fbclient.dll と gds32.dll を Windows システムディレクトリにコピー
でいいと思ったが。詳しくは doc\InstallNotes.txt を参照
0823デフォルトの名無しさん
NGNGテーブルやビューの名前を取り出したいのですが。
Oracleでは
select table_name from all_tables
でテーブル名を参照できるらしいけど。
0824823
NGNG0825823
NGNG0826デフォルトの名無しさん
NGNG0827デフォルトの名無しさん
NGNG近頃はどの質問スレも荒れてますね。
0828デフォルトの名無しさん
NGNG蛇足って俺もお願い気味なんすが
解決しただけじゃなくてどうやったら解決できたってのが
欲しいな。
他の御仁にもわからんことあるだろうしさ
ってか本音いうと俺もしっときたいんです・・・ハイ
0830デフォルトの名無しさん
NGNGついでにIBDatabase->DefaultTransaction = IBTransactionもしとかないとエラーになる場合があります。
基本は、両方設定でつか?
0831デフォルトの名無しさん
NGNGselect RDB$RELATION_NAME from RDB$RELATIONS
0832デフォルトの名無しさん
NGNGいつも両方設定してる。
0834823
NGNG答えは「できません」だそうです。
どうも。
0837デフォルトの名無しさん
NGNGデッドロックみたいですが、これってどういう意味で塚?
どう対処しろということなのかなあ。
0838デフォルトの名無しさん
NGNG試行回数を決めて一方が更新をキャンセルするようにするとか、
レコードロックのレベルを上げて誰かが更新中は触れなくするとか。
0839デフォルトの名無しさん
NGNGSELECT A.*, B_1.NAME FROM A LEFT OUTER JOIN B AS B_1 ON A.KEYCD = B_1.KEYCD
Table名にASって使えないのね・・・
0840デフォルトの名無しさん
NGNG単にASがいらないだけでは?
0841デフォルトの名無しさん
NGNG「指定したファイルが見つかりません」などと訳の解らないエラーメッセージが表示されて
レプリケーションサーバが立ち上がってくれません。
ライセンスキーは入っています。
使えている人がいるなら私の使い方がまずいのかもしれませんのでお訊ねしている次第です。
でも、私の使い方が間違っているとは到底思えないのでござます。
どうしたらよいのやら。とほほ。
0842デフォルトの名無しさん
NGNG削除すると二度とそのエイリアス名が使えないようなんですが、使えるように
する方法、またはエイリアス名の登録記録を参照、削除する方法をご存知の方、
お教えください。
0843デフォルトの名無しさん
NGNGそういや、もうInterBaseの5.6のライセンス購入が終わったんだよね
・・・・という事で上げ
0844デフォルトの名無しさん
NGNGそのテーブルだけじゃなく別のテーブルにも情報が残ってる可能性
があるからDROP EXTERNAL FUNCTIONで消したほうが安全じゃないかな。
0845デフォルトの名無しさん
NGNGRDB$を直接弄るのはやめた方がいいよ。漏れもはまったことがある。
極めたのならいいけど、通常はGenerator以外は基本的に弄る必要はないはず。
DROPつかえ。
0846デフォルトの名無しさん
NGNGsrever_nameってどういうもん入力すればいいんですか?
ipアドレスですか?
0847デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1072883528/
海外でよく使われていうる掲示板スクリプト
専用のオフラインリーダー作って下さい。
必要な条件はID、PASSを管理できること、
OpenJaneみたいな三面型の見た目。
簡単にローカライズできるように言語ファイルを採用
0848デフォルトの名無しさん
NGNG簡単な掲示板を作っていたのですが
interbase.interclient.CommunicationException: [interclient] Communication
error: An IO exception occurred while trying to send data to server
192.168.1.1.
The message of the IOException is "Broken pipe".
See API reference for exception
interbase.interclient.CommunicationException
というようなエラーが1日に1回くらいでてWEBサーバーからDBサーバーに
接続できなくなってしまうのですが
このような現象はどんな時にでるのでしょうか・・・
また回避方法ってのはどうすればいいのでしょうか
0849848
NGNGTomcat3.2.3
JDK1.3.1
Redhat6.2 です
0850デフォルトの名無しさん
NGNG0851デフォルトの名無しさん
NGNGIBBackupServiceとIBRestoreServiceを行うと、
壊れてない綺麗なデータベースが出来ますか?
試してみようにも、壊れたデータベースファイルがまだ無いので...
0852デフォルトの名無しさん
NGNG0853デフォルトの名無しさん
NGNGおまえ
0854デフォルトの名無しさん
NGNGたぶん、データベースが見つからないんだと思います(w
0855http://chbox.com/
NGNGhttp://pwiki.chbox.com/pukiwiki.php?interbase
0856デフォルトの名無しさん
NGNG>別スレッドのトランザクションが、勝手にCommit/Rollbackして干渉しちゃいますよね?
気になってるんで教えて欲しいんですけど、上のようなことってあるんですか?
あるとすると、スレッド内からInterBaseにアクセスってどうやるんでしょう?
BDE使ってSession張る?
DB使うようなプログラム書くの慣れてないんで、的外れな質問だったらすみません。
0857補完
NGNGこっち(Firebirdスレ)のこの辺参考にしてみてください。
http://pc2.2ch.net/test/read.cgi/tech/1058992146/136-
参考にならんかったらすんまそん。
0859デフォルトの名無しさん
NGNG0860デフォルトの名無しさん
NGNGデバッグ用のテーブルつくってそこにデバッグ情報出力してる。
0861デフォルトの名無しさん
NGNGthnx
全然分からないけど参考にさせて貰います。
0862デフォルトの名無しさん
NGNG0863860
NGNG激しく遅レスだが、ログ吐き出し用テーブルを作ってそこに値を
インサートするってことです。
CREATE TABLE DEBUG_LOG(
CODE INTEGER,DEBUG_STR VARCHAR(256))
みたいなのつくっといて、ストアドでところどころ
INSERT INTO DEBUG_LOG(DEBUG_STR) VALUES(:LOCAL_VAR);
みたいな。
0864デフォルトの名無しさん
NGNG>483のやり方って、具体的にはどうやればいいのでしょうか?
0865デフォルトの名無しさん
NGNGExcelのマクロでワークシートから
INSRET INTO (FIELD1,FIELD2,FIELD3) VALUES(1,'AAA','abc');
INSRET INTO (FIELD1,FIELD2,FIELD3) VALUES(2,'BBB','def');
INSRET INTO (FIELD1,FIELD2,FIELD3) VALUES(3,'CCC','ghi');
みたいなテキストファイルを書き出してISQLで実行。
もちろんワークシートをコピーして秀丸か何かでやっても良い。
ちょっと考えればわかるよね。
0866デフォルトの名無しさん
05/02/19 05:27:350867デフォルトの名無しさん
05/02/19 23:38:25・無料 ・海外でのみ公開され、付属IBConsoleは英語のもの
InterBase6 有償版:
日本のBorlandから発売され、IBConsoleの日本語版がついている。
日本語版のマニュアルがあるので、マニュアルだけでもあると便利
でも、もう売っていないかも。
InterBase6.5系:
海外でのみ発売されたInterBaseのバージョン。詳しくはしらない。
InterBase7系:
InterBaseシリーズの最新版。
有料のものしかない。
-------------------------------------------------
Firebird1系:
InterBaseの無料版が6のみだったので、公開されたIB6のソースコードを
元に、オープンソースデータベースとして派生したもの。
InterBase6と100%互換らしいのと、InterBase6 OpenSourceにあったバグ
が少し修正されているようなので、InterBase6 OpenSourceを使うよりは
こっちのほうがお勧め。
Firebird1.5系:
コードをC++ベース?に書換え、機能強化したもの。
無料のもので使いたいのならこれが一番良いかも。
InterBase用の接続ドライバなどで繋いでもだいたい大丈夫。
なにか間違っていたらすまそ。
0868デフォルトの名無しさん
05/02/19 23:44:317の新機能群は便利にみえる
安いしねぇ
0869デフォルトの名無しさん
05/02/20 04:16:11インラインビューが使えないのはイタすぎです…
7系はどう?少しはマシになってるの?
0870デフォルトの名無しさん
05/02/20 12:18:09ただ、多機能なDBというよりはとにかくコンパクトで早い、扱いやすいDB
という位置づけだから納得して使った
いまどきメモリ32Mとかで満足な速度で動くDBも珍しいと思う
組み込み向けには最適だね
7はJDBC方面がいいね
0871デフォルトの名無しさん
05/03/04 14:47:35今、その現象が出て困ってます。
アプリは正常に動作していてCOMMITもかかってるはずなのに・・・
0872デフォルトの名無しさん
05/03/04 18:13:370873デフォルトの名無しさん
05/03/05 03:07:54すべてのクライアントが切断しないと変わらないんじゃなかったっけ・・?
0874デフォルトの名無しさん
05/03/07 15:25:37>>873 さんの行っている事が正解だと思う。
gdbファイルのタイムスタンプはリアルタイムでは変わらない。
当方、IB5 for win で確認。
0875naka
2005/03/23(水) 23:32:09http://firebird.sourceforge.net/
0876デフォルトの名無しさん
2005/04/15(金) 12:00:02http://onigiri.s3.xrea.com:8080/delphi/index.php?InterBase%2F7.5
Multi-Instance
Global temporary tables
CASE, COALESCE, and NULLIF
0877age
2005/04/29(金) 09:28:210878デフォルトの名無しさん
2005/04/29(金) 11:52:100879デフォルトの名無しさん
2005/04/29(金) 12:27:550880デフォルトの名無しさん
2005/06/15(水) 10:22:05http://www.borland.com/downloads/registered/download_interbase.html
0881デフォルトの名無しさん
2005/06/15(水) 10:24:480882デフォルトの名無しさん
2005/08/16(火) 15:51:15シャドウファイルをネットワークドライブに割り付けたいのですが出来ないことは承知しております。
どうしても出来なのでしょうか?
ローカルドライブにシャドウファイル作成出来ても、そのマシン自体が死んでしまったらシャドウファイルもくそもないので
シャドウファイルは別コンピュータに作りたいのです。
0883デフォルトの名無しさん
2005/08/16(火) 20:00:43バッチ処理でコピーでいいじゃん。
0884デフォルトの名無しさん
2005/08/16(火) 21:11:08物理的に別なディスクをつないでそこにシャドウを作ればほとんどの場合大丈夫じゃない?
落雷や地震とかで全ディスクやられたりしたらダメだけど、その場合は定期的なバックアップで対応。
Linux系でNFS?ならできるかもしれないけど、ネットワーク越しだと信頼性がかなり落ちてしまうんじゃないかなぁ
>>883
前にもどこかで非同期だって見たような気もするけど、本当にそうなの?
非同期なシャドウって作る意味あるのだろうか・・・。
0885デフォルトの名無しさん
2005/11/06(日) 19:13:20現在InterBase6 OpenEditionとDelphi5で開発してますが
ANSI SQLに準拠しなさ過ぎていて、
たとえば、CASE文が無いためNULLを空文字や0に変換できないとか
また、情報が少なくユーザ定義関数を作るにも作り方が分からないとか
その他もろもろ等々。
こんなつまらない事・簡単なことで結構こまっていたりします。
そこでFireBird1.5がInterBase互換でANSI SQLに準拠してると聞いて
FireBird1.5に乗り換えようか検討しています。
単純にInterBase6をアンインストールして
FireBird1.5をインストールするだけで、
現在開発中のものが、そのまま動作するものなのでしょうか?
どうか平に平にご助力お願いいたしまする候。
0886デフォルトの名無しさん
2005/11/10(木) 08:22:51使用中のDBをバックアップして(gbkファイルにして)
IB6をアンインストールして、
もしC:\Windows\System32の中にgds32.dllが残ってたら手動で削除。
そしてFirebird1.5をインストール
バックアップしておいたファイルからリストアすればOK。
互換性はほぼあるけど、微妙な違いはあるから作成したプログラムを
一通り動かすといいよ。
0887デフォルトの名無しさん
2005/11/10(木) 16:11:42ご助力誠に有難き候。
なるほどそうでしたか
もぅInterBase6の非力さに堪忍袋の緒がはちきれんとばかり
でしたので本当に助かりました。
ところで、ユーザ定義関数の作り方はお解かりになられますか?
もしくは、詳しく解説されているページをご存じないでしょうか?
どうか平に平にご助力お願いいたしまする候。
0888886
2005/11/11(金) 07:22:08オープンソースなんだから非力かどうかは貴方しだい
嫌なら使わなきゃいいだけ。
ttp://www.moriq.com/firebird/links.html
ttp://www.borland.co.jp/interbase/tech/ib_udf/index.html
0889デフォルトの名無しさん
2005/11/15(火) 11:53:39良いサイト教えていただきましてありがとうございます!
金輪際InterBase6は使わない方向で検討しております。
どうもありがとうございました!
0890デフォルトの名無しさん
2005/11/16(水) 20:34:30ORACLEやSQL Serverなどの重量級に比べ扱いやすくて入門用には最適だと思う。管理の手間も少ないし。
0891デフォルトの名無しさん
2005/11/17(木) 01:22:33同意。
もっと入門書があれば人気でるんだろうけどね
0892デフォルトの名無しさん
2005/11/17(木) 11:35:55下調べもせず開発してるの?
0893デフォルトの名無しさん
2005/11/17(木) 14:14:31リソース(資源)気にするほどマシンパワーが
ないわけでもないから、IB6使う利点は少ないかと。
0894デフォルトの名無しさん
2006/02/22(水) 16:42:12頼まれてNTで動いていたシステムをマシン入れ替えで2003serverにしたらクライアントアプリが非常に遅くなりました。
入力画面表示するのに3分くらいかかります。
クライアントはXp Home、アプリはDelphi3+BDE5.2です。
サーバーのハイパースレッディングはオフにしてあります。
0895デフォルトの名無しさん
2006/02/26(日) 02:19:48IB7.x(とD5以上)にしないと。
あとはVMwareでNT on Server2003/XPっていう考え方もあるが。
0896デフォルトの名無しさん
2006/03/03(金) 20:55:31ハイパースレッドのプロセッサ上で稼動させると遅くなるらしいです。
BIOSでOFFにすれば直るらしい。
0897デフォルトの名無しさん
2006/03/04(土) 00:19:27IBやめてFB1.5にするとか・・・
895の言っているようにVMWareも良さそうだな
0898895
2006/03/04(土) 21:05:53それとBDE経由だとD3のままでもよかったかも。
0899894
2006/03/08(水) 15:22:30今のところ不具合は出てないようです。
ありがとうございました。
0900デフォルトの名無しさん
2006/05/04(木) 23:24:07レス数が900を超えています。1000を超えると表示できなくなるよ。