Firebird関連スレ 

このエントリーをはてなブックマークに追加
164NAME IS NULL
ttp://pc5.2ch.net/test/read.cgi/db/1080536260/61

>Firebirdはマウントに時間が掛かり過ぎなんだよ。
>数百万件データがあると最初のマウント時に、分単位で平然と待たせるからな。
>いいかげん、joinもロクにできないFirebirdの話題なんか出すな。

これは本当でつか?
自分はjoin駆使しないのでjoin側は気にならないが。
165NAME IS NULL:04/07/12 15:16 ID:???
>>164
でたらめ
JOINできないとかいったいどこから沸いて出た話なのか
166NAME IS NULL:04/07/12 17:03 ID:nW29/KEp
>>164
自分で簡単に検証できるだろ。やってみろ。
リブート直後にやるとよりわかる。キャッシュに入ってないからな。
167NAME IS NULL:04/07/12 17:05 ID:nW29/KEp
>>165
こいつ数万件のデータしかあつかったことのないやつだな。
168NAME IS NULL:04/07/12 20:42 ID:???
165じゃないが、とりあえず某中堅プロバイダのユーザ情報収集・集計&メルマガシステムで
最大見込みユーザ数200万件のテストしたときは問題なかったがなぁ。割とシンプルな表構成で
JOINは使ってないけどね。
件数だけの問題じゃない話なんじゃないのか?
容量は600M×8本のマルチファイル構成だったけどね。
169NAME IS NULL:04/07/12 23:41 ID:???
>>167
自分の環境を疑うことが大事なのでは。
せいぜい名前解決に時間がかかっているのを勘違いしているぐらいの話だと思われ。

常識的に考えてみても、そんなありふれた環境で起こりえる障害が未だどこにも
取り上げられてないなどということ自体、可能性が低い。

>>167の勘違い」を疑うほうがずっと自然。
文句があるなら現象を再現可能な環境を説明してみればいい。
170NAME IS NULL:04/07/13 00:11 ID:???
>>167
ははあ。
FirebirdのリリースノートのWindows ME/XPの注意事項読め。

何百万件ものデータベースだから遅くなったわけじゃなくて、単にサイズのでかい
データベースだから問題の影響が顕著に現れただけ。
問題といってもFirebirdのバグでもなんでもない。単にWindows ME/XPの仕様。

マニュアルも読まずに何が検証だ何がスキルだ。
あほくさ。
171NAME IS NULL:04/07/13 00:46 ID:BIIhOqat
>>170
馬鹿だなぁ。Firebird以外のデータベースではそうならんから問題なんだろ。
Firebirdしか知らん坊やだねw

joinのパフォーマンスの悪さについては答えないのだね。
何時間待っても帰って来なくなるのだけどw
そういうことも知らずに必死にマニュアル調べてにわか知識ご苦労さんw
172NAME IS NULL:04/07/13 00:50 ID:BIIhOqat
要は、

「Firebird」って古い割に進化して来なかったせいぜい数万件のデータしかDBとして扱えない化石というで良い?
173NAME IS NULL:04/07/13 03:15 ID:???
そうやって思考停止していれば良いんじゃないっすか?ホジホジ
174NAME IS NULL:04/07/13 08:22 ID:???
>>171
( ´,_ゝ`)プッ

> 馬鹿だなぁ。Firebird以外のデータベースではそうならんから問題なんだろ。

そりゃデータベースファイルの拡張子が.GDBなのはInterbaseとFirebirdだけだから
他のデータベースで起こるはずもないだろ。

> joinのパフォーマンスの悪さについては答えないのだね。

悪いのはお前の頭
175NAME IS NULL:04/07/13 11:35 ID:N5z8XjgY
>そりゃデータベースファイルの拡張子が.GDBなのはInterbaseとFirebirdだけだから
>他のデータベースで起こるはずもないだろ。

あ、拡張子の問題なんだ。
どうりでFDBで使ってる自分の環境は問題無い。
SQL AnywhereとかAdaptive serverより軽いYO!
176NAME IS NULL:04/07/16 17:14 ID:???
ワラタ
177NAME IS NULL:04/07/17 14:15 ID:???
>>171
join時に実行プランを適切に設定したかい?
プランを変更すると劇的にパフォーマンスが
改善されることがFirebirdにはよくあるのだが。
178NAME IS NULL:04/07/19 11:32 ID:j5p4qsNd
179NAME IS NULL:04/07/20 10:12 ID:NZ9yksk5
つか、知らないうちに1.5.1が出てビクーリ。

早速1.5.1使った方が良いのかな。
180NAME IS NULL:04/07/22 11:04 ID:yUdqc68p
Wikiに1.5.1リリースに関する情報を追加・メンテナンスしてみました。

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?FrontPage

しかし、日本公式の方は1週間もたつのにこのニュース載せないのね。
181NAME IS NULL:04/07/25 15:36 ID:???
>171 は、まったくマニュアル調べない奴がいかに屑かというよい例だな
182NAME IS NULL:04/07/26 09:58 ID:t7eEe9cM
Missing configuration file: 〜firebird.conf

というエラーは何で塚?

突然エラーが出るようになりましたし、
さらにfirebird.confのファイルパスが全然見当違いのファイルパスで???でつ。
183182:04/07/26 10:09 ID:t7eEe9cM
ファイルパスの該当するフォルダにfirebird.confを置いたらエラーは消えましたが、
ファイルサーバなんで何とか場所を変えたい。

実行ファイルをファイルサーバに置いてて、それを実行しているんですが、
それよりも上のフォルダにfirebird.confを要求されて、何でこんなことになってんだろ。
184NAME IS NULL:04/07/27 05:01 ID:???
Linux版でつか?
どちらにせよ気になってドキュメントに記述が無いなら、どういうパス(カレント??)から読んでるのかどうか
ソースを落としてきて読んで見るしか。
185NAME IS NULL:04/07/27 09:50 ID:???
>>180
7/18付けでダウンロードのページに載ってる。
186NAME IS NULL:04/07/27 11:59 ID:8bS5RsaI
>Your user name and password are not defined. Ask your database administrator to set up an Firebird login.

あるマシンだけ上記エラーが出ます。どうしたら良いでしょうか?
187NAME IS NULL:04/07/27 12:40 ID:???
gsecコマンドでもGUIツールでも好きな方使ってアカウント調べて設定。
どっちもローカル・リモートの両方に対して出来る。
188186:04/07/27 13:16 ID:8bS5RsaI
殆どのクライアントはサーバには繋がるんですが、
1台だけ駄目みたいです。

ODBCドライバ経由です。
189186:04/07/27 13:28 ID:???
ごめんなさい、パスワードの大文字/小文字間違ってますた。
サーバだけでなく、ODBCドライバも安定していますね。

サンクス>>187
190NAME IS NULL:04/07/27 17:20 ID:JYsBCWtH
仕事が滅茶苦茶暇だったんで適当に内容追加したよ。拡張子の注意もフロントにババンと。
結構内容も充実してきたような。

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?FrontPage
191NAME IS NULL:04/07/27 17:40 ID:jL3TsqUb
>>190
グッジョブ!!!!!!
192NAME IS NULL:04/07/27 18:23 ID:???
管理ツール説明参考になりますた。

gstatを使えばDBファイルが壊れてるかどうかを調べられますか?
193NAME IS NULL:04/07/28 07:54 ID:???
破損チェックはgstatでもある程度されるだろうけど、本来はgfixの修復(-v,-validate)オプション
にアップデート禁止(-n,-no_update)を組み合わせるのではないかと。

gfix -user SYSDBA -password masterkey e:\fbdb\dbfile.fdb -v -n
194NAME IS NULL:04/07/28 08:57 ID:???
なるほど>>193

ところで、IBXなんかのライブラリで調べるも方法希望。

コマンドラインを叩くもの悪くないけど、アプリのメニューに組み込みたいですよね。
195NAME IS NULL:04/07/28 10:04 ID:???
>>194
>ところで、IBXなんかのライブラリで調べるも方法希望。
人に聞くよりIBConsoleのソース見るのが一番手っ取り早い。

ドキュメントもソースもかなりの量が揃ってるんだから少しは調べなよ。
196NAME IS NULL:04/07/28 10:11 ID:???
195の内容は正論なんでしょうが、
実はgsec、gbakはIBXで動作させたんですが(結構トラブルもあった)、
どうしてもデータベース検証が上手くいかなくて。。。

上手くいった例があったら教えて下さいでつ。
197NAME IS NULL:04/07/28 10:47 ID:???
まー仕事暇だから軽く調べたけど、とりあえず、これ見てAPIを直接叩くしかないような気がする。
http://www.ibphoenix.com/downloads/60ApiGuide.zip
多分、isc_servide_attach()でサービスマネージャに接続して、isc_service_start()でパラメータを
指定してやるんだと思うんだけど、結構調べるのもめんどい。
gfixのソースを読んでみるのもいいかもね。コマンドラインの方が大抵プログラム読みやすいし。
198NAME IS NULL:04/07/28 13:05 ID:???
サンクス>>197

今すぐ見れないけど、ツカテミマツ
199NAME IS NULL:04/07/28 14:51 ID:on5YMnyL
wikiに情報追加してみました。コマンドラインツールの説明など。
とりあえず gsec と gfix だけ。
http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?FrontPage
200NAME IS NULL:04/07/28 17:55 ID:knWol+Yz
某ユーザ会よりも、内容が充実してきたな・・・
201NAME IS NULL:04/07/28 20:28 ID:???
>>200
いつまでもぐだぐだと絡むな
202NAME IS NULL:04/07/29 09:32 ID:lG03g81z
10メガのファイルを10万レコード登録しても大丈夫でつか?
203NAME IS NULL:04/07/29 11:18 ID:???
これでも読めば?ただなんだから実際に試してみればいいし。
http://www.ibphoenix.com/downloads/Firebird_Factsheet.pdf
とりあえずシングルファイルでのDBとしての限界は64TBとなってるな。
複数のドライブに分散したマルチファイルDBを構成すればもっといけるのかも。
204NAME IS NULL:04/07/29 11:20 ID:lG03g81z
FirebirdのマルチファイルDBってどうやって使うのか知らないんですが。

売り物?
205NAME IS NULL:04/07/29 11:40 ID:???
wikiにマルチファイルのこと書いたところへのリンク貼ってあるぞ。
206NAME IS NULL:04/07/30 15:57 ID:???
マルチファイル良いね。

でもどうやって使うのやら。
接続時を含めて1個に見えるって、どこに何を定義するのやら。
207NAME IS NULL:04/07/30 16:15 ID:e2vsnD+W
>206
大抵はシングルファイルと同じような感じ。先頭のファイルのみを指定すればいい。
少なくとも SQL 上では差は全く無い。時間はかかるけど相互に変換も可能だし。
差を意識するのはバックアップをリストアするときぐらいか?

とりあえず wiki に gbak のマニュアルを追加。
http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?FrontPage
208NAME IS NULL:04/07/31 05:00 ID:???
追記。誤解受けそうな書き方だったけど CREATE DATABASE の時は意識するよ。その辺はwikiからリンク
されてるサイトに SQL での構成例があるからそれでわかると思う。

そういや、本家見てたら新たなオープンソースの GUI 管理ツールのプロジェクト始まってるね。まだα版だけど。
wikiのニュースに追加しといた。
209NAME IS NULL:04/08/01 10:41 ID:???
IB Expertがあれば十分だけどなあ。
貴重なリソース使って車輪の再発明しなくてもいいのに。
210NAME IS NULL:04/08/02 09:07 ID:63TTKrR/
Firebirdの周辺会社が潰れたり撤退したりすると困る。

実質的には困らなくても。
211NAME IS NULL:04/08/02 14:43 ID:Be5yrjBG
wikiに、gstat と isql のマニュアルを追加。直訳作業じゃなくても、内容の確認に
元のIB6英文マニュアルを細かく見直すから、こういう作業も勉強になるな。

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?FrontPage
212NAME IS NULL:04/08/03 09:30 ID:???
サンクス>>211

 >>193 みたいなコマンド例題なんかも希望。
213NAME IS NULL:04/08/03 12:55 ID:???
wikiのニュースからリンクされてる IB Admin4 試してみたけど、結構いいね。試したのはLinuxじゃなくてWindows版。
メニューとかは日本語にならないけど、データにはシフトJISの文字列も問題なく使えるみたい。
0x5cの入った表示のような文字列でも問題ないし。
データベースのコンペアとか、サービスを利用した定時バックアップの設定とかも出来るんだ。
214NAME IS NULL:04/08/03 14:24 ID:4RFgzLTc
>212
事例引きも欲しいには欲しいですな。

とりあえず、wikiにいつもちょっと調べたりするキャラクタセットやデータ型に関して追加。
ついでに日本語の書籍の情報も追加。本は持ってる人が追加してくしかないね。
215NAME IS NULL:04/08/03 14:30 ID:???
希望言うのは勝手だけど、ココにレスする暇があったら書けばいいのにと思ってしまう。
リファレンスがあるのだから自分で試してみて結果を書けばいいのに。

なんのためのWikiだか。
216NAME IS NULL:04/08/04 09:10 ID:???
Wikiにまだ慣れてないんだYO!
217NAME IS NULL:04/08/04 14:34 ID:A6m3TApQ
wikiにプログラミングガイドを追加しました。
その第一弾として、Perl + DBI/DBD に関しても追加しました。
Windows向けですが、インストールから簡単な使用例までをとりあえず。

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?FrontPage
218NAME IS NULL:04/08/04 15:20 ID:???
ううむ、DBI/DBDでトランザクション制御を使う方法($dbh->{AutoCommit} = 0;)
も書いてあったほうがいいだろうとWiki編集ページを覗いてみたけど…
さっぱりわからぬ(・∀・)!!

当方プログラム板のスレにTipsを相当書き込んだ記憶有りなので、過去スレ含めて
漁ってもらえるといろいろと有用な情報があると思われ。

あと、Firebird1.5で追加されたSQLの使用方法の詳細メモとかも手元にあるんだけど…
誰か追加しますか?
219218:04/08/04 15:38 ID:???
何も書かないのもアレなので…

Interbase5.6の日本語マニュアルが下記から入手可能です。
www.borland.co.jp/interbase/devsupport/ib56win_upg.html

IB5.6のトライアル版ですが、日本語PDFマニュアルも一緒に入ってます。
常用するのはライセンス的にアウトなので、トライアル期間が終わったら消去する
必要があります……。(Wikiに挙げるのはマズイかも)

Firebird1.5でも十二分に役に立ちます。
このマニュアルとIB6.0の英語マニュアルとFB1.03, 1.5, 1.51のリリースノートを
揃えれば、とりあえずFirebirdを使用する上でそうそう困ることはなくなるはずです。
220NAME IS NULL:04/08/04 20:35 ID:???
DBDのなかにあるモジュールにDBI on InterBase での使い方書いてあって、そこに
トランザクション周りのことも詳しく書いてますよね。当然英語ですけど。
その辺を訳して載せればいいんすかね?

wikiは練習用のSandBoxがちゃんとあるので、ヘルプを見ながら練習するしか。
別に難しく無いと思う。
221NAME IS NULL:04/08/05 10:03 ID:???
Firebirdを使ったアプリサーバみたいなのをオプソで作れないでしょうかね。

N●Kのビデオサーバみたく(実物は見たこと無いけど、
視聴センターみたいなところで、過去番組自由に見れるサーバがあるらしい)、
クライアントから該当するギガ単位のファイルを楽々取れる、みたいな。
インターフェースはエクスプローラみたいなんではなくて、HTTPみたいなAPIで。
222NAME IS NULL:04/08/05 11:05 ID:???
>>221
知ってる言葉を適当に並べてみたって感じだな…
223NAME IS NULL:04/08/05 11:32 ID:???
知ってる言葉を適当に並べてみたけど、欲しいものは伝わってでしょ?
224NAME IS NULL:04/08/05 14:15 ID:???
>223
 要するに、クライアントから「これくれ」ってコマンドを(HTTP の GET request のように)出したら、
それをダウンロードさせてくれるようなシステム?

 で、そのファイル管理のシステムに Firebird 使うとかならまだしも、そのシステムそのものを
Firebird で組むってのは変だと感じないか?
 構成的にはコマンドを受け付けるサーバがあって、そこから Firebird に格納位置を問い合わせ
る感じになると思うのだが。

 でも、扱っているものが映像ライブラリの類だと、解説を全文検索したいとかほざきそうなので
Firebird じゃ辛かろうといってみる。
(まあ日本語含む全文検索だと、namazu 使うとか、RDB 以外の選択枝が出てくるだろうが)
225223:04/08/05 14:24 ID:???
ファイル郡だと扱えとき困る(バックアップやデータの移動)ので、
ある程度の塊になって欲しいということです。

解説を全文検索なんかは別ソフトと別DB(これにもFirebirdを使うつもりですが)で良し。
226NAME IS NULL:04/08/05 15:14 ID:???
>>225
うざったらしい奴だなあ。
人から聞かれてちょぼちょぼ答えるんじゃなくて最初から全部吐け!!

何がしたいのかさっぱりわからん。つーかコイツ自身分かってないと思われ。
HTTPみたいなAPIってなんだ (゚Д゚) アホカ
227223:04/08/05 15:50 ID:???
<必須機能>
a)数十メガ単位のファイルを10万ファイル保存
b)HTTPインターフェースでファイルを入出力(ログインなんかの認証は欲しい)
c)検索キーは文字列でも数値でもOK
d)ファイル数は数えれる範囲内(30くらい?)
e)通常LAN内で1ファイルの取得は30秒以内
f)Windowsでも動作
228NAME IS NULL:04/08/05 15:58 ID:???
仕様が決まったなら、あとは>>223が作るだけだね!
夏休みの工作がんばって!
229NAME IS NULL:04/08/05 17:31 ID:AnNKyOUm
wiki に DBD::InterBase に関するリファレンスを追加しました。
大作なのでまだ書きかけですが、とりあえず基本的なところとトランザクションに関しては
書いてあります。

ttp://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?Firebird%CD%D1DBI%2FDBD%A4%CE%A5%EA%A5%D5%A5%A1%A5%EC%A5%F3%A5%B9
230224:04/08/05 17:46 ID:???
>226
 夏だからねえ。
 だいたいファイル群で扱うのに困るというが、227 のスペックだと、ファイル鯖が数TBオーダーで、
それをRAIDもなしにバックアップで乗り切ろうとでも言うのだろうか(藁

 というか、やりたいことは Vector とか窓の杜と同じようなイメージなのかねえ。
 しかしそんなの、DB が何であれ扱うファイルそのものには全く無関係だしなあ。
※検索性能を前提に DB が決まるわけだし
231NAME IS NULL:04/08/05 17:48 ID:???
>>229
乙津!
猫耳(*´Д`)ハァハァ
232223:04/08/05 17:59 ID:???
>それをRAIDもなしにバックアップで乗り切ろうとでも言うのだろうか(藁

勝手に話を広げられて藁われてもな。。。
RAIDなしとはどっから出た話か。
233224:04/08/05 18:22 ID:???
>232
 その規模だったら普通バックアップを取ろうとはしない(というか無理)。
 RAID1 で二重化するとか、RAID5ないし6 で復旧できるようにする、あるいはシステムそのものを
複数用意する。
 なのにバックアップなんて言葉を >225 でキミが書いたからな。

#だいたいバックアップ取るのにどれだけ時間がかかると……
234NAME IS NULL:04/08/05 18:28 ID:???
俺ならDBにはファイルのパスだけ入れておくけどなぁ・・・。
なんでと聞かれると困るけど。
235223:04/08/05 20:48 ID:???
>>233 >>244
パッケージソフトだから、バックアップ機能要るんだけど...

どれだけ時間がかかろうと、マシン構成に依存せずに実行出来るメニュー(ボタン?)と機能は要るわけさ。
236NAME IS NULL:04/08/05 21:00 ID:???
>>235

巣に帰れ
237NAME IS NULL:04/08/05 22:40 ID:???
>>234
漏れもそうするな。理由はDBのバックアップとファイルのバックアップを
別々にできるし、何かとハンドリングが楽になるから。
238224:04/08/05 23:58 ID:???
>235
 なるほど、つまり漏れが >233 で書いたことが、まったく理解できてないのか。
 ほんと、夏だねえ。
239223:04/08/06 08:40 ID:???
>俺ならDBにはファイルのパスだけ入れておくけどなぁ・・・。

こういう形態があるのを知った上で違うものを開発しようとしてるんだけど。
ファイルを間違って移動したり消したりしたらもう把握できないでしょ、10万ファイルあったら。

>RAID1 で二重化するとか、RAID5ないし6 で復旧できるようにする、
>あるいはシステムそのものを複数用意する。

マシン構成はRAIDで良いんだけど、
パッケージソフト的にはあるデータ郡を別サーバに移動とか削除とか、
そういったメニューがいるわけ。
また違う方面の回答しておいて、お前わかってない、って言うのか?
マシン構成を話題にあげてないのに。
240NAME IS NULL:04/08/06 08:44 ID:???
Firebird自身オープンソースだし、
Firebird本体や上乗せしたインターフェース開発 or 利用の話をしようよ。

RAIDの話は別スレで。
RAIDのことを知りたい人が居るなら会話続けても良いけど、そうじゃないから。
241NAME IS NULL:04/08/06 08:47 ID:???
それから、普通はそういことはしない、とか、
だいたいバックアップ取るのにどれだけ時間がかかるか、とかいうのも無し。

今まで無かった凄いソフトウェアを作ろうという意見を否定する必要はない。
否定するにしても、oraを潰してやろうというIBphenix/FBスレに相応しくない。
242NAME IS NULL:04/08/06 09:06 ID:???
夏だからとか夏厨だからという言い方も、
一般的なものを素晴らしい物、妥当な物と信じ込んでるSヨっぽくてみっともないね。
FBには逆のことを期待したい。
243NAME IS NULL:04/08/06 11:03 ID:???
>>241
そのシステムってFirebirdが出てくる必然性がどこにもないよね。
どのDBMSでも出来るような話をこのスレでする必要はなし。

> 今まで無かった凄いソフトウェア
ぜんぜん既出だし、凄くもないし、>>223に作れるわけもないし。

> oraを潰してやろうというIBphenix/FBスレ

そういう意見はことごとく否定され続けてきたわけだが。
そもそもOracle使ったことのある人間は適材適所が分かってるから
そう言うこと言わないしね。
244NAME IS NULL:04/08/06 11:13 ID:???
>>243
こういう言い方は良くないけど、
あなたがそんな書き込みを続ける中で
このスレが存続してもショウガナイじゃない。

あなたに何もお願いはしません。
このスレから消えてくれるだけで良いので、どうかお願いします。
245NAME IS NULL:04/08/06 11:15 ID:???
>>244
お断りします
246NAME IS NULL:04/08/06 11:17 ID:???
>>245
じゃ、会話に絡んできて下さい。

新技術で解決するという話をして、出来ないという話はやめましょう。
247224:04/08/06 11:30 ID:???
>243
 凄く「遅い、使い勝手悪い」システムにはなるだろうけどな(w

 Firebird に限らず、どんな RDBMS でも、そういう使い方はしないね。
 それで性能が出る RDBMS あったら教えて欲しいわ。
 少なくとも Oracle も DB2 も Sybase/MS SQL Server も MySQL も Interbase/Firebird も、
みーんな性能でない。
248NAME IS NULL:04/08/06 11:39 ID:???
「凄く遅い」が一箇所あれば全部駄目、という話は出ないよ。
そこをどう解決するか、という話。
全バックアップのときのみファイルコピーするという切り抜けもあるし。
(このとき10万ファイルもあったら駄目だよ。数えられるファイル数)

それから、「使い勝手悪い」は関係ない。
システム作るのに要るインターフェースを書いただけで、それを使わない人が悪いインターフェースだって言ったところで。。。
249NAME IS NULL:04/08/06 12:00 ID:???
>>246
じゃあ一回だけ絡んでやる。

>>247
パフォーマンス的にボトルネックになるのは単に馬鹿でかいBLOBフィールドの
送受の部分だけでしょ? そのBLOBがストリーミングデータのような物ならRTP
のような仕掛けが必要だけれども、単にでかいだけのファイルでしょ?

DBMSの性能が大きく影響する部分とは思えないねえ。
RDBMSベースのファイルシステムとして、OracleのiFSやLonghornのWinFSが
実際に実現されているのだから、そんなレベルの話で「どのDBMSもだめ」
なんて結論なら、どのしくみ使っても性能でないね。

>>223,>>248
必要最低限の知識も身につけず、やりたいことだけ語るなんてのは妄想に劣る。
幼稚園児が「将来パイロットになりたい」って言ってるのと同じレベルだ。

もっと自分の知らないことがなんであって、その実現のためにはどれだけの知識を
身につける必要があるのかを知るべき。
250NAME IS NULL:04/08/06 13:02 ID:???
絡む相手を間違えたみたいだね。>>249
247は224であって、要望を出している223ではない。
「必要最低限の知識も身につけず」と、
またまた自分が根も葉も無い話を落として悦にいるんでつか。

やりたいことを語るのを否定して、なんでこのスレに居るんだろう。
251NAME IS NULL:04/08/06 13:06 ID:???
>>249
こんなに長く邪魔するなんて、邪魔するにもほどがあるんでは?

>じゃあ一回だけ絡んでやる。
最後にして下さい。お願いですから。
252NAME IS NULL:04/08/06 13:53 ID:Y/FK6l90
wikiに上げたDBD/DBIのリファレンス更新しました。
wiki上のミス修正や、制限事項、日時表現の変更、sthに関する情報の追加など。
あと、TIPSでトランザクションでの表ロックについても。
これはisql上のTRANSACTIONでもすぐに確認出来ます。wsql などでは駄目ですが。

ttp://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?cmd=search&word=FrontPage
253224:04/08/06 13:53 ID:???
>249
 ああ確かに iFS(今は Oracle Files か)とか、WinFS とかあるね。
 しかしあれらを使うようなレベルって、個人だとせいぜい数十GB規模までだし、逆にTBクラスの
ファイル群をどうこうしようとするならそれなりに設備がかかるし。
 どっちにせよ、>223 の想定にはそぐわないでしょ。
 そもそも軽量コンパクトな Interbase/Firebird でやることでもないし。

 もっとも、>223 が iFS や WinFS を知っていたかどうかまでは知らんけど。
254NAME IS NULL:04/08/06 13:59 ID:???
>>253
お願い、変な想定しないで。
ソフトの料金は安くて、ユーザが設備を投資すればスケーラブルに莫大なデータが入るものを作りたいんです。
それから、iFSも関係無いし、SQL ServerなWinFSも要りません。

話を広げてまで人を否定するのはそろそろ勘弁。
255NAME IS NULL:04/08/06 14:06 ID:???
急にスレが盛り上がってきたな。2、3人が書いてるだけだろうが。
256NAME IS NULL:04/08/06 14:09 ID:???
盛り上がってんじゃなくて、話の枠を広げたり関係無い話出してまでして、
人の話を否定するのに一生懸命な人達が居るだけ。

いい加減にして欲しい。
257NAME IS NULL:04/08/06 14:23 ID:???
>>256
人が何をネタに何を話そうが勝手だろ?
誰もお前の要件定義やってるわけじゃないからな。

話の枠が広がると言うことは、お前のやろうとしていることというのは
それだけの枠が必要だということだよ。
258223:04/08/06 14:27 ID:???
じゃ、用件定義

<必須機能>
a)数十メガ単位のファイルを10万ファイル保存
b)HTTPインターフェースでファイルを入出力(認証機能欲しい)
c)検索キーは文字列
d)ファイル数は数えれる範囲内(30くらい?)
e)通常LAN内で1ファイルの取得は30秒以内
f)Windowsでも動作(WinFSや他社DBは不要)
g)RAID設定はユーザに依存
259NAME IS NULL:04/08/06 15:11 ID:???
>>258
通常LANって何だ? 100BASEか? 100BASEか?
いずれにせよ30秒以内という条件があるのだからそれを満たすには
何Byteまでのファイルが扱えるのか計算できるだろ。
少なくとも「数十メガ単位のファイル」などというアバウトな数字は
出てこないだろ?

あと、a)では10万ファイルと書いているのに、d)の30ファイルくらい
というのは何だ? 10万なのか30なのかどっちだ。

検索キーの文字列って何だ、具体的に何Byte程度の文字列なんだ?

HTTPインターフェイスって何だ? 説明しろ。
FTPじゃだめなのか、SMBじゃだめなのか、認証が必要と書いてあるが
どの方式だ、転送データは暗号化しなくていいのかどうなんだ。

何が必須機能だ、アホか、手を抜くな。
260223:04/08/06 15:52 ID:???
そろそろ消えてくれたら嬉しいんだけど。>>259
261NAME IS NULL:04/08/06 16:00 ID:???
>アバウトな数字は出てこないだろ?

仕様の設計ということを知らない香具師か。箱売り導入しかしらんSヨだな。

>HTTPインターフェイスって何だ? 説明しろ。FTPじゃだめなのか、SMBじゃだめなのか、

HTTPと指定してるだろ。SMBまで出すヴぁか。HTTPとM$ネットワークと価値が違うのわからんのか。

>何が必須機能だ、アホか、手を抜くな。

人の仕様を叩いて提言も無いのに、手を抜くな、か(アキレル
262224:04/08/06 16:42 ID:???
>258
「パッケージソフトである」ってのが抜けたけど、それ要件に含めなくていいのか?

で、だ。
a) と d) とでファイル数が大きく食い違うのは、どういう意味か説明したまい。
 保存するファイル数が10万のオーダーで、それを数十ファイルにまとめて格納する、のか?
 それとも検索で出てくるファイル数のオーダーが数十なのか?

c) で検索キーは文字列といっているが、その文字列に含まれる情報は何?
 ファイルの名前? 概要? コメント? ファイルの全文情報から切り出した単語?

e) 取得するのは数十MBのファイルだとして、それを30秒以内で転送するには、最低でも
(平均50MB と仮定して)13.5Mbit/sec 以上の転送速度が必要。
 途中のオーバーヘッドなど加味すると、100Base-TX クラスだと同時5転送が限度ってとこだ
ろうが、それで性能的に問題はないのか?

この辺が詰められてから「んじゃ DB なんにするかね」ってあたりの話になってくるんだけど。
※検索で全文検索を含むようだと、Firebird でやるのはキツイ
263223:04/08/06 16:53 ID:???
>「パッケージソフトである」ってのが抜けたけど、それ要件に含めなくていいのか?
パッケージ or 専用ソフトに使う、ファイルマネージャライブラリ、というつもりです。
表面的には画像ライブラリサーバソフトを想定しています。(明確に書くとマズイ)

>c) で検索キーは文字列といっているが、その文字列に含まれる情報は何?
プライマリキーのための意味の無い文字列です。

>a) と d) とでファイル数が大きく食い違うのは、どういう意味か説明したまい。
> 保存するファイル数が10万のオーダーで、それを数十ファイルにまとめて格納する、のか?
その通りで、数十万ファイルを数えられるファイル数(1〜数十)に収めたい、ということです。

>それを30秒以内で転送するには、100Base-TX クラスだと同時5転送
自分の用途には全く問題ありません。

>※検索で全文検索を含むようだと、Firebird でやるのはキツイ
パッケージソフトの機能は別にあり、いざ画像を必要とするときだけに必要なサーバとなるので、全文検索は無いです。
264223:04/08/06 16:55 ID:???
「画像」は「動画」の間違いでした。
画像程度なら通常テーブルの1カラムで十分。
265NAME IS NULL:04/08/06 17:04 ID:???
盛り上がっていると思ってきてみれば。。。

>>223
アプリケーションサーバーを作るつもりなんだよね。
使用する言語はなんなのか決めないと具体的に答えてもらえないんじゃない?

<必須機能>をみるとa)以外は機能的には何とでもなりそうだし。(性能的にはしらんけど)
FBでやりたいのはわかるけど、用件定義としてはFBじゃなくても可能な一般的な話だし、
他のすれで聞いた方がいいんじゃない?具体的な実装方法となると使用言語にも依存するし。

>>252
wikiに書いてる人乙!
ほんとありがと!
266NAME IS NULL:04/08/06 20:32 ID:???
どうもです。変なURL書いてました。正しくはこっちですね。
ttp://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?FrontPage
Perlに関してはかなり充実しましたよね。
267NAME IS NULL:04/08/06 20:44 ID:???
なんつー住人のスキルに差があるスレなんだ。
厨が未知の単語をググリながら煽ってるのが目に浮かぶw


素人怖いよ〜
(*´д`*) バカハヤダネ
268NAME IS NULL:04/08/06 23:49 ID:???
この話、Firebirdスレでやる必要あんのか
別スレ立ててそっちでやってくれないか
269NAME IS NULL:04/08/08 13:17 ID:???
いつかオラクルが必死で潰しにくる。やめとけ。
270NAME IS NULL:04/08/09 08:57 ID:???
Firebirdの使い方を書けないならなんのスレなんだろ。
271NAME IS NULL:04/08/09 14:24 ID:???
すみません、このスレにFirebirdの開発状況に詳しい人いますか?
AMD64対応がどのくらい進んでいるのか知りたいんですが。
昨年末にプロジェクトが立ち上がったと思うんですがその後なにも
情報がないようなのですが。
272NAME IS NULL:04/08/09 22:00 ID:dY1BMWtx
wikiのリンクから本家見れば解決でしょ。
http://www.firebirdsql.org/index.php?op=devel&sub=engine
これのVULCANという奴なんじゃ?
64bitプラットフォーム&SMPフルサポート&ハイパースレッディングフルサポート予定と。
273NAME IS NULL:04/08/09 22:54 ID:???
現在のプロジェクト進捗状況を聞いてるのでは?
274NAME IS NULL:04/08/09 23:06 ID:???
ちゃんと書いてあると思うよ。
HEADを1.6としてSep.にαリリース予定でテスト中と書いてあるような。
VULCANのαも近日中で、うまくいけば年内にファイナルまでなんとかなりそうだと書いてある気がする。
統合した2.0のαは来年の春予定?
275NAME IS NULL:04/08/10 10:01 ID:???
Firebird64 >>>>> 32bitの各種RDB

ということでつか?
276NAME IS NULL:04/08/10 10:17 ID:???
最近のDBは内部表現64bit処理が増えてきてるから有効ではありそう。
いずれにせよ出るのはまだ先だし、その頃には回りもバージョンアップするだろうし。
277NAME IS NULL:04/08/10 12:50 ID:???
>>272
サンクス。だいたいわかりました。
いつもIBPhoenixしかチェックしてなかったのでこちらに書いてあるのは
気づきませんでした。
278NAME IS NULL:04/08/10 13:03 ID:???
1.6(HEAD)のこの機能よさそうだね。

>Implement physical and multi-level incremental backup
>Nbackup needs to be confirmed as complete, documented and tested.
>Proposed Release: 1.6

完成すればバックアップ時間がかなり早くなりそうだ。
279NAME IS NULL:04/08/10 15:46 ID:zFHFIUoU
              ry、
             / / }
           _/ノ.. /、
           /  <   }
      ry、     {k_ _/`;,  ノノ パンパン
    / / }      ;'     `i、 
   _/ノ../、   _/ 入/ /   `ヽ, ノノ
  / r;ァ  }''i" ̄.   ̄r'_ノ"'ヽ.i   ) ―☆
 {k_ _/,,.'  ;.  :.      l、  ノ  
    \ `  、  ,i.    .:, :, ' / / \
     ,;ゝr;,;_二∠r;,_ェ=-ー'" r,_,/   ☆


【ラッキーレス】
このレスを見た人はコピペでもいいので
10分以内に3つのスレへ貼り付けてください。
そうすれば14日後好きな人から告白されるわ宝くじは当たるわ
出世しまくるわ体の悪い所全部治るわでえらい事です
280NAME IS NULL:04/08/10 21:49 ID:???
教えて!エロ井主!
Delphi + Firebirdでは以前やったことがあるんだけど,
.net DataProviderなるのが本家のサイトにあったんだけど,
もしかして,VisualStudio.netのC#とODBCやADO以外での接続が
可能になるの??
281NAME IS NULL:04/08/11 07:33 ID:???
.NET使ってないから知らんけど、きっと .Netから(ODBCとか使わずに)直接アクセス
できるようになるんでないの?
282NAME IS NULL:04/08/11 15:59 ID:8pO3BcEl
wiki のプラグラミングガイドに Firebird+PHP に関する情報を追加しました。
とりあえずセットアップ編ということで、ODBCとInterBase関数、Windows&Linuxに
関して書いてあります。

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?FrontPage
283NAME IS NULL:04/08/11 19:52 ID:???
>>282
おつかれさま。

結局躓くところは「FB1.5とPHPのすれ違い」の所だから、もう少し詳しく書いて
おいた方が良いのでは?
ユーザー会の方には細かいマニュアルがあるみたいだね。

あと、Windows環境でPHPの日本語の扱いをまともにしようと思うと結構ややこしいし
このマニュアルを必要とするレベルの人は確実に文字化けで填ると思う、その辺りも
追記した方が良いかと。

いろいろ注文してごめんよ。
284NAME IS NULL:04/08/11 20:02 ID:???
お仕事用に手元にある RedHat 7.3 に FB1.5 入れようとしたら入れるのが非常に面倒
であることが判明したんで挫折して 1.0.3 に戻したのだ。経験者よろしく〜
285NAME IS NULL:04/08/11 21:10 ID:???
あ、面倒というのは、共有ライブラリの問題とか増えてるコマンドを使って
インストーラが出来てるので修正が必要とかで PHP の問題とは別だよ。
今更7.3使ってる人間もほとんどいないだろうから参考にはならんし。
286NAME IS NULL:04/08/12 11:42 ID:B2/YhvSp
wiki ですが、クイックスタートへのLinuxの項目追加を先にやりました。
287NAME IS NULL:04/08/17 09:35 ID:o9WPibgQ
FB1.5ユーザはFB1.5.1に乗り換えるべきでつか?
288NAME IS NULL:04/08/17 10:23 ID:???
こういう質問って一般的な回答しか出ないんじゃないかと。
リリースノート見て気になるバグが無くて、現在完全に安定動作してるなら無理に変える
必要はないというか。とりあえず変えても大きな問題はでなさそうだけど。
289NAME IS NULL:04/08/17 10:35 ID:???
サンクス>>288
つまり、マイナーバージョン出したくなったけど、
1.5ファイナルリリースした後だったので1.5.1にしちゃったみたいなもんだね。
緊急パッチみたいな存在ではない、と。
290NAME IS NULL:04/08/17 11:03 ID:PYguu6FG
wiki に設定ファイル(aliases.conf/firebird.conf)のリファレンスを追加しました。
1.5系用ベースです。
色々設定できるので、ファイル本体も一度は覗いてみた方がいいですね。
他にもFAQの項目追加など先週から細々とやってます。

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?FrontPage
291NAME IS NULL:04/08/17 15:51 ID:o9WPibgQ
オプソDBはFBしか使ったことないんですが、
ポスグレとかMySQLはどうなんでつか?
292NAME IS NULL:04/08/17 23:32 ID:???
どうっていわれても、どうもこうもない。
293NAME IS NULL:04/08/18 08:21 ID:???
Firebirdの話題じゃないが、InterBase6.5/7.1の重要なセキュリティアップデートが
出たみたいね。6は関係ないとこ見ると、FBには関係ないのかな。
294NAME IS NULL:04/08/18 09:23 ID:lz4Yj4Xj
じゃ、FBとIBを比べてどうでつか?

Delphi1.0に付いてたLocal Interbase 1.0を使った時には遅いなと思った。
それ以来IBに良い印象は無かった。多分マシンスペックの問題だろうが。
295NAME IS NULL:04/08/18 11:37 ID:???
>>294
機能的には完全にIBに負けてる
性能的には…どうなんだろう?
296NAME IS NULL:04/08/18 11:55 ID:lz4Yj4Xj
FBとIBの違いの即答レスがあるなんて、実は結構IB使われてる?
297NAME IS NULL:04/08/18 16:56 ID:???
>>294
IB6=FB0.9
IB6.5=FB1.0
IB7>FB1.6
機能も性能もこんな感じ。
298NAME IS NULL:04/08/18 16:56 ID:???
すまそ、FB1.5だ。
299NAME IS NULL:04/08/18 17:03 ID:???
IB7が凄いの?
それともFBが(ry
300NAME IS NULL:04/08/18 19:40 ID:???
そりゃIB7>FB1.5は当然だろ。漏れらはIB7のソースを見ることはできないが、
BorlandはFB1.5のソースを見ることができる。最低でも同じものが作れるわけ
だから。
301NAME IS NULL:04/08/18 20:05 ID:???
ファイル構造も変更して互換性を切ってるんだから、その辺りでも速度が上がってないと
おかしいししな。
302NAME IS NULL:04/08/18 22:59 ID:???
>>300
まあ実際にそんなことはやってないだろうし、それが出来るほどソースレベルの
互換性も存在しないと思うけどね。

現実はInterBaseに実装された機能を、Firebirdが後発で追っかけてるって感じだし。
303NAME IS NULL:04/08/18 23:48 ID:???
ソースってそんなに違うのかな。IB6=FB0.9の段階ではほんとに同じだったんだよね。
304NAME IS NULL:04/08/19 08:36 ID:???
>IB7>FB1.5

が事実だったとしてもショウガナイとして、
64bitになったときに逆転しないかな。
小賢しいことしてない素直なFBが突如高速に、なんて。
305NAME IS NULL:04/08/19 13:31 ID:???
IB7 = FB1.5 + SMP対応 + 非同期キャンセル + トランザクションモニタリング機能
306NAME IS NULL:04/08/19 14:50 ID:OgqJ57FB
wikiに、SQLリファレンスを追加しました。
とりあえず、一番肝要でややこしいSELECTのみです。
FB1.5までの変更に関して網羅したつもりですが、間違い・抜けはあるかも。

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?FrontPage

行ロックのとこ初めてまじめに読んだけど、ちょっと癖ありますな。
CASE節とか、ストアドで使うとちょっと面白そうですね。
307NAME IS NULL:04/08/19 16:27 ID:???
CASE節でよく使われるであろう例:その1
テーブルAのCODEが1の時は、BのNAMEフィールドを
テーブルAのCODEが2の時は、CのNAMEフィールドを
以下r
---------------
SELECT A.CODE,
CASE A.CODE
WHEN 1 THEN
(SELECT B.NAME FROM B WHERE B.ID = A.ID)
WHEN 2 THEN
(SELECT C.NAME FROM C WHERE C.ID = A.ID)
WHEN 3 THEN
(SELECT D.NAME FROM D WHERE D.ID = A.ID)
END
FROM A
---------------
こんなSQLが必要なテーブル設計しちゃダメだし、おそらく
UNIONの方が効率も良いのだろうけど、例と言うことで。

CASE節でよく使われるであろう例:その2
テーブルAのCODE毎のカウント
---------------
SELECT
SUM(CASE A.CODE WHEN 1 THEN 1 ELSE 0 END),
SUM(CASE A.CODE WHEN 2 THEN 1 ELSE 0 END),
SUM(CASE A.CODE WHEN 3 THEN 1 ELSE 0 END)
FROM A
---------------
これもCOUNT使えよってことなんだけど、例と言うことで。

CASE句は便利なんだけど、SQLの基本が出来てない人でも力業で
結果を吐き出せてしまうのが怖い。
308NAME IS NULL:04/08/19 17:56 ID:MTXQk78R
FBってデフォルトポート3050/tcpでつよね?

Windows XP Service Pack 2 入れるとファイアウォールにひっかかってしまうこと無いですか?
対処方法キボン

ttp://support.microsoft.com/default.aspx?kbid=875357
309NAME IS NULL:04/08/20 19:50 ID:39fYexR2
なんだかあまりにも初心者な質問のせいか黙殺されているな.....
べつにポートを空ければすむことなんじゃ。今時ネトゲープレイヤーでも常識的なことだよ。
310NAME IS NULL:04/08/21 11:34 ID:???
なにげに1.5のReleaseNote見てて気づいたけど、HyperThreadingと
Firebirdって相性悪いのね…。サーバ、Xeonで発注しちゃったよ。

しばらくClassicで動かすか、HT切るか迷うところだなあ。
1.5.1のClassicってServiceAPIの追加で、機能的にはSuperServerに
不足してる部分って無くなったんだよね?
311NAME IS NULL:04/08/22 15:56 ID:???
つーことはOpteronサーバ発注した漏れは勝ち組ですか?
しかしFBは32bit・・・・。
312NAME IS NULL:04/08/23 11:47 ID:???
uid と gid ってどういった時に使うんでしょ?
デフォルトで放置してるせいか機能が分かりません
313NAME IS NULL:04/08/24 07:10 ID:???
それって別にFBの疑問じゃなくて、UNIX系列の疑問なんでは。
誤爆?
314NAME IS NULL:04/08/24 08:22 ID:???
キャラクターセットの質問なのですが、カラムのキャラクターセットをSJIS_0208やUNICODE_FSS等に設定していると、日本語データをinsertしようとるすと

Arithmetic exception, numeric overflow, or string truncation
Cannot transliterate character between character sets...

のメッセージが出てきてinsertに失敗します。
NONEにしておけば問題なくinsertできるのですが、NONEのままで使用して問題ないのでしょうか?

現在はIBConsole(Ver1.0.1.335 JP Fix01)でやっています。
FireBird1.5(FreeBSD上で動作)、InterBase6(BCB付属)ともに同じ状況です。

315NAME IS NULL:04/08/24 09:00 ID:QkcsxiU8
SQL見せてミソ
316NAME IS NULL:04/08/24 09:35 ID:???
>>315

データベースはIBConsoleからSJIS_0208指定で作成

create table test (
  col1 char(8),
  col2 varchar
);

insert into test
values (
  '001',
  '日本語'
);

という感じでやっています。
IBConsoleからテーブルを見てもキャラクターセットはきちんと設定されています。
317NAME IS NULL:04/08/24 10:05 ID:???
>NONEのままで使用して問題ないのでしょうか?

自分も同じように、
>Arithmetic exception, numeric overflow, or string truncation
エラーが出たので、NONEで使ってる。UTF8なら問題無さそう。

おそらく問題が出るのは、
文字列をUTF8以外のUNICODEで格納すると検索時のときの%が動作しなかったり、
文字列ソートで全然違う順番になっちゃうんじゃないかな。
318NAME IS NULL:04/08/24 10:55 ID:???
NONEだと文字コードの変換は行われないとなってるけど、ソートオーダー周りとか
クライアントインタフェースによってはエスケープ文字の問題は出たりはするかもね。
実際、最初はNONEでやったてけど、何かの理由で途中で変えたような曖昧な記憶
があります。
とりあえず、うちは試しにやってみたけど、IBConsole で日本語入れても特に問題は
起きないですよ。SQLでも、IBConsoleの編集機能でも。
DB本体は1.5.1、IBConsoleは1.0.1.335JP Fix01で同じはずだけど。
ちなみにIBCからの接続はlocalhost経由のネットワーク接続でやってます。
IBConsoleのメタデータ表示はこんな感じ。

SET SQL DIALECT 3;
/* CREATE DATABASE 'localhost:e:\firebird\test.fdb' PAGE_SIZE 4096
DEFAULT CHARACTER SET SJIS_0208 */
/* Table: TEST1, Owner: SYSDBA */
CREATE TABLE "TEST1"
(
"S1"VARCHAR(16) CHARACTER SET SJIS_0208
);

試しにBCB付属のIB6+ローカルサーバ接続でやったら同じエラーが出て確かに
うまくいかないですね。なんでだろ?EUCJ_0208なら大丈夫なんだけど。
319NAME IS NULL:04/08/24 14:23 ID:AiZ1oNfe
wikiのSQLリファレンスに、INSERT/UPDATE/DELETEのページを追加しました。
まーこの辺はSELECTと違って普通なんですが、使用頻度も高いということで。
次は CREATE TABLE 辺りを予定。

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?FrontPage
320NAME IS NULL:04/08/24 16:57 ID:QkcsxiU8
DEFAULT CHARACTER SET SJIS_0208
でもだめ?
321314:04/08/24 20:41 ID:???
とりあえずFirebirdを1.5.1に入れ替えてみたところ、正常にShiftJISの入力を受け付けるようになりました。

しかし日某製品付属のIBで日本語周りの動作がおかしいってどういうこっちゃ(。A。)
322318:04/08/24 20:46 ID:???
サーバ側でSJISなんかのキャラクタセットを有効にすると、クライアントライブラリ側もそれにあわせて
接続パラメータ設定しないと、その手の文字変換エラーが出ることがあったような気がする。
isql だと CONNECT の前に SET NAME を使ってキャラクタセットを設定するわけだよね、
IB6 の SQLリファレンス見ると、CONNECTは設定しないと NONE になるみたいだし。
IBConsoleもその辺りの原因で上手く行ってないような気がしてきた。
会社でもう一回やってみるか。
323NAME IS NULL:04/08/24 22:06 ID:???
>>321
どういうこっちゃはお前だよ。ロクにドキュメントも読まずに勝手にIBのバグにするんじゃない。

お前がNONEなんかでやってるから1.5.1でまともな結果吐くようになったんだよ。
ttp://www.ibphoenix.com/downloads/Firebird_v15pt1_ReleaseNotes.pdf
324NAME IS NULL:04/08/25 11:27 ID:???
NONEなんか駄目ってことかい?
325NAME IS NULL:04/08/25 18:24 ID:???
もう何年もSJIS_0208で使ってるが問題発生したことない。
326NAME IS NULL:04/08/25 19:50 ID:???
>>324
読めよ
327NAME IS NULL:04/08/26 00:32 ID:???
1.5.1をWin2000で使ってみてるんだけど、
接続ユーザのパスワードって、先頭の8文字しか使ってくれないんだけど、
こういうものなの? なんとかならんもん?
328NAME IS NULL:04/08/26 00:36 ID:???
JDBCでサーブレットから接続してみたんだけど、
PreparedStatementオブジェクトを二度close()すると、
SQLExceptionが送出されるみたい。
JDBCのStatementのclose()って、すでにclose()された状態で
もう一回close()しても、何も起こらないだけって仕様で
決められてるんじゃなかったっけ?

俺が単に勘違いしてるだけだったらスマソ。
329NAME IS NULL:04/08/26 11:57 ID:IRCGfiLu
wiki の SQL リファレンスに、CREATE TABLE,DROP TABLE, DECLARE TABLE
を追加しました。次はCONNECT系あたりかな。

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?FrontPage
330NAME IS NULL:04/08/27 12:36 ID:33mQhnG+
wiki に CONNECT系やその他を追加しました。
ちょっと前に書かれてたキャラクタセット NONE だとどうなるかなどもある程度
書かれていますね。
CONNECTの複雑な使い方なんかは、埋め込みSQLを使いこなすしてツールを
作るときなどには必要なんでしょうけど、それ以外ではあまり関係ないですか。
次はCREATE DATABASE関係辺りを。
331NAME IS NULL:04/08/30 09:24 ID:dAaBQL6a
ODBC Version 1.2では何が良くなりましたか?

名称を見るところJDBCとは分離したんですね。
別に困りませんが。
332NAME IS NULL:04/08/30 10:01 ID:???
アーカイブの中見ると、OdbcJdbcうんたらとなってるな。
OdbcJdbc.docの中のリリースノートをざっと見たけど、かなり色々追加されてるよ。
ODBCのスカラー関数をドライバでFB向けに変換する機能とか、ESCAPE節サポートとか、
あとは時間でミリセカンドサポートしたなどなど色々。
他にもマルチスレッドサポートとかツーフェーズコミットのサポートとか。
333NAME IS NULL:04/08/30 14:11 ID:RnbQwlKX
wiki に CREATE DATABASE、DROP DATABASE、ALTER DATABASE を追加しました。
ALTER DATABASE は実際には使ったことないかな。
334NAME IS NULL:04/08/31 11:40 ID:wgpF/bW2
wiki に SET TRANSACTION 、COMMIT、ROLLBACK を追加しました。
SET TRANSACTION の用例には、isqlでのテーブルロックの例も追加しておきました。
335NAME IS NULL:04/09/01 15:25 ID:ddAPmuFx
http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?FrontPage

wikiに、Firebird1.5適用のすべての組込み関数のリファレンスを追加しました。
IB6にはないSUBSTRINGやEXTRACT関数、CURRENT_TIMESTAMPなども入っています。
CASTの用例として、経過日数や時間の計算例なども入れてみました。
あとは、演算子関係とUDFが入れば、使用において基本的なところは押さえていますかね。
336NAME IS NULL:04/09/01 21:03 ID:???
>>335
インデックスとか制約とかトリガーとかビューとかストアドとかジェネレーターとか
イベントとか例外とかドメインとかは?
337NAME IS NULL:04/09/02 08:22 ID:???
そのうち何割かはすでに書かれてる気がするのだが。

>>335
今更といえば今更なんだけど、SUBSTRING試してみたけどちゃんとキャラクタセット設定
しておけばシフトJISでも日本語ちゃんと扱えるね。
NONEだと予想通りバイトのキャラクタセットと同じ扱いのようで、無理やり切られるわ。
338NAME IS NULL:04/09/02 09:59 ID:???
>>337
SUBSTRINGの話だけど、マルチバイト文字で不具合が出るなんて話あったっけ?
339NAME IS NULL:04/09/02 10:09 ID:???
いやいや、NONEとすると無理やり切っちゃうんだという確認。
あと、ドキュメント見ると、BLOB列に対して使うとサブでテキストタイプと指定しても
キャラクタセットの指定は無視されてシングルバイト処理になるみたい。
340NAME IS NULL:04/09/02 14:32 ID:???
無理矢理切るとは、NULL後のデータが切られるということ?
341NAME IS NULL:04/09/02 15:34 ID:???
多バイト文字非対応のPerlやPHPのように普通にバイト単位で切っちゃうというだけでは。
大抵は文字が化ける。
342NAME IS NULL:04/09/02 15:47 ID:???
>>340
1文字1バイトで扱ってくれという指定をしているのだから
無理矢理という表現がおかしい。
343NAME IS NULL:04/09/02 16:13 ID:???
NONEは1文字1バイトのキャラクタを指定したというわけじゃないと思うよ。
少なくともマニュアルの文章だと、なんでも自由に格納できるカラムという感じ。
アプリケーションが責任を持つ前提で、1つの列で色々なキャラクタセットを混在させたい場合
やバイナリを格納するなどの用途のものだと読み取れるのだが?
344NAME IS NULL:04/09/02 16:26 ID:E9aiqyVu
wikiに演算子とFB1.5でのUDFを追加しました。
ついでに、CAST関数の用例にキャラクタセットを指定する用例を足しました。
345NAME IS NULL:04/09/03 15:09 ID:qXu+oAhD
wiki に CREATE INDEX, ALTER INDEX, DROP INDEX, SET STATISTICS
などのインデックス関係を追加しました。

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?FrontPage
346NAME IS NULL:04/09/03 15:41 ID:89kbj5Gj
外部コマンドを実行するUDFってどこかで見たような気がするんだけど
誰か知りませんか?
347NAME IS NULL:04/09/07 08:51 ID:WklaK1OB
wiki に、ALTER TABLE, ALTER DOMAIN, CREATE DOMAIN, DROP DOMAIN を
追加しました。
348NAME IS NULL:04/09/08 00:59 ID:m+RXEIcF
IBXのInterBaseAdminのツール郡はFireBirdで動作しないんでしょうか?
IBLicensingServiceでユーザー追加しようとすると接続できないみたいな
メッセージ connection lost to database をはいて失敗するのですが。。。
349NAME IS NULL:04/09/08 08:08 ID:???
>>348
IB6付属のIBConsoleからだと普通にユーザー追加はできてるが‥‥

名前からするとユーザーじゃなくてクライアントライセンスを追加しようとしてるんじゃないか?
350NAME IS NULL:04/09/08 15:36 ID:lYrG+Wqj
wiki に、CREATE VIEW, DROP VIEW, CREATE GENERATOR, DROP GENERATOR,
SET GENERETOR, CREATE SHADOW, DROP SHADOW を追加しました。
シャドウ関係に関しては SQL リファレンスだけでは良くわからないところが多いすぎる
ので、オペレーションマニュアルなどを情報源に、大幅に内容を追加しました。

これで、5割以上完了というところ。
351NAME IS NULL:04/09/08 20:21 ID:???
>>349
レスを読んでIBSecurityServiceを使うべきなことに気づきました。
これでうまくいきました。ありがとうございました。
352NAME IS NULL:04/09/08 23:04 ID:???
wiki編集してる人乙。

>これで、5割以上完了というところ。
マニュアルもやっぱ分量多いですね。
353NAME IS NULL:04/09/09 09:42 ID:???
シンプルとは言っても機能もそれなりにあるし、やっぱり製品ベースだからドキュメントの量は結構
多いですな。
354NAME IS NULL:04/09/09 17:55 ID:???
SYSDBA以外のユーザーがユーザー追加、削除、変更などを
行うにはどうしたらいいのでしょう?
355NAME IS NULL:04/09/09 22:06 ID:???
管理者権限でセキュリティデータベースにつないで、ユーザーデータベースの表に
SQLのGRANTでそれなりの権限を与えればいいんでないの?
やったら、一応gsecで追加できるようになったようだけど。
もしもこれで意味がわからないんだったら、危険だからやらない方がいいと思う。
わかってもやらない方がいいかもしれないが。
356NAME IS NULL:04/09/09 23:12 ID:oxmoz8nx
>>355を見てヘルプを読んでるとUSERSテーブルで直に権限与えなくても
ストアドへの特権割り当てでできそうな気がしてきました。
ストアド書いたことないんですががんばってみます。

なんとか安全にユーザーが自分でパスワード変更できるようにしたいと思います。
357NAME IS NULL:04/09/10 11:30 ID:UtPJAym0
wiki に、CREATE PROCEDURE, ALTER PROCEDURE, DROP PROCEDURE, EXECUTE PROCEDURE,
RECREATE PROCEDURE の日本語訳追加と、その他細々とした追加・修正をしました。
ストアド関係も SQL リファレンスだけでは情報が随分足りないようなので、Data Definision Guide
を元に内容を大幅に追加してあります。
1.5リリースノートの内容も反映しました。

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?FrontPage
358NAME IS NULL:04/09/13 15:14:18 ID:xFloZI5v
wiki の SQL リファレンス日本語訳に、CREATE TRIGGER、ALTER TRIGGER、DROP TRIGGER
を追加しました。
同時に、マルチアクショントリガに関する記述もリファレンス内に追加しました。
359NAME IS NULL:04/09/13 17:24:33 ID:8I/oS1Tw
wikiの中の人、お疲れ様です。ところで、どなたかBLOB型の使い方を
教えてもらえないでしょうか。解説サイトとかも教えてもらえれば助かります。
PHPを利用した画像のDBを作成予定なんですが、よくわかりません。
とりあえずファイル名でリンクして逃げてるんですが…。
ID,FLG1,FLG2,画像
といった形で格納して、IDやFLGで検索して該当データを引っ張っりたいの
です。
BLOBの格納、検索、抽出の仕方のサンプルコード書いていただけないでしょうか。
よろしくお願いいたします。
360NAME IS NULL:04/09/13 20:08:10 ID:???
PHPならPHPマニュアルの User Contributed Notes に簡単な例があるよ。
最後の方の eric_cavalcanti at hotmail dot com の書き込み。

http://jp.php.net/manual/ja/function.ibase-query.php
361359:04/09/14 05:27:16 ID:???
>>360
さんくすです。気づきませんでした。サンプル試してみます。
362NAME IS NULL:04/09/15 09:17:13 ID:1brmaK0z
wiki の SQL リファレンスの日本語訳に、CREATE EXCEPTION, ALTER EXCEPTION,
DROP EXCEPTION, EVENT INIT, EVENT WAIT を追加しました。
363NAME IS NULL:04/09/16 11:33:19 ID:Pf5th0zN
wiki の SQL リファレンス 日本語訳に、GRANT, REVOKE, CREATE ROLE, DROP ROLE
を追加しました。
364NAME IS NULL:04/09/17 15:52:49 ID:0GPICApp
wikiのプログラミングガイド『Perl+DBI/DBDでFirebirdをアクセス』をテスト作成したのですが、
スクリプト実行で、接続確認は

Succses.

でした。
しかしselect実行では

DBD::InterBase::db prepare failed: An error was found in the application program
input parameters for the SQL statement.
-Dynamic SQL Error
-SQL error code = -804
-Data type unknown
-Client SQL dialect 1 does not support reference to BIGINT datatype
Error : prepare.

と、エラーになります。
DBDのパスが通ってないのでしょうか?どうしてなのか教えてください。
365NAME IS NULL:04/09/17 20:14:09 ID:???
エラーメッセージの通りなんじゃないの?
クライアントが Dialect1 になってるというのとBIGINTというデータタイプがないというエラーが
出てるわけだし。Dialect3 じゃないと、BIGINTは使えないよ。接続時に指定できるよね。
366364:04/09/18 09:51:46 ID:i3T8fzs6
まさしく、その通りでした。
ありがとうございます。
367初心者:04/09/19 15:56:06 ID:lcRrZsVR
場違いかもしれませんが教えてください。
最初10台くらいからParadoxのファイル共有型で、レコード数10万まで、テーブル数10くらいではじめました。
ParadoxはDelphiから使用し、データの読み出しはTQury、更新はTTableを使って、おもにSQLのコマンドを使うよりは
プログラムから制御していました。
端末台数が100台を超え、時々ロックファイルが残ったままになり、接続できなくなるため、(おそらくTimeOutのせい)
DBをFireBird、mySQL、PostegreSQLのどれかに変えようとおもっています。
100台のうち更新を行うのは、5台くらい、ただし残りの端末は更新があった場合5分以内に画面上のデータを更新
する必要があります。現在は、5分ごとにタイマーでDBのTimeStampを見て、更新されていたら、再度読み込む、
といった処理を行っています。
このような用途で、プログラムからの制御が中心になる場合、主として、速度中心に見た場合三者の特徴は
どのようなものでしょう。
いろいろ調べたのですが、決定的な判断ができずにいます。できれば、テーブル名、フィールド名に日本語が使えれば
なお可です。
よろしくお願いします。
368NAME IS NULL:04/09/19 17:43:50 ID:???
「Firebird Projectのニコライ氏、Firebirdの将来を語る」
ttp://www.itmedia.co.jp/enterprise/articles/0409/16/news085.html

REDOログも無いのにSmallOracleは言い過ぎかと思うけど、プロジェクトの
活気の良さが伝わってきていいね。わくわくしてくる。
2.0のリリース予定が予想外に早いのが意外だった。

> 加藤 : Firebird日本ユーザー会へのメッセージもお願いします。
> ニコライ : ユーザー会との方とはFirebirdプロジェクトでお会いしたいですね。

ワロタ
加藤氏はニコライ氏が何を言わんとしているか理解しているのだろうか?
369NAME IS NULL:04/09/19 17:56:30 ID:???
>>367
Delphi+Paradoxからの移行となるとやはりFirebirdが頭一つ抜き出てると思う。

あと
> 100台のうち更新を行うのは、5台くらい、ただし残りの端末は更新があった場合
> 5分以内に画面上のデータを更新する必要があります。

この要件に関しては、Firebirdはイベントと称してサーバからクライアントへの
通知機能を持っているから、それを用いることで
> 5分ごとにタイマーでDBのTimeStampを見て、更新されていたら、再度読み込む
> といった処理を行っています。

が必要なくなる。
プログラムからの制御、パフォーマンスともにFirebirdが優れているんじゃないかな?

> テーブル名、フィールド名に日本語
残念ながらこれは無理
370NAME IS NULL:04/09/20 12:55:59 ID:xF4DorF4
∧∧
( ゚Д゚) 堀江社長マンセーだゴルァ!!
⊂近鉄⊃ 加盟料60億円というのを撤廃しないクズオーナー共は逝ってよし!!
| |  漏れ達近鉄ファンの救いネ申!!ネ申様仏様堀江様!!
し'J                 

AA(ギコ)で書いて見ますた。ズレても修正しなくていいので・・・。
僕AA職人歴一週間なもので・・・。(そういうのを職人とはいわないか。)
371初心者:04/09/20 13:35:59 ID:yPrJl4Fu
>>369
ありがとうございました。
それにしても、ParadoxのTTableつかいやすかったです。
372NAME IS NULL:04/09/21 07:51:44 ID:???
日本語の列名だけど、Firebird / InterBase 6.01以降では使えるよ。
列名をダブルクォテーションで囲むと出来る。
これは、日本語を扱うという機能じゃなくて、予約語と同じものを列名やASでの指定に
使うための機能なんだけど、キャラクタセットの指定が出来ないので日本語を入れると
文字変換がらみのエラーが出たりツールによっては問題が出たりするよ。
isqlだと、キャラクタセットがNONE(デフォルト)で繋がってるときはいいけど、他で繋げると
エラーが出たりする。一応、FB1.5以降ではNONEでも日本語が扱えはするんだけど、
あまりお勧めできる使い方とは言えないかも。
373初心者:04/09/21 12:52:54 ID:B6uRKkfa
>>372さん
ありがとうございました。
>isqlだと、キャラクタセットがNONE(デフォルト)で繋がってるときはいいけど、他で繋げると
このあたり、難解ですががんばってみます。
>キャラクタセットの指定が出来ないので
は、
>ダブルクォテーションで囲
んだ、中身についてでしょうか。
データそのものについては、キャラクタセットの指定はできるんですよね。
もっとも、OSと同じでいいのですが。
374NAME IS NULL:04/09/21 13:50:49 ID:???
列属性でのデータ自体のキャラクタセット指定は出来るので問題ないです。
キャラクタセットに関してはSQLのSET NAMESを見ればわかると思います。
375NAME IS NULL:04/09/21 15:56:30 ID:lEX1rElG
>この要件に関しては、Firebirdはイベントと称してサーバからクライアントへの
>通知機能を持っているから、それを用いることで

使い方教えて。
376NAME IS NULL:04/09/21 16:04:58 ID:lEX1rElG
Windows XP2で動作させてみて、
C:\Program Files\Firebird\Firebird_1_5\bin\fbserver.exe
をファイアーウォールの例外にしちゃえば問題なく動作する、
と思いましたがあってまつか?

ポート3050/tcpを空けなくても問題無かったし、
クライアント側は何もしなくても動作したみたいだし、
ましてやDCOMは無関係。
377NAME IS NULL:04/09/21 17:30:40 ID:???
>>375
使った事無いので分からぬが。

1.アプリケーションがEVENT INITを発行し、自分が受け取るイベントを
 サーバのイベントマネージャに登録
2.アプリケーションがEVENT WAITを発行し、イベント待ち
 (非同期でイベントを受ける方法もあり)
3.ストアド・トリガー内でPOST_EVENTを発行し、イベント発生
4.イベントマネージャがアプリケーションに通知
5.アプリケーションがEVENT WAITの後の処理を実行

処理の流れはこんな感じ。
詳細はAPIガイド読んでおくれ。スマソ

>>376
> ファイアーウォールの例外にしちゃえば問題なく動作する
それがつまり3050/tcpを空けるということ
378NAME IS NULL:04/09/21 18:04:41 ID:lEX1rElG
Delphi/IndyだとWin XP SP2 でWindowsマシン名をIPアドレスに解決出来ないみたいでつ。

Firebirdも危なそうでつね。
確か、ブラウジングにUDPでブロードキャストしてたのは思い出しましたが、ポート番号忘れますた。
379NAME IS NULL:04/09/21 19:57:10 ID:???
>>378
自分が書いている言葉の意味をどれだけ理解しているか疑わしいレスだな…
380NAME IS NULL:04/09/22 08:50:04 ID:8ogg5n5D
>>379
おまいはWindowsマシン名のIPアドレス解決シーケンス知ってんの?
381NAME IS NULL:04/09/22 09:51:26 ID:???
>>375
WikiのDBI/DBDリファレンスとか、SQLのイベント関係の所に詳しく書いてあるよ。
API叩いてやるならまだこれだけじゃ情報が足らないけどね。
382NAME IS NULL:04/09/22 15:29:25 ID:OmSiyfz4
wiki の日本語SQLリファレンスに、カーソル系の DECLARE CURSOR, OPEN, CLOSE,
FETCH, INSERT CURSOR と、ホスト言語変数宣言系の BASED ON, BEGIN DECLARTE
を追加しました。
残りは、大きいところでは EXECUTE系と、UDF/BLOBフィルタ系という感じです。

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?FrontPage
383NAME IS NULL:04/09/27 14:49:02 ID:VqDEKDHj
2.0、3.0が立て続けにリリースされるけど、
おまいらどうするよ。
384NAME IS NULL:04/09/28 07:49:39 ID:???
と言われてもどっちも安定版はまだ少し先だろうし。
新機能使わない限りそんなに酷いことはないだろうけど。
385NAME IS NULL:04/09/28 10:14:32 ID:P3bp55DD
wiki の日本語SQLリファレンスに、カーソル系の DECLARE EXTERNAL FUNCTION,
DECLARE FILTER, DROP EXTERNAL FUNCTION, DROP FILTER などのUDF/フィルタ
関係を追加しました。
NetWareサポートに関しては、すでにレガシーサポートだし新規に使うことはまずない
ので訳は割愛してあります。
386NAME IS NULL:04/09/28 10:21:02 ID:ShJ++6Ad
新機能より、
>また、数Gバイトのデータベースであれば問題ありませんが、
>それ以上ではスケーラビリティの制限があります。
>これについてはFirebird 3.0で対応予定です。
のような性能、スケーラビリティ部分はほっとけないよNE!
387NAME IS NULL:04/09/28 10:22:16 ID:ShJ++6Ad
>Firebird 2.0ではインデックス周りの構造を大きく変更します。
これも性能に関係有るし。
自分は銀行系じゃないから、更新系は遅くても良いんだけど。
388NAME IS NULL:04/09/28 13:08:16 ID:???
Oracle-Mode Firebird だそうで。なんつーか無理矢理だなコレは…
http://www.janus-software.com/fyracle.pdf
389NAME IS NULL:04/09/30 14:58:44 ID:lrg3sNa3
wiki のSQLリファレンス日本語訳に、DECLARE STATEMENT, DESCRIBE, EXECUTE,
EXECUTE IMMEDIATE, PREPARE, WHENEVER を追加しました。
フリーで公開されている InterBase6 のSQLリファレンスの内容は網羅してると思います。
Firebirdで追加されたのはまだいくつか抜けていますが。
390NAME IS NULL:04/09/30 18:30:00 ID:4zt2HNVY
ストアド内でジェネレータを reset したいのですが、
なんとかしてできませんか?
391NAME IS NULL:04/09/30 19:19:30 ID:???
>>390
GEN_ID(hoge, 0 - GEN_ID(hoge,0));

やってないので分からないけど、つまりこういうことだよね?
392NAME IS NULL:04/09/30 19:23:01 ID:???
SET GENERATOR というのがありますよ〜

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?CREATE%20VIEW#set_generator

リファレンスも折角あるんだから活用せんと。
393NAME IS NULL:04/09/30 19:39:04 ID:???
>>392
ストアド内でって言ってるじゃん…
394NAME IS NULL:04/09/30 20:00:10 ID:???
PSQLでもEXECUTE STATEMENT で DSQLが実行できるし。
395390:04/10/01 18:33:54 ID:8HlagfWC
>>391
つまりそういうことでした。 ありがとうございます。

>>394
意味がわかりませんでした。
396NAME IS NULL:04/10/01 19:28:22 ID:???
ストアドでも使えるということ。1.5以降ならね。
397NAME IS NULL:04/10/02 06:43:12 ID:6m1B7vVI
PSQLのところ。1.5以降ではDSQLを実行する文が出来てる。このすれでも前に話題に
なってたけど。
http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?CREATE%20PROCEDURE#psql
398390:04/10/02 10:27:56 ID:???
>397
ありがとう
EXECUTE STATEMENT "SET GENERATOR hoge to 0";
こういうことですね
String -> ダブルコーテーションをつけるという発想(常識?)が抜けていて散々悩みました
すっきりしました
399NAME IS NULL:04/10/02 11:25:58 ID:???
ジェネレータの操作はトランザクションの適用外。

要件にもよるのだろうけど、ジェネレータに単なる一意の値以上の意味を求めることは
Firebirdのアーキテクチャの想定外だと思われ。
400NAME IS NULL:04/10/04 09:37:16 ID:???
通常は、insert や update をするときのユニークチェックは
DBに任せるのが筋なんでしょうね。
401NAME IS NULL:04/10/04 10:39:47 ID:???
Firebirdに限った話じゃないけど、筋というか、少なくともアプリがデータのコピー
を持ってないと処理できないし。
そうなると、DBそのものが必要なのか?ということにもなるレベルだと思うが。
アプリ側でやると、マルチタスク化やマルチクライアントに対応するのが面倒に
なるし、そうなると導入のメリットが大幅に減るかと。
速度面やトラフィック面、はたまた営業面で無理やり導入とかでそういうことが
必要になる場合もあるだろが。
402NAME IS NULL:04/10/04 13:28:46 ID:???
>>401
誰か翻訳きぼんぬ
403NAME IS NULL:04/10/04 14:28:02 ID:5RueMgOg
wiki のSQLリファレンス日本語訳のトランザクション関係のところに、
1.5で追加された文、SAVEPOINT と RELEASE SAVEPOINT を追加しました。

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?FrontPage
404NAME IS NULL:04/10/05 13:07:54 ID:AgCno/sy
Firebirdを動作させてるPCを何ヶ月もほっといたら、
Windowsが仮想メモリでディスクをくいつくしてて、
FirebirdがWindowsのレベルでファイル書き込みエラーを起こしてますた。
データが一部復旧できなかった(ファイル書けないので当たり前)のですが、
ディスクが書けないとFirebird自身が停止してくれれば、
と思ったんですがどうでしょうか。
405NAME IS NULL:04/10/05 13:56:53 ID:???
データベースの同期書込みをオンにしておかないとファイルアクセスがメモリにキャッシュ
されるのは当たり前のような気がするけど。OSのライトキャッシュに入っちゃったら
アプリケーションからはまったく手を出しようがないし。
やってみればわかるけど、WinNT以降は、ファイルをクローズするか同期書込みにしない
かぎり、OSはかなりのデータをメモリに溜め込むよ。クローズはコネクションがある間は
行われないだろうから。
406NAME IS NULL:04/10/05 14:37:48 ID:???
みんなサーバにWindowsつかってるの?
407NAME IS NULL:04/10/05 14:55:29 ID:???
当然だろ。OSといったらMSで一択。

Linuxその他は論外。
408NAME IS NULL:04/10/05 15:24:37 ID:???
その証拠に、「OSが落ちる」という言葉には馴染みがあるが「UNIXが落ちる」という言葉には馴染みがないだろ。
409NAME IS NULL:04/10/05 16:33:28 ID:AgCno/sy
>>405
設定方法教えてでつ。

>>408
UNIX時代には、コア吐く、と良く言ったな(遠い目
410NAME IS NULL:04/10/05 19:36:39 ID:PjsiCLR5
IBConsole で出来たかどうかは忘れたけど、gfix に -write sync を指定すればいいはず。
当然パフォーマンスは落ちるだろうけどね。同期書き込みはそういうものだから。

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?%A5%B3%A5%DE%A5%F3%A5%C9%A5%E9%A5%A4%A5%F3%A5%C4%A1%BC%A5%EB%A4%CE%B4%CA%B0%D7%A5%DE%A5%CB%A5%E5%A5%A2%A5%EB#gfix

あと、同期モードにするとfirebird.conf にこの関係の設定があってこれが生きてくる。
これを設定しちゃうと、効果半減だと思うけどね。フラッシュ関係のところ。
デフォルトは禁止になってる。MaxUnflushedWritesだね。

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?%C0%DF%C4%EA%A5%D5%A5%A1%A5%A4%A5%EB%28aliases.conf%2Ffirebird.conf%29%A4%CE%A5%EA%A5%D5%A5%A1%A5%EC%A5%F3%A5%B9
411NAME IS NULL:04/10/06 23:41:45 ID:???
>>405
Windowsはそんな怖い仕様なんですか。
バッファがあふれなくても定期的にDISKに書き込み入ってると思ってたよ。
412NAME IS NULL:04/10/07 08:13:05 ID:???
この辺に関しては良し悪しというよりも設計思想の違いというのも大きいと思うよ。
UNIX系で使うときでも、同期書込みモードにしないとOSで実際にディスクにいつ書かれる
かはわかんないからねぇ。それを使っても100%に近いは保証はできないわけだし。
413NAME IS NULL:04/10/07 08:38:43 ID:???
>>404
> Windowsが仮想メモリでディスクをくいつくしてて、

?
414NAME IS NULL:04/10/08 09:31:19 ID:f3GBdaCZ
Firebird1.5、文字コードNONEでDBファイル作成、UNIQUE INDEXをvarchar(128)項目に付けて(IDX_TESTというインデックスとして)、テーブル作成しますた。

そこで、UNIQUE属性カラムの文字に"A"をinsertして、次に"A "(後ろに半角スペース一つでつ)をインサートすると、
attempt to store duplicate value (visible to active transactions) in unique index "IDX_TEST"
と怒られます。前にスペース付けた場合はエラーになりません。
どういう理屈でエラーになるんでしょうか?
415NAME IS NULL:04/10/08 10:36:02 ID:TZUMKGHS
選択プロシージャの引数にテーブルの項目を与えたいのですが、どのような
方法があるのか教えて下さい。

SELECT * FROM TABLE_A, HOGE_PROC(TABLE_A.ID)

このような事がしたいのですが、うまくいきません。
416NAME IS NULL:04/10/08 10:46:03 ID:???
>>414
CHARACTER SET が OCTETS でない場合、フィールドのその後の文字は空白で満たされる
仕様なんじゃないの?だから最後を空白にしても文字数ぎりぎりでない限り制約にかかると。
実際、列のキャラクタセットに OCTETS (バイナリ用?)を指定したらちゃんと入るよ。
1.5.1だけど。
417NAME IS NULL:04/10/08 11:04:48 ID:???
>>416
凄く納得できました。

RDBってRDB特有の世界で整合性取ってますから、
使う側からすうと結構不思議な振る舞いしてくれますよね。
418415:04/10/08 11:10:52 ID:???
自己レスです

SELECT * FROM TABLE_A JOIN HOGE_PROC(TABLE_A.ID) ON 1 = 1

でいいんですね。
419NAME IS NULL:04/10/10 16:12:09 ID:VTvvdjuc
ストアド・プロシージャのデバッグってどうやるのですか?
SUSPENDで値をみるくらいしか方法がわかりません。
ツールとか他に良い方法を知ってたら教えて下さい。
420NAME IS NULL:04/10/11 23:40:10 ID:???
>>419
IBExpertの商用版にはストアドとトリガーのデバッガが付いてるよ
421NAME IS NULL:04/10/13 00:55:15 ID:Tdtx1z2z
>>420
商用版ですか。フリーがあれば一番ですがそう都合の良いものはないですね。
ご回答ありがとうございました。 参考になります。
422NAME IS NULL:04/10/19 14:05:17 ID:JiptoTna
Wikiのニュース更新age。
ドライバ関係はわりと良くバージョン上がるね。
423NAME IS NULL:04/10/19 14:39:25 ID:EogOq3E1
行単位でデータを吸い上げたり出来るツールは無いでつか?

ディスク0になってたとこで書いたのでDB吹っ飛びましたでつ。

IB系ライブラリで接続エラーでつ。
424NAME IS NULL:04/10/19 15:01:54 ID:EogOq3E1
gfixでどのオプション使えば修復されるんですか?
なんかエラーばっか。
425NAME IS NULL:04/10/19 15:09:57 ID:EogOq3E1
gfix -v も -fも駄目だし、読めるとこまで別DBに出力なんて出来ないの?
426NAME IS NULL:04/10/19 15:34:20 ID:???
根本的にそういう事態に遭遇したことないけど、gbakでバックアップしてからリストアしてみれば?
エラーのレコードは除去されるかも?制約もあるから微妙な線だけど。
エラーを無視するオプションもあるから、上手くいかなければそれを付けてみることもできるし。
DBファイルを普通にファイルとしてコピーを保存しておけば後で簡単に現状へ復元できるし。
427NAME IS NULL:04/10/19 15:59:58 ID:EogOq3E1
>>426
gbakも試してますが、駄目みたいです。

なんらか、ある程度のデータを復旧出来ないもんでしょうか。
428NAME IS NULL:04/10/19 17:32:41 ID:EogOq3E1
>checksum error on database page 103071
みたいのが出ますが、
ページ指定でなんかできるのかな。
429NAME IS NULL:04/10/19 19:04:26 ID:???
>426で、gbakにエラーを無視するオプションがあると書いてあるでしょうに。
430NAME IS NULL:04/10/19 19:40:37 ID:???
>426で、gbakにエラーを無視するオプション

-igも利きません。

正確に今の状況を書きますと、
ツールでデータの中身は見れますし、
文字数値データのSQL文出力は完璧にできました。
BLOB項目が取り出せれば復旧できます。

後、BLOB項目をそのまんまファイルに吐いてくれるツールが無いかな...
431430:04/10/19 19:51:53 ID:???
データベースに復旧接続とか復旧データ吸い上げ機能ってあるけど、
Firebirdに限らずBLOBが絡むと難しいのかな。
432430:04/10/19 20:01:05 ID:???
Firebird本体はレコードをCSVに吐き出す機能は無いのかな...

SQL絵に上輪だと、SQL文でバイナリ含めてCSVの入出力があったが。
433430:04/10/19 20:13:34 ID:???
BLOBエラーのせいか、
>I/O error for file "X.FDB"
>Error while trying to read from file
>ファイルの終わりです。
>gds_$receive failed.
と出てgbkファイルまで消えます。

とりあえず、頑張って読んでくれたところまでgbkファイルを残してくれないものか...
434NAME IS NULL:04/10/19 21:56:07 ID:???
>>423
IBExpertのExtractMetadataで取れない?
体験版で試したらBLOBデータは別ファイルに落とされて、
そのファイル内でのアドレスを書いたようなSQLができたっぽい。

読み取り途中でエラーになるなら、WHERE条件をつけてみるとか。
435NAME IS NULL:04/10/20 13:21:06 ID:5DzUviix
>>430
gfix -m -f -i X.FDB

-m(mend) で破損部分をバックアップ対象にしないようにしないとダメ
終わったら再度gbakしてみ
436430:04/10/20 14:45:04 ID:???
サンクス>>435

gfix→gbakと同じ処理をやってたのですが、
gfixは1回のコマンドで全てを修復してくれないのを忘れてました。

gfixを何度も行い、gbakのオプションを変えながら復旧できます田。
437NAME IS NULL:04/10/26 19:24:16 ID:4PI49EQy
jpegファイルを格納するフィールドを作成したいのですが、BLOBで良いんですよね?
サイズはどのように指定すればいいのでしょうか?
438NAME IS NULL:04/10/27 10:44:06 ID:???
>>437
サイズ指定しないからBLOBなんだが...
439437:04/10/27 19:29:07 ID:T8/6DCgM
>>438
0でいいんですか?
440NAME IS NULL:04/10/28 03:18:30 ID:???
>>437
指定しなければいいんでない?
441NAME IS NULL:04/10/28 08:55:54 ID:???
サイズを指定するんであれば、
CHARを文字コードNONEで使うのお勧め。

というか、BLOBてのは、
Create Table JPEG_TABLE(
CD INT Not Null,
JPEG_IMAGE BLOB,
Primary Key(CD)
);
て感じでしょうが。
442437:04/10/28 23:01:16 ID:O9Utpj+w
あぁ、すいません。
IBExpertからいじってるへたれなもんで、そういういみでしたか。
ありがとうございました。
443NAME IS NULL:04/11/02 11:19:32 ID:HqENtaqf
1.5.2 RC1 が出たね。wikiの方にも一応加筆しておきました。
まぁRC1だからまだ入れないけど。
http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?FrontPage

リリースノートはざっとしか見てないけど、バグフィックスと64bit版を睨んでの
バージョンアップかな?
444NAME IS NULL:04/11/02 16:05:40 ID:aCzMCDMy
64bitになったら、どんな良いことがありまつか?

コンバートツールありまつか?
445NAME IS NULL:04/11/02 16:29:04 ID:???
>>444
別にコンバートしなくてもいいよ。64Bitマシン上に64Bit版Firebirdを入れて、
既存のデータをリストアするだけ。

メモリの上限が上がるので今いっぱいいっぱいの人にはいいんじゃないか?
446NAME IS NULL:04/11/02 18:05:38 ID:???
>>445
まじかよ。楽で良いね。

でも、64bitのLongは、
-9,223,372,036,854,775,808 〜 +9,223,372,036,854,775,807
の筈だが、
32bitのfdbファイルを64bitのfdbにalterするなんて作業は要らないの?
447NAME IS NULL:04/11/03 06:22:28 ID:WSPL05BN
BIGINTは32bit版でも64bit版でも64bitだからね。
更に大きな数値を扱う型が増えるかもしれないけど。
あと、内部の論理ポインタなどは64bitになってるはずだから、その関係の処理も
64bitCPU+64bitコンパイル版になるだけで少し速くなるよね。
448NAME IS NULL:04/11/04 09:22:12 ID:/OyQa01H
>>447
つまり、32bitバージョンで、create table BITINTしとけば、
64bitバージョンで変更無い。

また、32bitでlongしとけば、64bitでintに見える、等、
FBからの見え方が変わるだけでコンバート不要ってことだね。

それなら64bitスグ使いたい。



Windows 64bit持ってないけど。
449NAME IS NULL:04/11/05 11:06:07 ID:8svHVeOl
FB64bit使っている人いまつか?
450NAME IS NULL:04/11/06 01:26:43 ID:???
ノシ

2.0Alphaををテスト中。
451NAME IS NULL:04/11/08 09:55:45 ID:wpmbfTGP
すいません、Firebird1.5をインストールしたのですが、
win32版だとローカルサーバーがインストされてないって言われるんで
win32_pdbってのをインストしたら無事使えたのですが
pdbってなんなんですか?
452NAME IS NULL:04/11/08 11:07:50 ID:???
>>450
で、どうよ。

>>451
>win32版だとローカルサーバーがインストされてないって言われるんで
はつみみです。
本当にインストーラから入れたの?
453451:04/11/08 11:21:02 ID:???
>>452
すいません、勘違いですた。ローカルサーバーを登録し、
再起動したら無事できました。
んでpdbってなんですか?
454NAME IS NULL:04/11/09 15:02:28 ID:Abx4A9J6
ODBC接続してます。
が、別イーサネットのWindows XPSP2で接続出来なくなった、
と言われましたが...
455454:04/11/09 16:26:57 ID:Abx4A9J6
>Unable to complete network request to host "(略)"

というエラーなので、FBに関係無さそうですた。
456NAME IS NULL:04/11/09 16:31:17 ID:???
そりゃファイアウォールの設定が適切じゃなければ繋がらなくなっても
何もおかしくないような。どこで引っかかってるかはそれだけの情報じゃ
わからんけど。
そもそもSP2は会社では入れないとこが多いと思うがね。うちの会社も
インストール厳禁、間違って入れたら完全自己責任で修復のペナルティ
になっとる。
457コピペ推奨:04/11/09 16:56:22 ID:uUtOSml0
●2ちゃんねるは創価学会のベンチャーだった!●

1 :名無しさん@そうだ選挙に行こう :04/07/11 16:42 ID:DfqA2A8A
●2ちゃんねるは創価学会のベンチャーだった!●
中尾嘉宏 創価学会札幌支部幹部、2ちゃんねるのサーバー管理者
ピンク2ちゃんねる代表 前科2犯児童買春斡旋、マルチ詐欺
ピンクちゃんねるで創価学会札幌支部にお布施、
エロサイトの資金で池田大作先生も潤い、喜ばれているそうです。

http://money3.2ch.net/test/read.cgi/venture/1089531720/l50
458NAME IS NULL:04/11/09 21:54:11 ID:???
>>456
インストール保留の設定しないとWindowsUpdateでSP2は入ってしまうわけだが…
まさかWindowsUpdateも禁止か。

それにしても、未だSP2の検証が済んでない、SUS立ててブロックするわけでもない
ユーザーに責任を押しつける事で対策とする。

こりゃ完全にネットワーク管理者の怠慢だな。
459NAME IS NULL:04/11/10 00:39:56 ID:???
SP2のファイアウォール切れよ、それで解決
460NAME IS NULL:04/11/10 10:13:31 ID:???
別にSP2を入れなようにしても WindowsUpdate は使えるわけだが。
461NAME IS NULL:04/11/15 00:08:40 ID:???
>>458
SP2の検証が済んだから厳禁としてるように読めるのだが。
462NAME IS NULL:04/11/16 20:22:37 ID:???
wikiにあるフィールドの一覧に ID(rdb$field_type)の項目を追加してみたんだけど、
FB1.5で使えないField_Typeがあるようですね。
IBExpertで確認できなかったので、?にしておきました。

また、DelphiのInterBaseのソースを眺めて判ったのですが、
rdb$field_typeが若干ちがうみたいですね
どなたか情報をもっていませんか?

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?%A5%AD%A5%E3%A5%E9%A5%AF%A5%BF%A5%BB%A5%C3%A5%C8%A1%A6%A5%C7%A1%BC%A5%BF%B7%BF%A1%A6%B8%A2%B8%C2
463NAME IS NULL:04/11/17 11:11:12 ID:t0J2wyTE
isql で次のようなSQLを打てばリストが表示できるよ。

select * from rdb$types where rdb$field_name='RDB$FIELD_TYPE';

BIGINTはINT64が相当するんだろうね。多分。
464NAME IS NULL:04/11/19 12:59:36 ID:???
190さん、ありがとう。

465NAME IS NULL:04/11/19 23:17:37 ID:???
FirebirdSSとFirebirdCSの違いってなんですか?
466NAME IS NULL:04/11/20 00:33:27 ID:???
コネクションごとの処理をSSがスレッド、CSがプロセス単位で行う・・・・かな? 自身なし。
467465:04/11/20 01:23:06 ID:???
>>466
ありがd
468NAME IS NULL:04/11/20 19:20:29 ID:???
FirebirdCS-***.tar.gz クラシックサーバ
FirebirdSS-***.tar.gz スーパサーバ
Firebird***64IO.tar.gz 64ビットIO版
469465:04/11/20 22:43:32 ID:???
>>468
なるほどdクス。
個人的な事で使ってるからCSですな。
470NAME IS NULL:04/11/22 19:00:04 ID:kFfFtJ7Z
個人用途で訳分からないならSSでいいんでないの?
471NAME IS NULL:04/11/23 02:27:18 ID:???
漏れもよくわかってないならSSだとおもう。CPUたくさん
積んでるならCSのほうがいいかもしれないが。
472NAME IS NULL:04/11/23 10:26:10 ID:???
昔のドキュメントには「マルチCPUならCSで」なんて書いてあったけど、今はどうなんだろ。
473NAME IS NULL:04/11/23 20:24:50 ID:???
>>472
どっちでも好きな方を使えばいいんだけど、効率はCSの方が高い。

って説明をどっかで読んだ希ガス。
474NAME IS NULL:04/11/24 09:16:26 ID:???
CSはプロセスベースだからコネクション確立の処理が重いのと、キャッシュもコネクション
ごとに取られるから接続数が多いとメモリの使用量が予想しにくいし、キャッシュの効果
がメモリ使用量のわりには悪くなりそうな気がするね。状況によるけど。
SSは、エンジンのマルチCPUへの対応がまだ途上段階なので、コネクションごとに
別の仮想空間が取られるCSの方がマルチCPUのメリットを享受できて現段階では
パフォーマンスが出るという感じなんですかね。
475NAME IS NULL:04/11/25 02:03:54 ID:???
つまりマルチCPUならCSにしてメモリたっぷりつんどけってことですね?
476NAME IS NULL:04/11/25 19:04:35 ID:???
質問ですが、テーブル数が多くなると性能落ちますか?
477NAME IS NULL:04/11/26 04:10:25 ID:???
>>476
何と比べてなのか質問の意味がわからん。

正規化してテーブル増えるのを心配してるんなら、まず一旦完全に正規化してから
問題があればあらためて非正規化するべき。
478NAME IS NULL:04/11/28 14:13:18 ID:???
>>476
単純に一つのデータベースファイル内でのテーブル数についての話なら
数百くらいのテーブル数では特に性能の低下は感じなかったかな
まぁ、バックアップの時間は長くなるけど。

479NAME IS NULL:04/11/29 10:01:11 ID:???
サンクス>>478

>数百くらいのテーブル数では特に性能の低下は感じなかったかな

テーブル数を減らす設計が要るのか検討してましたが、数百でも大丈夫なんでつね。
安心しました。

数百テーブルってどんな用途に使われてるんだろぅ。
480NAME IS NULL:04/11/29 23:49:29 ID:???
>>479
一時テーブルの使い道で作ったらこんな数に orz

Firebirdでテンポラリテーブルって使えるようにならないのかな・・
481NAME IS NULL:04/11/30 01:52:04 ID:???
数百はわからんが普通に設計すると百数十にはなるな。
482NAME IS NULL:04/11/30 09:02:37 ID:WlF48P8n
テンポラリテーブル、とか、百数十って、汎用機で作ったJCLのソートや抽出のような中間テーブルになってない?

RDBだとJCL1ページ分が1SQLになるから便利なんだよ?
483481:04/11/30 16:56:28 ID:???
いや、自分で設計したテーブルだけで百越えてるけどな。
マスタ系が50くらい、トランザクション系が70くらい。

規模によるけどそのくらいにはなることあるでしょ。
484NAME IS NULL:04/12/01 14:10:08 ID:2VLd90kY
1.5.2RC4が出たね。RCの更新リリース間隔短いな。
485NAME IS NULL:04/12/01 14:42:19 ID:???
1.5.0使ってんだけど、1.5.2が正式リリースされたら変えるべき?
486NAME IS NULL:04/12/08 09:47:04 ID:Te5ZScTE
データベースの検証(壊れてないか)は、どうやって調べてまつか?
487NAME IS NULL:04/12/08 10:37:51 ID:???
>>486
gfix
488NAME IS NULL:04/12/08 10:46:24 ID:Te5ZScTE
サンクス>>487

GUIでは出来ませんか?
489NAME IS NULL:04/12/08 11:32:40 ID:???
>>488
IBコンソールのメニューからデータベース(D)-メンテナンス(M)-データベースの検査(V)
あるいはIBExpert落としてきたら?
490NAME IS NULL:04/12/08 13:07:46 ID:???
>IBコンソール

このソースもオプソですよね。
これ組み込んじゃおうかなぁ。
491NAME IS NULL:04/12/10 01:00:59 ID:???
rowidの代替って、なかと?
教えて、エロい人。
492NAME IS NULL:04/12/16 13:21:28 ID:CxvZA629
おまいら、IBConsoleどこからダウソするよ?
493NAME IS NULL:04/12/16 13:56:01 ID:CxvZA629
>>489
IBConsole落としまして、リモートマシンに接続しましたが、そのメニューディセイブルでつ。

ローカルマシンだと接続エラーだし。
494NAME IS NULL:04/12/16 14:09:27 ID:???
>>492
ttp://www.twise.co.jp/download_m.html

(2)IBConsoleの日本語化ソースコード(Delphi 5)
からとってきている。メニューが日本語化されてる。
「ソースコード」とあるけど、実行ファイルもあるので単体で実行可能。
495493:04/12/16 15:08:22 ID:???
ローカルマシンエラーはパスワード間違いですた。

でも、
>>489 そのメニューディセイブルでつ。
が直りません。。。
496NAME IS NULL:04/12/16 15:35:23 ID:???
>>495
原因は2つ考えられます。

1) もっとも基本的…
画面左のツリーの
- InterBase Servers - Local Server -Databases
のツリーの下に、調査対象のデータベースはある?
Databasesの下にデータベースのエリアスを登録していないと、確かにDisabledになるけど、

2)
データベースがすでに登録されている場合、そのデータベースが開いていると、
調査はできないよ。
Databasesの下のエリアスのアイコン(青い円柱上のヤツ)に、緑のチェックが入っていると
データベースの調査のメニューが選択できない。
エリアスのアイコンを右クリックして、「データベースからの切断(D)」を選択して、
エリアスのアイコンに赤×が出るようにしよう。

つか、いろいろ事情があると思うけど、コマンドラインでできるようになったほうがいいと思う。
497NAME IS NULL:04/12/16 16:35:19 ID:OCa5514Y
Firebird1.03を使っています。
ストアドプロシージャの書き方を教えていただきたいのですが
SET TERM !! ;
CREATE PROCEDURE ZEN_BUSHO (V_dateFrom date,V_dateTo date)
RETURNS (V_BUSHO VARCHAR(20),V_HIYOKEI INT64)
AS BEGIN
SELECT SECTION.SECTION,Sum(ORDER.ALL_PRICE)
FROM ORDER INNER JOIN SECTION ON ORDER.SEC_CD = SECTION.SEC_CD
WHERE ORDER.ORDER_DATE Between :V_dateFrom And :V_dateTo
GROUP BY SECTION.SECTION
INTO
V_BUSHO,
V_HIYO
DO
SUSPEND;
END
!!
SET TERM ; !!
最初の引数の部分で
Unexpected end of command
CREATE PROCEDURE ZEN_BUSHO (V_dateFrom date,V_dateTo date)
と言われてしまいます。どの様に書いたらよいのでしょうか。

実は[SQL質疑応答スレ]の991なんですがビューで集計しようと思いましたが
期間を限定しなければいけないのでストアドならいいのかなと思った次第です。
http://pc5.2ch.net/test/read.cgi/db/1056973582/991
どなたかよろしくお願いします。
498493:04/12/16 17:19:19 ID:???
>>496

接続せずにメニュー開きましたが、
>>489 そのメニューディセイブルでつ。
やっぱ、が直りません。。。
499NAME IS NULL:04/12/16 17:26:12 ID:???
>>498
その書き方だと、接続を最初からしていない(エリアスがない)のか、一度接続したのを切ったのか
わかりにくい。
>>496の1)の状態なのか2)の状態なのか教えて。
貴殿が目の当たりにしている状態と、自分が想像している状態が大きく食い違っているかもしれない。
これ以上文章だけで話を進めていくのはちょっと難しいような気がする。

そろそろマニュアルをすみからすみまで読んだほうがいいかも。
500493:04/12/16 18:26:29 ID:???
>>499
接続できるエイリアスに接続せずにメニューを見ましたが、ディセイブルでした。
次に接続してログアウトしましたが、ディセイブルでした。

マニュアルありましたっけ?
501493:04/12/16 18:33:18 ID:???
間違ってました、エイリアス作ってませんでした。
エイリアス作って実行しました。

が、今度は、
>Error reading data from the connection
です。
502NAME IS NULL:04/12/16 19:27:21 ID:???
>>501
IBConsole上でテーブル構造やデータは読める?またはInteractiveSQLでSQL文の発行をして
データは返ってくる?
503NAME IS NULL:04/12/16 20:20:02 ID:???
>>497
あまり真面目に見てないのだが、とりあえず INTO の変数にはコロンが必要
なんではないかと思った。
あと、インデントがなくなるので尚更わからんのだが、DOに対応するループ文
がない様に思えるのだが。

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?CREATE%20PROCEDURE#psql
504497:04/12/16 21:02:39 ID:OCa5514Y
>>503
大変ありがとうございます。教えていただいたサイトも参考にしました。
INTO の変数に:をつけました。SELECT の前に FORを入れました。
それでも最初の引数の部分で Unexpected end of command がでました。
497では一行で書いていたのですが実は
ZEN_BUSHO (
V_dateFrom date,V_dateTo date
)
としていたのですが、これがいけなかったようです。1行で書き直したら
通りました。こういうものなのでしょうか。
IbConsoleの定義分の表示では改行が入っているのに・・・
同じ改行の入れ方で試しましたが、通りませんでした。
なんだか納得いかないです。

大変感謝しております。ありがとうございました。
505493:04/12/17 08:54:54 ID:ZU3j1xzL
>>502
読めます。

InteractiveSQLは、
>データベース名が指定されていません。
というエラーになりました。
506493:04/12/17 08:57:12 ID:???
切断、接続を行ったら、InteractiveSQLも正常動作しました。

なんかデリケートなツールですね。
507493:04/12/17 09:00:48 ID:???
データベースの検査で、
>Bad parameters on attach or create database
>secondary server attachments cannot validate databases
と、エラーメッセージが変わりました。

パラメタによってエラーでますか?
>Validate Record Fragment False
>Read Only Validation False
>Ignore Checksum Errors
508493:04/12/17 09:02:52 ID:???
連続投稿ゴメンなさい。

リモートのサーバーで>>501のエラー、
ローカルのファイルで>>507のエラー、
みたいです。
509NAME IS NULL:04/12/17 12:10:47 ID:???
>>508
失礼ながらデータベースの検査以外のIBConsoleの使い方は解っていますか。
サーバの登録とかデータベースの登録とか
「なんとかくクリックして入力して…」で使えるツールではないと思いますよ。
コマンドラインを利用できるけどタイプが面倒な人向けのツールと思います。
まずisqlとかgfixとかを利用してはいかがでしょうか。
どの段階で、(オプションで)そのエラーがでているかわかると思います。
510NAME IS NULL:04/12/17 12:35:31 ID:???
>>500
InterBase6のマニュアルをボーランド社に注文してそれを使っている。FB1.03レベルならば
ほとんど共通なので問題ない。
FBの日本語マニュアルはあったかどうか不明。
511493:04/12/17 14:55:22 ID:???
>>509
それはつまり、IBConsoleの問題でなくて、DBファイルにエラーがあるということ?(ガクガクブルブル

>>510
FB1.5でつ。
512493:04/12/17 15:16:15 ID:???
gfix -user SYSDBA -password ?????? ????.fdb -v -n

を実行したところ、無言でしたが、これはエラーが無かったと喜んで良いことでしょうか?
513NAME IS NULL:04/12/20 10:34:26 ID:???
完全にチェックするなら -f も付けた方がいいのかもしれない。
時間はかかるかもしれないけどね。
514NAME IS NULL:04/12/21 08:46:06 ID:Q9CHqILe
UPDATEでVARCHARkカラムの文字列の置換をしたいのですが、
UPDATE TABLE_NAME SET FIELD_NAME = REPLACE(FIELD_NAME, "置換前ワード", "置換後ワード")
のように処理する方法はありませんか?

515NAME IS NULL:04/12/21 09:45:57 ID:???
Perlで簡単なスクリプトを書くんじゃダメなの?
UDFを自分で作ればSQLのみでも出来ると思うけど。
516NAME IS NULL:04/12/21 14:30:57 ID:???
>>514
プロシージャ作ってループ処理させるとか。
517NAME IS NULL:04/12/22 18:33:10 ID:YdzSQzq9
FB起動後に、マッピングしたドライブにあるfdbファイルに接続しようとすると、
>Unable to complete network request to host 〜
というエラーになってしまいます。
回避方法はありまつか?
518NAME IS NULL:04/12/22 20:26:50 ID:???
>>517
もしかして、ローカル接続で試みていない?
ドライブをマッピングしたり、UNC記述をしたときにはうまく接続できない経験があった。
別PCに接続するんだったら、リモートサーバーに接続する設定にして、サーバー名、プロトコル名を
記述して接続したほうがいいよ。
ほんとうにローカルDBに接続するのにドライブをマッピングしているんだとしたら、ごめんわからない。

519NAME IS NULL:04/12/23 16:53:50 ID:ZSol6k2K
>もしかして、ローカル接続で試みていない?

localhostに接続してまつ。

>サーバー名、プロトコル名を 記述して接続したほうがいいよ。

この記述について、はつみみです。
この場合、ドライブとかパスとか隠蔽されるんですか?
520NAME IS NULL:04/12/23 17:15:25 ID:jMroU7Ve
ユーザ会のメーリングリストに投稿したのですが反応がなくて、こちらでも
お尋ねします。マルチポストすみません。
テーブルのデフォルト値を後から追加したいのですがどうすればできますでしょうか。
例えばINTEGER型の項目AAAに後からデフォルト値として0を設定したいのですが。
どなたか教えていただけないでしょうか。
Firebird1.03を利用しています。
よろしくお願いいたします。
521NAME IS NULL:04/12/23 22:02:02 ID:???
>>520
多分できない。

代替方法として、
 AAAと同じ型の項目AAA'を追加(DEFALUT付き)して、AAA'にAAAの値を入れて、
 AAAを削除して、AAA'の名前をAAAに変更
してみるとか。
522NAME IS NULL:04/12/23 22:03:59 ID:???
× DEFALUT
○ DEFAULT
523NAME IS NULL:04/12/24 00:42:55 ID:???
>>520
ALTER TABLEではできないっぽい。

あらかじめInteger型のDOMAINを作成して、
元々の列にInteger型ではなく、そのDOMAINを使えばALTER DOMAINでできた
524NAME IS NULL:04/12/24 01:25:34 ID:???
ALTER TABLE は型の変更や名前の変更はできるんだけど、デフォルト値
などの定義は変更できないみたいね。
あやふやだけど、制約に関しても表制約だけが対象だった気がする。
525520:04/12/24 02:22:25 ID:SopuNNWt
>>521-524
ありがとうございました。出来ないのは残念ですがすっきりしました。
521さんの方法で行うことにします。これだとカラム順に引っ張って
たりすると辛いですね…。
523さんのドメインは実は使ったことがないのでこれを機に試して
みたいと思います。
ありがとうございました。
526NAME IS NULL:04/12/24 08:50:57 ID:???
>>525
もう見ないかもしれないけど一応。
ALTER DATABASE は、カラムの順番を入れ替えることが出来ますよ。

ここの operation を参照。
http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?ALTER%20TABLE#alter_table

ALTER TABLE tbl ALTER col POSITION 1;
という感じ?
やったことないけど。
527NAME IS NULL:04/12/24 09:02:35 ID:???
う。ALTER DATABASE じゃなくて ALTER TABLEね。
528NAME IS NULL:04/12/24 13:56:08 ID:ulB8pfZ2
件数と性能がグラフになった文書とか無いで塚?
529NAME IS NULL:04/12/24 15:57:17 ID:???
>>520
IBExpertでDEFAULT値を変更すると、こんなスクリプトを吐いてくれる。

-----ここから
ALTER TABLE NEW_TABLE ADD IBE$$TEMP_COLUMN INTEGER DEFAULT 0;
UPDATE RDB$RELATION_FIELDS F1
SET F1.RDB$DEFAULT_VALUE =
 (SELECT F2.RDB$DEFAULT_VALUE
 FROM RDB$RELATION_FIELDS F2
 WHERE (F2.RDB$RELATION_NAME = 'NEW_TABLE') AND
 (F2.RDB$FIELD_NAME = 'IBE$$TEMP_COLUMN')),
F1.RDB$DEFAULT_SOURCE =
 (SELECT F3.RDB$DEFAULT_SOURCE FROM RDB$RELATION_FIELDS F3
 WHERE (F3.RDB$RELATION_NAME = 'NEW_TABLE') AND
 (F3.RDB$FIELD_NAME = 'IBE$$TEMP_COLUMN'))
WHERE (F1.RDB$RELATION_NAME = 'NEW_TABLE') AND
 (F1.RDB$FIELD_NAME = 'AAA');
ALTER TABLE NEW_TABLE DROP IBE$$TEMP_COLUMN;
------ ここまで

IBExpertには、バックでどんなSQLを流しているかモニタする機能が付いてるし
ほとんどの操作をスクリプトとして保存出来るから、すごく便利だよ。
530529:04/12/24 16:01:14 ID:???
今回の場合、早い話がRDB$RELATION_FIELDS.RDB$DEFAULT_VALUEを
直接弄ればいいって事らしいね。
531NAME IS NULL:04/12/24 22:17:27 ID:???
システムテーブルを直接弄るの怖いなぁ。
一歩間違うとエライ目にあいそう。
信頼性のあるツールを使う分にはいいかもしれないけど。
532NAME IS NULL:04/12/25 09:21:15 ID:iBDyqUFu
>>531
そりゃ禁じ手でしょ。テストで成功しても本番データ壊す鴨。

>>517-519 もヨロ
533NAME IS NULL:04/12/25 13:12:45 ID:???
>>532
もう少し詳しく説明してもらえるかな?
クライアントとかいろいろ
534NAME IS NULL:04/12/25 18:18:27 ID:???
>>533
Firebirdをサービスで起動して、
その後substコマンドで作った仮想ドライブに接続すると、
ファイルが無いエラーになります。

実ドライブ経由だと接続出来ます。

または、仮想ドライブを作った後にFirebirdをアプリケーション起動すると接続出来ます。
535NAME IS NULL:04/12/25 20:24:47 ID:???
2005年もまだsubstかよ
536NAME IS NULL:04/12/25 20:28:59 ID:???
>>532
仮想ドライブがネットワーク上の他のコンピュータなら、
そのネットワーク上のコンピュータにFirebirdを
入れて運用した方がいいと思う。
DBファイルだけネットワーク越しの場所に置いたりしたら
仮に繋げたとしても性能悪くなりそうだしね。


ドライブやパスを隠蔽するためにローカルドライブを仮想ドライブに
しようとしているのならaliases.confを使うといいと思う。

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?%C0%DF%C4%EA%A5%D5%A5%A1%A5%A4%A5%EB%28aliases.conf%2Ffirebird.conf%29%A4%CE%A5%EA%A5%D5%A5%A1%A5%EC%A5%F3%A5%B9#content_1_1
537NAME IS NULL:04/12/26 03:04:02 ID:???
>>517 "Unable to complete network request to host 〜"

仮想ドライブを他マシンのフォルダにして接続しようとすると
fbclient.dll でアクセス違反になるぞ。

仮にできたとしてもFBサーバがDBファイルアクセスのたびに
ネットワーク通信することになるわけだからパフォーマンス激遅になるだろう。

素直にDBファイルが置いてあるマシンにFBサーバ入れることだ。
538NAME IS NULL:04/12/26 23:58:35 ID:eFp/SsiQ
Firebird Embeded ServerとADO.Net ProviderでDBファイル作ろうとしているのですが、
ファイルパスに日本語が混じってると文字化けしてエラーが発生してしまいます・・。
どなたか解決方法をご存知の方はいませんか・・?
539NAME IS NULL:04/12/27 09:35:49 ID:???
そこで成功しても、結構IBXライブラリが日本語通さないので、
日本語が混じってるかチェックして、FBエラーになる前に自分でthrowしる!
540NAME IS NULL:04/12/27 11:34:01 ID:???
>>539
やはり無理なのですね。パスチェックしてエラーを防ぐようにします。
ありがとうございました。
541NAME IS NULL:04/12/28 00:10:48 ID:joP8dtza
1.5.2 Releaseあげ
542NAME IS NULL:04/12/28 08:45:57 ID:krzK7FZV
で何が変わったよ?
543NAME IS NULL:04/12/28 09:26:43 ID:I/LjRm2/
544NAME IS NULL:04/12/28 09:52:57 ID:???
バグフィックスとネイティブ64bit/マルチ対応を睨んだ内部処理の見直しじゃない。
545NAME IS NULL:05/01/09 09:33:33 ID:MCTgwBjz
たまには上げ。
ついでにスレ公認(??)のFirebird用wikiのリンクも貼ってみる。
リファレンスやQ&Aもあるので質問する前には要チェック。

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?FrontPage
546NAME IS NULL:05/01/10 09:40:56 ID:???
>>545
JP本家が何年かかっても出来ない(やらない)物が2chから
出てくるってのもすごい話だね。
547NAME IS NULL:05/01/11 10:38:20 ID:MfXcPZ5U
英文だけど、2.0は今月末のα版リリースを目指してるとか書いてあるね。
この時期での話だからプロジェクトは順調に進んでいるサインと見ていいの
だろうか。あと、3.0の予定とかも書いてある。
http://news.zdnet.co.uk/software/developer/0,39020387,39183292,00.htm
548NAME IS NULL:05/01/11 13:02:27 ID:???
まじ?
1.0スルーして1.5から使い始めて最新版だと喜んでいたのに、
2.0はどうかわるのよ?
549NAME IS NULL:05/01/11 14:55:18 ID:???
>>271-278
辺りを読むしか。
550NAME IS NULL:05/01/11 15:00:56 ID:???
1.03と1.5のサーバの共存はできますか?
1.5へそろそろ移行したいのですが、1.03で使った過去の資産があるので躊躇しています。
1.03と1.5はどれぐらい互換性があるんだろ・・・
551NAME IS NULL:05/01/12 09:24:55 ID:a251znoB
出来るようにする予定となってたけど達成できたかどうかは非確認。
リソースの設定を変えれば可能かもね。パイプ名や共有メモリ名などは変えてあるようだけど。
この設定次第で互換度も変わってくるし。
だからWin等でのローカル接続がデフォルト設定だと通らないツールがあるんだろうけどな。

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?%C0%DF%C4%EA%A5%D5%A5%A1%A5%A4%A5%EB%28aliases.conf%2Ffirebird.conf%29%A4%CE%A5%EA%A5%D5%A5%A1%A5%EC%A5%F3%A5%B9
552NAME IS NULL:05/01/14 03:00:43 ID:???
2.0は数ヶ月以内にリリース、また同じ頃には3.0の最初のテスト版が出てくる。
SMP対応がどんどん良くなる。

64Bit対応は2.0から、って最初言ってたのに1.5で対応してしまったので2.0の
魅力はあまりないかな。
553NAME IS NULL:05/01/17 09:01:00 ID:K+R8I3CX
Win64/FB1.5/64bit使ってる椰子いまつか?
554NAME IS NULL:05/01/19 01:22:45 ID:???
>>553
ノシ 1.5.2をオプで使ってるよ。
555NAME IS NULL:05/01/19 01:23:16 ID:???
あ、ゴメソ、Winじゃないや。
556NAME IS NULL:05/01/19 17:44:27 ID:???
557NAME IS NULL:05/01/21 09:08:56 ID:???
超初心者です。すんません。
Firebird1.0使ってます。
マカフィーのファイアウォールソフトと同居しているとDBへ更新漏れが
発生してしまうのですが、なぜでしょう?
マカフィー側ではC:\Program Files\Firebird\bin\ibserver.exe
を許可するようにしているのですが・・・。
どこから検証していけばいいんでしょうかね?
558NAME IS NULL:05/01/21 15:01:59 ID:???
色々ありすぎて、実際マカフィーを使ってて似たような事例を解決した人じゃないと
わからんのでわ。
DB、アプリ相互がどういう風な関係・環境で動いてるのかも質問じゃ分からんし。
559NAME IS NULL:05/01/22 02:13:00 ID:???
マカフィーのファイアウォールソフトを使ったことないんでわからないのだが、
「3050ポートは見るな」とか設定できるならした方がいいじゃないかと。
560NAME IS NULL:05/01/22 08:24:22 ID:???
そういや、海外の調査会社でエンタープライズ分野でのオープンソースDBの躍進と、
その中でもFirebirdが大躍進でMySQLと市場を二分しているというのが出てたね。
これはInterBaseからのリプレースが多いということかな。
企業数になると中小企業の方が多いだろうし。
でも、日本への波及はあまりなさそうだよなぁ。
561NAME IS NULL:05/01/25 13:25:12 ID:55tV9Eox
え、マジ?

記事になるのはポスグレとMySQLばかりなんで、FBどうなるんだと思ってたよ。

FB大躍進はハツミミでつ。
562NAME IS NULL:05/01/25 14:21:17 ID:???
海外の記事じゃポスグレこそ見かけないけど。
563NAME IS NULL:05/01/25 22:21:04 ID:???
Firebirdの書籍がもっとあれば日本でも人気出るんだろうけどね
564NAME IS NULL:05/01/26 04:23:00 ID:???
誰に許可なくFirebirdの本書いても問題ないよね?
565NAME IS NULL:05/01/26 09:39:53 ID:???
FBとMySQLとポスグレの比較表とかありませんか?
566NAME IS NULL:05/01/26 10:36:32 ID:???
比較表なんて無いだろ。

562が正しいなら、何でポスグレが日本で流行っちゃったんだろうね。

自分的にはファイルが1個&Winで普通に動作するFBがベストだな。
DBゴトキに管理時間かけてらんない。
567NAME IS NULL:05/01/26 11:12:23 ID:???
日本でポスグレが流行った理由は文字コード関係?
568NAME IS NULL:05/01/26 13:42:44 ID:???
ポスグレは、機能もあるだろうけどオープンソースDBに注目が集まりはじめるころに、
日本での普及に熱心な人達がいて、資料の訳などもどんどんやったからというような
ことは聞いたことあるな。聞いた話なんでソースは出せないけど。
569NAME IS NULL:05/01/26 14:21:13 ID:???
ポスグレ開発の中心人物が来日して日本企業に入ったみたいなIT系のニュースを不思議に思ってたんだが、
ポスグレが日本で一番流行ってるということなら、ありえない話でないね。
570NAME IS NULL:05/01/26 15:42:29 ID:???
FBは簡単、MySQLは軽量、なんて良く言われるけど、ポスグレは???
571NAME IS NULL:05/01/26 16:06:22 ID:???
PC-UNIXが流行りだした頃(96年頃?)は日本語でしっかりした情報が手にはいるのは
PostgreSQLぐらいしかなかった気がする。
当時のMySQLはRDBMSとは呼ぶには抵抗のある代物だったし。

Firebirdが日本で流行らないのは日本語での情報の無さだろうなあ。
日本ユーザー会も開店休業な状態だし(まあ何かを期待してたわけでもないけど…)
そういう意味でもこのスレのWikiの存在は大きいと思うよ。
572NAME IS NULL:05/01/26 16:45:25 ID:???
>>570
Windows上でだけど、MySQLよりFireBirdのほうがリソース消費少ないよ。
573NAME IS NULL:05/01/26 18:27:49 ID:???
ポスグレも8.0でWinに対応してきたから、他DBMSから移行する人や企業も多くなるかもね。
このままだとFirebird ユーザは増えるどころか減っていくんだろう。
574NAME IS NULL:05/01/26 18:29:50 ID:???
>>573
論理関係がよくわからないのだけど
575NAME IS NULL:05/01/27 05:02:30 ID:???
>>564
許可は別にいらないんじゃない?
不安ならPSネットワークあたりに聞いてみるのも良いんじゃないかと。
本出したら買うぞw
576NAME IS NULL:05/01/28 00:51:29 ID:???
>>564
自分が使うのはFirebird/PostgreSQLの2つに絞りたい(MySQLステ)ので、
本出したら買うぞ
577NAME IS NULL:05/01/28 03:59:32 ID:???
>>564
Delphi厨だったので、本出したら買うぞ
578NAME IS NULL:05/01/29 08:40:12 ID:???
データベースで、いくつあるか分からない複数の項目を取り扱うときはどうすればよいのでしょう?
八百屋で例えると売っている商品
山田店・・・キャベツ、人参、大根
松本店・・・大根、レタス
というような場合です
商品1、商品2、商品3・・・と項目を作っていけばいいのでしょうか?
聞き方悪いかな・・・
579NAME IS NULL:05/01/29 08:49:46 ID:???
>>578
DBの基礎から学ぶ必要があります
580NAME IS NULL:05/01/29 11:13:55 ID:???
>>578

釣りかもしれないけど暇だから質問の内容に近いページ探してきたよ。

ttp://www.psis.aichi-gakuin.ac.jp/tsdzki/SQL/db1-5.htm
ttp://ext-web.edu.sgu.ac.jp/HIKO/Prog03/SenpaiKyozai/Imai/4_3.htm
581NAME IS NULL:05/01/29 12:42:47 ID:???
暇だからそのものズバリ設計してあげるよ。そのDBに入るのが
仕入れ情報だと仮定すると、

商品マスタ・・・商品コード、商品名
店舗マスタ・・・店舗コード、店舗名
仕入データ・・・仕入コード、店舗コード、商品コード

という3テーブルが必要。
582NAME IS NULL:05/01/31 12:02:20 ID:???
>578 スレ違い。ここで聞け。

【より良い】データモデリング【モデルを】
http://pc5.2ch.net/test/read.cgi/db/1057509675/l50
583NAME IS NULL:05/02/01 11:15:23 ID:VlLhhkJT
ACCESSからODBC接続で、テーブルリンクしようとしてるんですけど、
「システムで予約されている(-7748)エラーです」

と出てきてリンクできなくて困っています。
プライマリキーの設定を削除したらリンクはできます。
IBOConsoleで、Default値に日本語を入力すると文字化けします。
このあたりの問題なのでしょうか。

DefaultCharacterSetなどの値はいろいろ変えてやってみました。
Noneにしても、SJIS_0208にしてもどれもダメでした。
何がいけないんでしょうか。
584NAME IS NULL:05/02/01 12:30:55 ID:???
>>583
ODBCドライバを疑ってみるとか。
585NAME IS NULL:05/02/03 09:21:30 ID:???
>>583
ODBCのドライバも結構バージョンアップしてるけど新しいの入れてるんだよね?
あと、メタデータを表示させて列のキャラクタセットも確認してみないと。
ODBCはあまり使ってないけど、特に問題引き起こしたことはないけどな。
586583:05/02/03 10:19:33 ID:xgCXo3YY
IBPhenixのドライバは、1.02.00.69でした。

Gemini InterBase ODBC Driver2.0 Ver.2.02.42.01
をダウンロードして、こちらを使用したらうまくリンクできました。
ありがとうございました。
587NAME IS NULL:05/02/04 00:44:35 ID:???
Firebirdでchar型に改行とかも考慮されて文入れることって出来ますか?
改行あるときはBLOBのテキスト型じゃないとダメとか・・・?
588NAME IS NULL:05/02/04 07:08:49 ID:???
例えバイナリでも入る。
各場所でのキャラクタセットの設定が適切じゃないと文字化けが出たりエラーが出るが。
589NAME IS NULL:05/02/04 10:01:43 ID:???
DBファイル作成時にキャラクタセットをNONEにすれば、バイナリ入る。
590NAME IS NULL:05/02/04 11:26:24 ID:???
バイナリ格納やより確実に文字変換を迂回したい場合は、バイナリ用のOCTETSでもいいね。
591NAME IS NULL:05/02/04 11:43:25 ID:PcLV4zto
>OCTETS
はつみみでつ。
キャラクタセットにあるの?
592NAME IS NULL:05/02/04 12:29:36 ID:???
日本語版インストーラー公開してるエース設計さんって、
ttp://www.acesekkei.com/product/firebird/index.htm

ねらーだったのか・・・(´Д`;)
ttp://www.acesekkei.com/programming/vba/index.htm
593NAME IS NULL:05/02/04 12:31:56 ID:D8diSCC1
594NAME IS NULL:05/02/04 13:11:12 ID:???
>>593
自分はNONE使ってんだけど、OCTETSのんが良いかなぁ。
NONEとかだとNull以降切られたりすんのかな?
595NAME IS NULL:05/02/04 13:41:40 ID:???
NULL以降を削除ということはないと思ったけど、NONE指定だと後々にSQLでNONEじゃない
列にデータを写す必要が出来たときや他のキャラクタセットで接続したときに問題になる場合
があるかもしれん。SQLリファレンスでは繰り返しこのことを注意してるね。
1.5以降ではCAST関数で指定が出来るようになったから回避できるかもしれないが.....。
OCTETSの列は一応他のキャラクタセットの列などとデータ交換可能だよ。
596NAME IS NULL:05/02/04 14:15:29 ID:???
>>592
それにしてもよく見つけた!どうやって発見したんだ?
って、トップにリンクがあるか…

ところで、FB1.5.2のWindows Installerマージモジュールが公開されているので、
FBの配布インストーラを作っている人は参考にしてみてください。
ttp://www.mwasoftware.co.uk/firebird/index.htm

相変わらずサーバー稼動中はアンインストールできないけど。
597NAME IS NULL:05/02/04 15:26:57 ID:ER/stuU4
>596
こっちでも公開されてるね
598NAME IS NULL:05/02/07 08:50:36 ID:???
マージモジュールって要るか?
FBなんてsetup.exeキックする方が安心じゃん。
599NAME IS NULL:05/02/07 13:34:57 ID:???
InstallShied Express みたいに、exeファイルをキックできないインストーラーもあるしね。
また Install Shield の機能に組み込んで、
ユーザーがカスタムセットアップを選択時に、
FB をインストールしないよう選択もできる。
600NAME IS NULL:05/02/07 15:59:46 ID:???
>InstallShied Express
DelとかBCBに付いてるけど、これって超ダサダサ

Delで作られたInno Setupの方が高機能&高性能&ソース付き(不要だけど)。
Inno Setupにマージモジュールあるみたいだが、使って無いもん。
601NAME IS NULL:05/02/09 11:09:55 ID:/cLD7E5y
ttp://japan.linux.com/enterprise/05/02/04/082200.shtml?topic=1
>"エッジ"開発分野でFireBirdが人気

"エッジ"開発分野って何?
602NAME IS NULL:05/02/09 12:09:10 ID:???
部門で完結してるシステム

基幹はオラクルとか。
603NAME IS NULL:05/02/09 15:10:51 ID:???
FB64bitサーバーとFB32bitクライアントの組み合わせで無問題?
604NAME IS NULL:05/02/09 15:29:51 ID:???
性能的にはまかなえる場合もかなり多いと思うけど、問題は運用サポートかと。
自前で出来る所やお客ならいいけど、商用だとそうじゃないところも多いよね。
海外は商用サポートあるけど、日本はちゃんとやってくれるところあるのかな?
IBPhoenix は、破損データベースのデータサルベージ専用の特殊なツールも持ってるようだし、
出張サービスや24時間サポートなんかもやってるようだから大丈夫なんだろうけどね。
605NAME IS NULL:05/02/09 15:44:44 ID:???
>出張サービスや24時間サポート

こんなん商用でもやらんで。
必要なのは破損したときの、データベース吸い上げ用起動。

某メーカーに破損で問い合わせたときに教えてくれたのは、
データ吸い上げ用のデータ無保証での起動するためのコマンドラインオプション。
それでデータ吸い上げろ、と。
606NAME IS NULL:05/02/09 20:27:51 ID:???
そうか。
おいらが出入りしてるところはプロバイダだから一応24時間サポートの契約を
しているようだ。別の商用DBだけどな。トラブル出るのは大抵深夜だし。
607605:05/02/10 09:06:40 ID:???
ソフトメーカーやIT企業が契約するんじゃなくてエンドユーザーが直接契約する、
という理解でおk?
それなら納得だ。
608NAME IS NULL:05/02/10 16:21:56 ID:h5MvMBSX
流れを切ってすまん。

デフォルトキャラクタセットを SJIS_0208 にしてデータベースを作成した。
で、varchar(6) の列を作ると、12 バイト分入る。

これが標準 UDF の読み込み時に問題となる。isql か何かで、

    input c:\progra~1\firebird\firebird_1_5\udf\ib_udf.sql;

とやると大量のエラーを吐く。ib_udf.sql を開いてみると、文字列関数の
部分で

    DECLARE EXTERNAL FUNCTION strlen
        CSTRING(32767)
        RETURNS INTEGER BY VALUE
        ENTRY_POINT 'IB_UDF_strlen' MODULE_NAME 'ib_udf';

となっている所があって、これが SJIS_0208 のときに具合が悪いようだ。
差し当たり、この 32767 を 16383 に書き換えたら問題なく読み込めた。

SJIS_0208 の varchar の上限は 16383 文字なのかと思ったら、SJIS_0208 の
データベースで、varchar(16383) の列を作ると Implementation limit
exceeded と言われてしまう。varchar(16382) なら問題なし。

この辺の仕組みが解説されている文書、どこかにないだろうか? まあ、そんな
限界を試すようなテーブル定義はしないけれど。
609NAME IS NULL:05/02/10 16:34:39 ID:???
wikiのVARCHARのリファレンスに書いてあるし。
http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?%A5%AD%A5%E3%A5%E9%A5%AF%A5%BF%A5%BB%A5%C3%A5%C8%A1%A6%A5%C7%A1%BC%A5%BF%B7%BF%A1%A6%B8%A2%B8%C2

>1〜32765バイト
>・キャラクタセットによらず32K以内必須

SJISは最大2バイトコードだから安全を見越して半分でリミットしてるのかも。
その辺はソースを読んで確認するしかないけど。
少なくともVARCHARで 32767はどのキャラクタセットでも明確なエラーかと。
610608:05/02/10 16:38:47 ID:???
>1〜32765バイト
>・キャラクタセットによらず32K以内必須

おお、よく見れば「32767」ではなく「32765」だ。脳内で勝手に「32767」と
読み替えていたようです。>>609 さん、ありがとう。

# Firebird Wiki にはお世話になっているので、お礼がてらコンテンツを
# 増やそうかな。
611NAME IS NULL:05/02/10 21:00:50 ID:???
VARCHARは長さのカウンタの分なんだろうと思うけど、固定長のに比べて
最大サイズは2byte少ないんだよね。
612NAME IS NULL:05/02/13 01:18:19 ID:8bzlODFC
Debian woodyに入れようと四苦八苦しています。

まず、woodyではライブラリが古いらしく、1.5系は断念。
次に1.0系を入れようとWikiを参考に試したのですが、
install.shを実行してもcompleteとは出るものの、起動していないようです。
さらに、scripts/preinstall.shやscripts/postinstall.shなども試してみましたが、
エラーが出て失敗しました。woodyでは1.0系も難しいのでしょうか。

sargeにすればそれで終わりのような気もしますが、もう少しwoodyで
実験したいと思います。
613NAME IS NULL:05/02/14 11:45:01 ID:???
インストールしたbinデイレクトリ下の、ibmgr を直接叩いて起動しても駄目なのかな?
それで起動するなら、おいらなら自己責任で初期化関係を手で組み込んでしまうのだけど。
古い人だから、昔は inittab や brc を手でいじるのが普通だったんで...。
614NAME IS NULL:05/02/14 16:04:32 ID:???
postgreならdumpしてレコードを取り出せるけど
firebirdってDBから(テーブル定義じゃなく)レコードを取り出す方法ってありますか?
615NAME IS NULL:05/02/14 21:09:57 ID:???
普通にSELECTじゃいけないのか?いけないとしたら理由がわからん。
FROMにストアド使えるからサブクエリと同じこと出来るだろうし。
616614:05/02/15 08:04:55 ID:???
したいことは一つのDBの中にあるいろんなテーブルの
レコードが全部欲しいんだが
(ほんとにしたいことはバックアップとるとき前回バックアップ時の
レコードと比較して差分だけ保存しようとおもってるのだが・・・)
>>615の方法でFrom句のストアドで全部のテーブル指定したら全部のレコード見れるの?
列幅違うけど見れたりする?
617NAME IS NULL:05/02/15 10:55:47 ID:???
それなら、ストアドでもいいけど isql を使う 10行程度の perl スクリプトで十分かと。
"show tables;"のみが入ったshowtables.sqlも必要だけど。

#!/usr/bin/perl
$_ = `isql -user SYSDBA -pass masterkey -i showtables.sql DBTEST`;
@tables = split;
open(S, ">tbldump.tmp");
foreach $tbl (@tables) {
print S "select * from $tbl;\n";
}
close(S);
system "isql -user SYSDBA -pass masterkey -i tbldump.tmp DBTEST";

でも、差分バックアップはFB2.0 とソース公開中のVulcan には実装されるようなんで
後何ヶ月かしたら不要になる気もするけどね。
618612:05/02/15 12:18:58 ID:???
>>613
レスどうも。

その後、何が原因か定かではないのですが、ルート以下のほとんどのディレクトリの
パーミッションが飛んでしまい、お手上げ状態になったので、結局sarge入れました。
さすがにsargeでは難なく動きました。

Firebirdを利用したアプリを個人的に作って使っているのですが、持ち運び用のノートPCの
ハードディスクが怪しいので、データベースファイルを自宅サーバーに置いておきたい
と思っていました。しかしインターネット経由だとやはり重いですね。トンネル経由だからかな?
運用法迷い中。
619NAME IS NULL:05/02/15 13:03:51 ID:7ydNnmXO
jaybird(1.5.5) + embedded(1.5.2)で
varchar型をleft joinしたselectを発行すると、ウンともスンとも言わなくなるのは仕様??
integer型のフィールドとかだと大丈夫。

同じクエリーをembeddedじゃない普通のfirebird serverで行うと、これも大丈夫
620NAME IS NULL:05/02/15 14:52:49 ID:5/lUtvIe
TPBブロックのトランザクションパラメータはどうやって変更するのでしょうか。
明示的な行ロックをしたいのですが、デフォだとロック解除まで待って書き込んじゃいます
書き込まないで、エラー表示したいのですが。
621620:05/02/15 15:19:14 ID:5/lUtvIe
すんません 事故解決しました。
BCBのTIBTransactionに在りました。
622NAME IS NULL:05/02/15 15:26:51 ID:???
FBってインストールのService/Applicationで動作違いますね。
具体的には、Serviceだとマップしたドライブパスで接続してくれません。
それも、Serviceを再起動しても。
何でだろ。
623NAME IS NULL:05/02/15 19:54:31 ID:???
FBのせいというよりもWindowsのせいという部分が大きいと思う。
UNIX/Linuxのデーモンは普通のアプリと大差ないけど、Windowsのサービスは結構違う。
全初期化は初期起動時の1回だけだし、停止させても仮想メモリから完全にはアンロード
されないようだ。
624614:05/02/15 22:46:25 ID:???
>>617
わざわざサンクス
FB2から差分バックアップできるんだね
まずはperlの勉強からだな・・・
625622:05/02/16 08:37:03 ID:bsCTOaip
そんなマニアックな情報までサンクスでつ>>623

詳しく書いたサイトか何か教えて頂けないでしょうか?
626NAME IS NULL:05/02/16 10:04:19 ID:???
NT3.51時代に提供されてたWin32SDKヘルプには全体の動作を解説した文書があったんだが、
MFCが出てきたり、VCの機能が充実した上に、さらに .NET とか言い出したりしたのでコアな
情報はだんだん少なくなってるのもあって、知る限りでは適当な文書はweb等にはないね。
VCでは早々に提供されなくなったけど、BCB5にはそのころの日本語Win32SDKヘルプがおまけ
で付いてたので、"API32WH.HLP"を持ってるなら、検索して「サービスの概要」を読むがよろし。

ある程度基本動作を理解してる人なら、プラットフォームSDKのAPIの説明を読んでも分かるが。

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpdllpro/html/_win32_startservicectrldispatcher.asp
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpdllpro/html/_win32_servicemain.asp
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpdllpro/html/_win32_handler.asp
627NAME IS NULL:05/02/16 11:31:34 ID:bsCTOaip
1つの物理ディスクにFBのDBファイルがあって、
クラスタサーバーのアプリが前述のFBのDBファイルにローカル接続しても、
問題無く動作しますか?
DBファイル壊れませんよね?
628627:05/02/16 11:46:03 ID:bsCTOaip
アプリだけでなく、複数のFBサーバーが1ファイルに接続しても大丈夫ですよね?
629627:05/02/16 12:00:15 ID:bsCTOaip
具体的にはMSCSでつ。
なんか、SQL鯖がMSCS対応する、みたいな書き方なんでm$特殊な機能が必要なんだろうか?
630NAME IS NULL:05/02/16 12:07:56 ID:???
> 複数のFBサーバーが1ファイルに接続しても大丈夫ですよね?
無理でしょうね。最初に接続した側がファイル書き込みロックしてるはずなんで。
631627:05/02/16 12:46:57 ID:bsCTOaip
サンクス。なるほど、FBサーバーのみは、MSCS外のサーバーとすべき?
632627:05/02/16 12:50:25 ID:bsCTOaip
SQL鯖側はそれを対応してる、ということならどういう対応なのか詳しい方居られましたらお願いで津。
633627:05/02/16 13:32:47 ID:bsCTOaip
>>629-631 の件について、もう少し詳しく教えて欲しいのですが、
複数のサーバーが1つの物理ディスクに直結した場合、
他サーバー無視してファイルカキコしてしまいそうですが、
他サーバーのファイルロックを把握できるんでしょうか?
(その把握がMSCSの機能なんかなぁ???)
634627:05/02/16 14:27:52 ID:bsCTOaip
連続投稿スマソ

レス貰ったりググったりしてる内に分かってきたんだけど、
m$が2台のPCを使ったMSCSを売り込み、
それに合うRDBはMSCS対応SQL鯖でつよ、
なんてWin団子販売してるようだ。

なら、その中でFBをどう使うかを検討するのは重要な希ガス。
635NAME IS NULL:05/02/16 15:45:15 ID:???
こりゃまた頭悪そうなのが沸いたな…
636NAME IS NULL:05/02/16 16:14:33 ID:???
>>635
そう言うんなら >>633-634 に応えられる?
637NAME IS NULL:05/02/16 19:50:51 ID:???
 MSCSについてはここらを参考に。これ見たら判るんでないかな。

http://www.microsoft.com/japan/msdn/windows/windows.netserver/wns-introclustermscs.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mscs/mscs/implementing_resource_dlls.asp

>他サーバーのファイルロックを把握できるんでしょうか?
>(その把握がMSCSの機能なんかなぁ???)

他サーバのファイルロックを把握してるのではなく、ノードの状態とアプリの状態(オンライン/オフライン)、
オンライン可能かどうかを把握し、クラスタ中でオンライン化されるアプリが同時に1つだけになるようにしている。
638NAME IS NULL:05/02/16 19:57:09 ID:???
 で、アプリの状態やらオンライン/オフライン化を制御するためにクラスタサービスと通信する
機能を持つアプリのことをクラスタ対応アプリケーションと呼ぶ。SQL Serverのクラスタ対応って
のはこれ。

 ただ、クラスタ非対応アプリケーションでもGeneric Application リソース タイプやらGeneric Service
リソース タイプを使って最低限の制御は可能・・・かも知れない。
639627:05/02/17 10:16:18 ID:bfNb6Nm1
サンクス印刷しますた>>637-638

FBはFDBファイルをカキコオープンして、かつ、MSCS非対応アプリケーションだから、原則MSCSクラスタサーバーに入れるとマズイわけですね。

ただ、フェイルオーバータイプのクラスタサーバーだと原則1台しか生きてないわけだから大丈夫かな、と思ってます。
でも客先で稼動後にクラスタサーバーが切り替わってDBファイルが見つかりませんエラーになったそうです。
クラスタサーバーに接続されるSCSIハードディスクの接続が、FBのWindowsのサービス起動より遅いからかな。
この場合、アプリから無理矢理FBのサービスの再起動とかでハードディスク認識させてやれないかなぁ。。。
640NAME IS NULL:05/02/17 11:10:48 ID:???
Winでもアプリケーションモードでコマンドラインから起動できるんだが、それを使って
工夫するんじゃ駄目なのか?

一応書いておくけど、FBのGetStart.pdfにもちょろっと書いてあが(FB1.5の場合は)
fbguard -a
と打てばガーディアンからアプリケーションモードで起動できるぞ。
Win95系の場合はこれで起動してるようだし。
641627:05/02/17 11:36:12 ID:???
サンクスでつ>>640

FBアプリ起動だと、PC(FBとアプリEXEの両方起動)のリブート時に、
FBが「connection active; Are you sure you want to exit?」ダイアログ出して困ります。

PCリブートは、別DB(このマシンが再起動しちゃう)との連携のため必須で...
642NAME IS NULL:05/02/22 19:48:52 ID:ZHHrN/KU
vcからnativeで接続できるの?odbcとか使わずに
643NAME IS NULL:05/02/22 19:53:30 ID:???
専用APIでも出来るし、埋め込みSQLもある。
APIを使わないとすべての機能を使うことは出来ないし。
644NAME IS NULL:05/02/22 20:08:48 ID:???
わざわざ 0 から API 使ってやるメリットなんてないだろうな、普通は。
時間を持て余してるとか、この先あなたが Firebird をずっと使い続けるというのなら話は別だが。
645NAME IS NULL:05/02/22 20:48:07 ID:???
>>643
ibppってapiがあるんだ。これ使えばいろいろできる。
thanx
646NAME IS NULL:05/02/23 09:19:12 ID:xzP2/XvK
>>627-641
M$クラスタの件もヨロ
647NAME IS NULL:05/02/23 13:18:40 ID:???
Win2k上でApache2.0.xのプロセス内からFBをアクセスするモジュール(DSO)作ってるけど、
Apacheがサービスとして動いてると、インストール直後の設定だとFBに接続出来ないね。
サービスのログオンの設定で、「デスクトップとの対話をサービスに許可」をチェックすると
接続できるんだけど。なんでだか理由は不明。
648NAME IS NULL:05/03/02 02:38:57 ID:???
すみません、キャラクタセットについての質問です。
現在、自宅で趣味でデータベースを勉強しようと思ってます。
PHPを使って、クライアントのブラウザからサーバのデータを入力、修正、削除等が
出来るようになりたいと思っています。

環境としては、
サーバはVinelinux3.1でApache2.0.53, FirebirdSS1.5.2, PHP5.0.3になっています。
クライアントは、Win2k proです。サーバはsshでテラターム経由で操作してます。
試しにPHPを使って、examplesのemployee.fdbの SELECT * FROM JOB をブラウザに
表示できるところまで確認できました。

そこで、>>90さんのところのWikiを見ながら、住所録でもまずは作ってみようと思うのですが、
キャラクタセットは何にすればよいと思われますでしょうか?
サーバはLinuxなので、EUCかな?(sshを使ってisqlでデータを直接見ることもあるかな?)
クライアントはWindowsだから、ShiftJISかな?マックを使って更新したら、どうなるのかな?
とか考えていると何がよいのかよくわかりません。
>>90のリンク先のキャラクタセット・データ型・権限は読みましたが、はっきりと何が良いのか
判断が付きません。
長々とすみませんが、よろしくお願いいたします。
649NAME IS NULL:05/03/02 04:49:20 ID:???
列などにキャラクタセットが設定してあれば、接続キャラクタセットが違う場合はそれに
合わせて文字コード自体が変換されたような気がする。
そういう意味じゃ、コードの種類による表現不可能な文字の問題とか文字変換処理に
伴う処理コスト等を問題と見ないなら、まさになんでもいいのではないかと。
でもPHPやPerlなどで処理するならEUCの方が処理しやすいんじゃないの?
不要なコード変換処理が入らないし。CGIなどからはEUCのHTMLを出すんだろうしね。
650NAME IS NULL:05/03/02 11:32:32 ID:???
>>649さん、どうもです。
なるほど、クライアントが何の機種であろうと、キャラクタセットに自動的に変換されるんですか。
それであれば、Linux上で操作することを考えるとEUCの方が良さそうです。
ありがとうございました。
651NAME IS NULL:05/03/03 08:33:29 ID:WoTqR0ZI
mac版のアンインストールはどうやるの?

mac os X 10.3.8
Firebirdはインストールしたversionがわからない。
半年か1年ほど前に入れたけど
全く使ってない。(使い方も全くわからん。。)
652NAME IS NULL:05/03/04 03:58:23 ID:fEqU9vv4
Apache でのベーシック認証に Firebird を使用する動的ロードモジュールなぞ作ってみました。
とりあえず第一弾として、Windows 向けバイナリのみを公開。

http://www.geocities.jp/c_softsub/mod_auth_fb/index.html
653NAME IS NULL:05/03/04 10:39:58 ID:???
>>652
Firebirdってデータベースファイルそのものが暗号化できるわけでもないし
本質的にhtpasswdで管理するのと変わらない気がする。
654NAME IS NULL:05/03/04 11:03:22 ID:???
意味不明
655NAME IS NULL:05/03/04 14:39:12 ID:???
数が多いと認証にかかる負荷が相当に違うだろうと思うのだが。
それにApacheのセキュリティとは別のセキュリティに属させることも出来るし。
656NAME IS NULL:05/03/04 18:27:09 ID:???
>>653
( ´,_ゝ`) プッ
657NAME IS NULL:05/03/04 21:44:00 ID:???
↑詳細を書けない時点で負け確定。
658NAME IS NULL:05/03/05 00:19:51 ID:???
>>653

RDBMSで認証を管理すると、メールやらftpなどの他のシステムと同期がとりやすい。
本格的にやるならLDAPとか使うんだろうけど、ID/パスワード同期程度ならRDBMS認証位がちょうどいい。

暗号化云々は意味がよく分からないな。
659NAME IS NULL:05/03/05 08:46:28 ID:???
>>658
> RDBMSで認証を管理すると、メールやらftpなどの他のシステムと同期がとりやすい。

それだったらapache専用mod_auth_ほにゃららDBなんて使うべきじゃなくて、PAM任せにするべきじゃない?
LDAPが本格的ってのも謎。シングルログオン考えるならまずLDAPでしょ。

Firebirdってデータベースファイルの暗号化もなければ、パケットの暗号化もできない。
なんらかの理由でデータベースファイル入手されたらとてつもなく危険。
果たしてパスワードの保管場所として適当かってこと。
660NAME IS NULL:05/03/05 08:50:09 ID:???
別に作者にケチ付けているわけではなくて、mod_auth_firebirdってソリューションは
セキュリティ上どうなのよ? 他のmod_auth_<RDBMS>に比べて弱くない? ってことが聞きたいだけ。
661NAME IS NULL:05/03/05 11:40:33 ID:???
>>659

誰がシングルログオンの話をしてるの?話がズレてない?
ID・パスワードをシステム間で同期すると言ってるだけで、ログインとの統合をするとは言ってないと思うのだけど。

>>660

そういう意味なら弱いでしょうね。ハッシュ値を格納するような工夫が必要か。
662NAME IS NULL:05/03/05 15:05:38 ID:???
微妙に荒れてるけど、元々はApache標準のmod_auth_dbmベースだから。
暗号化すると、元をどうやって暗号化して入れるかと言う問題があるんで
とりあえず入れてない。
データベースファイルの暗号化の次元は別にして、ストアドで入れるほうも
認証もDBで実現できるレベルでのセキュリティでやれれば十分な場合も多い
だろうという判断。
こういうのはお手軽で性能もそれなりというのが重要だと思うからね。
DB管理者からは見え放題だろうけど。
663NAME IS NULL:05/03/05 15:38:15 ID:???
追記。
ストアドで認証できるわけだから、どうしても暗号化したいなら認証と
セットの保守ストアド(必要ならUDF)を作ればいいんで、とりあえずは
可能というのもあるかな。
664NAME IS NULL:05/03/05 21:59:05 ID:???
まぁまぁ、テキストファイルで十分、という香具師はもうほっといてやれよ。
665NAME IS NULL:05/03/05 22:12:52 ID:???
>>660

前と言ってることがずいぶん違うなおい。
666NAME IS NULL:05/03/06 12:08:43 ID:???
傍目から見てると>>653の言ってることは至極まともな話だと思うが…。
パスワードの保管場所として必ずしもセキュアとは言えないDBMSを使うのは
.htpasswdを使うのと大差ない(むしろ.htpasswdのほうがはるかに強固)というのも
頷けるし、それを他のシステムと共有するなど論外だから、そういう用途にはPAMを
使えというのも当然の流れ。何ら疑問を挟む余地はない。
例えばこれがOracleやMySQLなど必要十分にセキュアに利用できるDBMSであれば当然
話は別だろう。

そもそも、管理者がセキュリティを考えるとき
「パスワードの保管場所そのものが漏れた場合」
を考えるのは基本中の基本だと思うのだが…

DBMSはDBMSだけで完結しない、必ず他の技術と密接に絡み合って動作する物。
>653移行の流れを見ていると、知識レベルがバラバラで噛み合っていないだけに
しか見えない。
667NAME IS NULL:05/03/06 13:44:42 ID:???
>傍目から見てると

プ
668NAME IS NULL:05/03/06 13:54:05 ID:???
ストアド認証は無視ですか、そうですか。
あとPAMとデータベースはレイヤ違い。

もうお前のレベルはよく判ったから勝利宣言して終わってください。
669NAME IS NULL:05/03/06 18:44:08 ID:???
666とかは、質の問題でなく量の問題なのに
必死で論点をすりかえようとしてるだけ。
670662:05/03/06 21:21:57 ID:???
ストアド認証は、最強の暗号化だろうと複雑な判定だろうと、はたまた他の認証との連動だろうと
使う人の自由に組めるから、我ながらなかなか面白いアイデアだと思ったんだけどな。
ストアドもUDFも作るのはイヤ!という人には意味薄いだろうけど。
671NAME IS NULL:05/03/06 23:42:22 ID:???
>>667
作者もかなり紛れ込んでる希ガス
672NAME IS NULL:05/03/07 09:12:05 ID:???
紛れ込むって、ちゃんと本人とわかるような内容とか書いてるし。
673NAME IS NULL:05/03/07 17:57:54 ID:sTUFxZ0s
普段あまり動きのないスレが急に一つの話題で活発になるときは
・以外とROMってる奴が多かった
・一人二役三役は当たり前
のどちらかですよ奥さん

ID非表示ってやだねえ
674NAME IS NULL:05/03/07 20:00:53 ID:???
と必死で話題をそらす653であった
675662:05/03/07 20:42:54 ID:???
なんだかなぁ。672は俺だけど、コンセプトを理解してくれた人もいたからいいけどね。
試しにMD5とSHA1のFB/IB用UDFを書いて動かしてみたけど、Apacheのソース内から
持って来ればいいから簡単に作れるね。GPLのソースもそこらに転がってるし。
676NAME IS NULL:05/03/07 21:39:17 ID:???
>>675
ネチネチとうざい奴だなお前は。
誰もお前が作った物がウンコだとか言ってるわけじゃないだろ、何が気に入らないんだ。
理不尽な煽りを受けたのならまだしも、作った物にあれこれ難癖付けられるのが嫌なら
公開なんかするんじゃない。

万人が理解してくれる物などあるわけがないだろ。アホかお前は。
677662:05/03/07 22:05:34 ID:???
俺がなんか言ったか?
最初からコンセプトの説明と、別に自作自演なんかしてないよ、暗号化UDFも簡単に
作れるとしか言ってないんだが。否定的意見にも俺はコンセプト説明以外してないし。
信じられんと言われたらまぁなすすべもない訳だが。
とりあえず、普通に読んでる人には結局どっちも荒らし同様になっちゃうな。スマソ。
678NAME IS NULL:05/03/07 22:27:28 ID:???
粘着>>653は放っといてFirebirdの話をしようぜ。

俺はMSCSの一件がどうなったか知りたいぞ。
679NAME IS NULL:05/03/07 22:28:18 ID:???
木にすんな
680NAME IS NULL:05/03/07 22:47:27 ID:???
(´-`).。oO(正直>>653が絡まれている理由がわからない・・・)
681NAME IS NULL:05/03/07 23:02:41 ID:???
全く。そろそろ正常化したい。
682NAME IS NULL:05/03/07 23:40:04 ID:???
653=657=659=660=666=671=673=676=680

654=655=656=658=659=661=662=663=664=665=667=668=669=670=672=674=675=677=678=681

653も作者も氏ね、お前ら二度と書きこむな


これでいいんだろ?
683NAME IS NULL:05/03/08 09:13:51 ID:BWal5Hgs
必死だな(プ
684NAME IS NULL:05/03/08 09:27:08 ID:???
>>682
そういう粘着は今流行らないでつ。
685NAME IS NULL:05/03/08 10:34:50 ID:???
必ず間を空けずに2レスずつ付くのがバカっぽいと言うか何というか
686NAME IS NULL:05/03/08 11:50:19 ID:???
TIBSQL.BatchOutputでvarcharを出力すると
varcharの長さが最大のとき最後の2バイトが切れるんですが
仕様なのでせうか?
687NAME IS NULL:05/03/08 14:42:55 ID:???
VARCHARの最大長って32765だよね?
この前も似た勘違いがあったんで一応の確認なんだけど。
688NAME IS NULL:05/03/08 14:48:46 ID:???
>>687
varchar(20)で20バイトのデータを仕込むと
先頭2バイトに長さ、続く18バイトにデータ
といった感じでoutputされるです
689NAME IS NULL:05/03/08 15:46:54 ID:???
BCBをたまたま使用中だったから軽くヘルプ見たけど、このクラスの場合
は仕様っぽいね。バグかもしれないけど。

BatchOutputで渡す値は、結局XSQLDAに近い形で渡すようなんで。
VARCHARはほかの型とは違って、内部でDBに(XSQLDAで)受け渡すときは、
構造体で受け渡してるようで。
埋め込みSQLやAPIでもほかの型とはちょっと毛色が違ってる。

推測で間違ってるかもしれないけど、VARCHARの場合はデータ自体を
構造体として格納したもので渡さないといけないのかもね。
FB付属のサンプル見ると、こういう定義文がよく多用されてるよ。

#define SQL_VARCHAR(len) struct {short vary_length; char vary_string[(len)+1];}
690NAME IS NULL:05/03/08 16:04:43 ID:???
>>689
ありがとう。Delphiのソースを見るとその構造体へのアドレスと
長さへのアドレスを渡してるっぽいので
(ん? xxxx^ ってアドレスだったっけ? ようわからん)
2バイト短くなるのかな。ということであきらめますです。
# テストデータを作ってButchInputしてもそんなに速くならなかったので
# 素直にinsertしていこうかと
691NAME IS NULL:05/03/09 16:22:09 ID:???
いよいよ2.0α来るか?
やっとfrom句のサブクエリが実現できるんだね。
692NAME IS NULL:05/03/10 21:14:54 ID:???
そうかいままではインラインビューすら使えなかったのか…(´・ω・`)
693NAME IS NULL:05/03/10 23:36:57 ID:???
今後に期待だ! (`・ω・´)
694NAME IS NULL:05/03/11 15:17:32 ID:???
インラインビューが使えるようになると馬鹿が力業でSQL書くようになるから嫌い。
695NAME IS NULL:05/03/16 13:02:34 ID:???
最近のIBReplicatorは、Oracle/MySQLにもレプリケーションできるようだけど
これは部門サーバがFB/IBで、基幹がOracleなどの用途も向こうでは結構あると
いうことなのかな。
696NAME IS NULL:05/03/16 15:01:45 ID:MlKUFVh+
FireBirdってalter tableで既に作成したテーブルの名前って変更できない?
一度削除して再作成?知ってるエロい人、教えてくなさい。
697NAME IS NULL:05/03/16 17:34:03 ID:???
>>696
ttp://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?ALTER%20TABLE#alter_table
にはそれらしいことは書いてないですね。

で、たまにアクセスが遅くなるときindexの再作成で速くなるので
作った全部のテーブルのindexを再作成しようと思うですが
tableに張ったindex(primary key含む)の名前はrdb$indiciesで
分かるのですが、列情報ってどこを見ればいいのでしょうか?
教えて(ry
698NAME IS NULL:05/03/17 15:24:32 ID:???
列情報ってテーブルのメタデータのこと??
それなら isql で show tables だけど、そういうことじゃないのかな?
699NAME IS NULL:05/03/17 15:26:49 ID:???
おっと。show tables じゃなくて、「show table テーブル名」だったね。
700NAME IS NULL:05/03/17 18:03:45 ID:???
>>698
Delphi7+Embeddedで作ってるので
selectでテーブル名・制約名・列定義を取得して
alter table remove/add constraint したいのですよ
701700:05/03/17 18:23:17 ID:???
メタデータについての理解が不足していたことをお詫びいたします。

結局
select C.RDB$RELATION_NAME,A.RDB$INDEX_NAME,
B.RDB$INDEX_ID,B.RDB$UNIQUE_FLAG,
A.RDB$FIELD_NAME,A.RDB$FIELD_POSITION
from RDB$INDEX_SEGMENTS A,RDB$INDICES B,RDB$RELATIONS C
where A.RDB$INDEX_NAME=B.RDB$INDEX_NAME
and B.RDB$RELATION_NAME=C.RDB$RELATION_NAME
and C.RDB$SYSTEM_FLAG=0
order by 1,3,6
で抽出できたんですが
UNIQUE INDEXとPRIMARY KEYの区別ってどうすればいいんでしょ?
702NAME IS NULL:05/03/18 10:23:35 ID:???
制約の名前とタイプとかならこれで抜けるね。

SELECT RDB$CONSTRAINT_NAME, RDB$RELATION_NAME,
RDB$CONSTRAINT_TYPE, RDB$DEFERRABLE, RDB$INITIALLY_DEFERRED
FROM RDB$RELATION_CONSTRAINTS;

上のSQLもそうだけど、IB6用に無償公開されてる LANREF.PDF の P273 辺り
を読めば基本的に解決するんじゃないかな。英文だけど、難しくないよ。
703700:05/03/18 11:50:51 ID:???
>>702
こんな感じで目的のデータが抜けました。ありがとうございました。
select C.RDB$RELATION_NAME,A.RDB$INDEX_NAME,
B.RDB$INDEX_ID,COALESCE(D.RDB$CONSTRAINT_TYPE,'INDEX'),
A.RDB$FIELD_NAME,A.RDB$FIELD_POSITION
from ((RDB$INDEX_SEGMENTS A inner join RDB$INDICES B
on A.RDB$INDEX_NAME=B.RDB$INDEX_NAME) inner join RDB$RELATIONS C
on B.RDB$RELATION_NAME=C.RDB$RELATION_NAME)
left outer join RDB$RELATION_CONSTRAINTS D
on C.RDB$RELATION_NAME=D.RDB$RELATION_NAME
and A.RDB$INDEX_NAME=D.RDB$CONSTRAINT_NAME
where C.RDB$SYSTEM_FLAG=0
and ((D.RDB$CONSTRAINT_TYPE IS NULL)
or (D.RDB$CONSTRAINT_TYPE="PRIMARY KEY"))
order by 1,3,6

あと申し訳ないんですがLANREF.PDFのポインタを教えていただけませんか?
interbase lanrefでぐぐってもなかったもので、、、
704NAME IS NULL:05/03/18 12:06:34 ID:???
圧縮してあるけど、これだったと思う。
http://www.ibphoenix.com/downloads/60LangRef.zip
念のため、ほかのも含めた全リスト
http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_download_documentation
705700:05/03/18 15:19:31 ID:???
>>704
ibphoenixにあったんですね。気が付きませんでした。
ありがとうございました。
706NAME IS NULL:05/03/19 13:16:14 ID:???
>>697
> たまにアクセスが遅くなるときindexの再作成で速くなるので
> 作った全部のテーブルのindexを再作成しようと思うですが

インデックスパフォーマンス改善のための再計算だけなら
ALTER INDEX index_name INACTIVE;
ALTER INDEX index_name ACTIVE;
で出来るし、インデックスの統計情報を再設定する場合は
SET STATISTICS INDEX index_name;
で出来るけど、そういう話ではない?
707NAME IS NULL:05/03/19 14:13:53 ID:???
IB6.0のマニュアルだと、PRIMARY/UNIQUE/FOREIGN 制約がある列に対する
インデックスは ALTER INDEX では不活性化できないみたいよ。
DROP INDEX で削除した後 CREATE INDEX で再作成してくれとなってる。
実は最近のIBや、FBでは出来るという情報があればよろ。
708NAME IS NULL:2005/03/25(金) 01:18:21 ID:???
2.0α出てるけど何が変わったの?日本ユーザー会はまだ無反応だけど。
ttp://firebird.sourceforge.net/
709NAME IS NULL:2005/03/27(日) 21:02:56 ID:???
710NAME IS NULL:2005/03/29(火) 02:43:18 ID:0aHlOLuM
711708:2005/03/30(水) 20:20:54 ID:???
>>709-710
さんくす。ん〜導出テーブルってよくわからない。何に使うんだろ?
712NAME IS NULL:2005/03/31(木) 06:49:33 ID:qhlbQWzO
>>711
副問い合わせで使うんだよ
713NAME IS NULL:2005/04/04(月) 00:06:20 ID:???
ビューとは違うものなの?
714NAME IS NULL:2005/04/13(水) 09:37:32 ID:quKHt07b
とりあえず上50から落ちそうだから上げとく。
715NAME IS NULL:2005/04/13(水) 10:49:52 ID:RXA5mHfz
データ検証とかすることある?
716NAME IS NULL:2005/04/14(木) 23:06:17 ID:UGPRSl3/
評価目的で Firebird の導入を考えているのですが、InterBase 6 との共存は可能ですか?
717NAME IS NULL:2005/04/15(金) 20:58:47 ID:???
>>550-551
とか。1.0.xはほとんどIB6互換のようなもの。
718NAME IS NULL:2005/04/16(土) 23:42:43 ID:???
IB Expret を使ってます。
varchar型のドメインのサイズを変更しても、
そのドメインを使用しているテーブルの定義のほうが変わりません。

ドメインの変更をテーブルに反映させるにはどうしたらよいのでしょうか?
719NAME IS NULL:2005/04/17(日) 01:25:15 ID:???
DROPしてCREATEする。
720NAME IS NULL:2005/04/17(日) 01:34:38 ID:???
FireBird使っている方々に質問です。

 現在、仕事でOracle8(Windows)使っているのですが、古いIIS+ASPのシステムでSQLもたいしたことをしてないので、
システムをほとんど変更しないでFireBirdに移行出来ないかと調査をしています。
今のところ、ポスグレのOra2pgを多少手を入れたの使ってスキーマ情報と実データの移行までは、完了しました。

 SQLの方なんですが作ったひとがほとんどSQLを知らなかったみたいでOracle特有のファンクションとして
使われていたのは 
・To_Char (日付の型を変換)
・To_Date 
・Month_Between (年齢計算用)
・Concat

ふつうみると非常にしょっぱいのですが逆にこの3つさえどうにかすればASPにほとんど手を入れずに移行できるかなと。
で、この3つについてストアドで対応しようと思っているのですがストアドでOracleファンクションを実装されている方って
いらっしゃいますか?
UDFで実装した方がいいと思うのですが正直ストアドの方がお手軽なのでできればこちらで実装したいので。

もしいらっしゃって、実装の際の注意事項や参考にした資料などありましたらご教授していただければ幸いです。
721NAME IS NULL:2005/04/17(日) 02:40:36 ID:???
Oracle は使ったこと無いから勘違いしていたらスマソ

日付<->文字列の型変換は CAST を使ってデータ型を変換、
CONCAT('A','B') は 連結演算子を使って ('A' || 'B') でいいんじゃないかな。
日付の計算関連は面倒くさそう。
722NAME IS NULL:2005/04/17(日) 03:30:47 ID:???
>>720
ストアドプロシージャとUDFはSQL文の中で使える(呼び出せる)場所が違うから、
そのようなファンクションを作るとしたらUDFじゃなきゃだめだよ。

Oracle知らないけど、ポスグレならストアドの構文とかも似てるらしいし、
移行するならポスグレの方がいいんじゃない? Windows版もあるんだし。
723718:2005/04/17(日) 08:06:51 ID:???
>>719
ありがと。

ACCESSとParadoxしかやったことないもので、
勝手がちがくて悩んでます ora
724NAME IS NULL:2005/04/17(日) 09:08:05 ID:A80PBLSp
>>720
年齢の計算は、教えてgoo!の方で実際に計算できるSQLを上げてる人居たよ。
検索するしか。extract と case を使って1行のselect文のみで計算できてたはず。
日付の加減算は一応標準のUDFにもあるから、簡単にとはいかんけど、ストアド
やUDFじゃなくても結構色々出来はするんじゃないだろうか。
725720:2005/04/17(日) 16:35:34 ID:???
>722
ご指摘感謝。
Firebirdのストアドってポスグレのストアドファンクションと違ってFROM句でしか使えないのですね。
勘違いしていました。
移行するなら、確かにWin版のポスグレの方がいいとは思うのですがどうもまだWin版を使うのがちょっと、、、
というのがありましてポスグレで試行錯誤しています。

>724
漏れも、そのサイトはチェックしました。
ttp://okweb.jp/kotaeru.php3?q=982057

で、ここからはチラシの裏の落書き。漏れのやりたいことだとUDFは必須と言うことで、既存にあるフリーのUDFで
外部関数宣言時に関数名を変更することで代用できないか?ということで、何個か探してきてみました。

・Months_Between (年齢計算用)
これは、ヒットウェアランドさんの
ttp://www.hitwareland.jp/products/hitudf/agreement.html
のUDFの「UDF_DiffDay」関数を使えばばっちりいけそう。

・Concat
これについても常軌のUDFの「UDF_StrCat」関数をそのまま流用。

・To_Char (日付の型を変換)
・To_Date 
に関しては、まだ調査中。
ただ、フリーのUDFでもにたようなのがあるのでその辺を改変して使えばいけそうかと。


726NAME IS NULL:2005/04/19(火) 09:38:08 ID:???
C++Builder6 から Firebird を使うにあたって、
BDE、IBX、dbExpress のいづれかにしようと思うんですが、
どう違うのかよくわかりません。

それぞれのメリット、デメリットを解説したページあったら教えてください。
Firebird は 1.5 を使うつもりです。
727NAME IS NULL:2005/04/19(火) 19:09:52 ID:???
BDE・・・ODBC接続のみ
728NAME IS NULL:2005/04/19(火) 22:37:39 ID:???
dbExpressは十分といえば十分だが、トランザクションなどであまり細かい制御は出来ないな。
機能もシンプルだし。その代わりレイヤも薄いから速度は速いとかBorlandは言ってるが、実際に
計ったことはないんで本当のところはわからん。
そもそもIB/FB用というわけではないしね。
メリットは他のデータベースに代えるときに、多少は楽な場合もあるかもしれないとか?
あと、KylixやC++ Builder XだとdbExpressしかサポートしてないんじゃなかったかと。
そういう環境に先々移植や部分移植するなら、その3つの中ならdbExpressしかない。
729NAME IS NULL:2005/04/19(火) 23:40:15 ID:???
BDE:Interbase用のSQL LinkかODBCでの接続
  悪くはないと思うんだが、遅いとか もうなくなる技術とか言われたりして
  長くは使えないかも・・。

IBX:たしか、InterBase用のものしかなく、Firebird対応はない予定。
  現状のものでもFirebirdで使えてるっぽいけど、今後の対応が不安

dbExpress:Borlandはこれを一番薦めてるのかな・・?
  ドライバ次第でいろんなDBに対応できるし、Firebird用のドライバもあったはず
730726:2005/04/20(水) 00:51:42 ID:???
>>727-729
レスありがとうございます。

英語は苦手なんですが、
http://community.borland.com/article/0,1410,30019,00.html
ここ読んでたら、729さんの言うとおり、
BDEは遅いし、既に開発してないので一応却下。

dbExpress は BDE なら TQuery 1個で済むところを
TSQLDataSet→TDataSetProvider→TClientDataSet とつながなくて
はいけないのでやたらと面倒くさいという印象があるんですよね。

ですから IBX 使いたいなぁと思ってたんですが
今後のことを考えるとこれも却下・・・かなぁ。

するとめんどくさいの我慢しながら dbExpress にするか orz
731NAME IS NULL:2005/04/20(水) 09:32:07 ID:kMaN2ZoW
HP-UX 11向けの1.5CSが、GNU libstdc++ 5.5 と同時に出てるな。
http://www.ibphoenix.com/main.nfs?a=ibphoenix&s=1113949653:422907&page=ibp_download_15
732NAME IS NULL:2005/04/20(水) 10:53:56 ID:???
とはいうものの、文字列程度ならBDEでも高速だしODBCが消えることは無い。
IBXならBLOB系も無問題。結局どれ選ぶかだけの話。
733726:2005/04/21(木) 09:26:27 ID:???
>結局どれ選ぶかだけの話。
そうなんですか?調べても違いがいまいち見えてこないので
ひょっとしてそうなのかなあと思ってましたが、やっぱりそうなんですか(w

じゃあ、既存のBDE経由でParadoxを利用しているアプリは、BDE経由で
Firefox にアクセスするようにして、新規で作成するアプリは・・・
規模が小さければ楽だから IBX で(後日、InterBaes と Firebird の非互換から
dbExpressにする必要性が出てきても改修する量が少なくて済し)、
規模が大きければめんどくさいけど、dbExpress でやるという方針にしてみようかと
思います。
どうもありがとうございました。
734NAME IS NULL:2005/04/24(日) 08:16:26 ID:QtzKA0Bl
ibpp使っている人居ますか?

どこかに詳細な情報とかないでしょうか?
サンプルや本家のページを見て、一応使っているのですが
パラメータの意味とか詳しい情報があれば教えてください。

よろしくお願いします。
735NAME IS NULL:2005/04/26(火) 09:55:13 ID:Ov7LqyPQ
IBExpertの新版が出たね。FB2の新機能に対応だとか。
736NAME IS NULL:2005/04/26(火) 15:03:13 ID:???
>>726
IBOを強烈におすすめする。有料だけど、非商用用途ならメールするとタダにしてくれる。
737NAME IS NULL:2005/04/26(火) 17:26:24 ID:???
>>736
何がどう良いのか教えてYO!
738NAME IS NULL:2005/04/26(火) 18:48:45 ID:???
できれば、>736氏がおいしい機能とメールでの登録方法を書込んでもらって
それをFirebird wikiの中の人がFAQにまとめてくれたら幸せになれないかと、思ってみるテスト。
739NAME IS NULL:2005/04/27(水) 04:23:51 ID:???
いま手元に環境がないので頭に入っているかぎりで説明します。

・IBOの利点その1
ちょっと今データ出せないけど、dbExpressとIBOとBDEで一万回のトランザクションを
テストしたことがある。早さはIBO>>dbExpress>BDEだった。

・IBOの利点その2
IBOにはDataSetが3系統(TIBO系、TIB系、TIB_系)あって、用途によって使い分けられる。
それらの違いは、TDataSetとの類似度合いとTDataSourceに接続するかTIBDataSourceに
接続するかの違い。TDataSetと類似していてTDataSourceに接続できるコンポーネントセット
を使うとBDEでつくったアプリのIBOへの移行でソース変更が少なくてすむ。既存のBDEアプリ
をFB1.5以上で使いたいときはこれで作業が短縮できる。ちなみにTDatabaseを継承していな
いにもかかわらずIDAPIの設定を直読みするのでDB設定もTDatabaseのようにBDEエリアス
一発指定でも可能。逆に新規のプロジェクトの場合は多機能でパフォーマンスに優れたコン
ポーネントセットを使うことでTDataSet系よりもDBとガッチリと組み合ったようなアプリが作れる。
TIBDBGridなどIBO専用ヴィジュアルコンポーネントはかなり便利に作り込まれているが、これ
に接続できるのはTIBDataSourceのみ。説明じゃわかりづらいので評価版を試すのが一番。
評価版は使用アプリ実行時に「評価版だよ〜」というメッセージが出る。

・無料版入手方法
作者のサイトに書いてある。ただ、条件がいろいろ限られている。漏れの場合は作者にメール
送って1ヶ月くらいでOKの返事が来た。
740NAME IS NULL:2005/04/27(水) 14:28:46 ID:q6KsO6IB
Firebird日本ユーザー会のFB2.0の説明に、
>レコード番号の対応
>40bit (内部は64-bit)のレコード番号に対応し、
>30GBのサイズ制限を撤廃
とありますが、これってどういう意味なんでしょう?
確か、FBってファイルサイズに制限無かったと思いますが。。。
「レコード番号」とかいう機能を使う場合の話でつか?
741NAME IS NULL:2005/04/27(水) 16:43:19 ID:???
>>740
レコード番号のサイズを32bitから40bitに伸ばしたから、テーブルサイズが
30GBを超えても大丈夫になったよ。

と言うこと。
742NAME IS NULL:2005/04/27(水) 18:12:03 ID:???
てことは、FB1.5を使ってる場合は、テーブルサイズ30GB制限なんだ。
743NAME IS NULL:2005/04/27(水) 19:59:06 ID:???
744NAME IS NULL:2005/04/27(水) 20:15:06 ID:???
>>742
でも、BLOBは別扱いだと思うよ。
あれは普通のカラムとはまったくちがう格納方法になってるから。
745NAME IS NULL:2005/04/28(木) 22:06:30 ID:hU8eXxgP
まだ検討中のようだけど、Javaなどの他言語でもUDFやストアドを書けるように
する方向なのかな?
出来るようになればかなり便利だとは思うが
http://jaybirdwiki.firebirdsql.org/download/Downloads/files/firebird_j_release_notes.pdf
746NAME IS NULL:2005/05/06(金) 13:22:38 ID:???
5/5にFirebird 2.0 のα2版がリリースされたようです。
リリースノート見ましたが、結構バグフィックスが入っているようです。
747NAME IS NULL:2005/05/06(金) 13:31:13 ID:???
64bit版(3.0だっけ?)の方が欲しい。
748NAME IS NULL:2005/05/07(土) 03:40:31 ID:???
64bit版って1.5でも出てるよね?
749NAME IS NULL:2005/05/09(月) 09:37:53 ID:???
64bit/Win版使ってる人居る?
750NAME IS NULL:2005/05/09(月) 14:07:59 ID:???
>>749
64ビット版のWindowsってあるの?
751NAME IS NULL:2005/05/09(月) 22:02:12 ID:???
あるよ。
752NAME IS NULL:2005/05/10(火) 21:28:49 ID:???
OEM版もマザーなんかとのセットで売ってるよね。
753NAME IS NULL:2005/05/11(水) 15:24:33 ID:???
イミプー>>752
754NAME IS NULL:2005/05/23(月) 11:48:47 ID:zWXWl1we
下がりすぎたから上げておく。
755NAME IS NULL:2005/05/27(金) 09:47:23 ID:5dRAsvHa
IBX経由で使ってますが、
バージョンうpによりIBXとの関係が切れたら(((( ;゜Д゜)))ガクガクブルブル
756NAME IS NULL:2005/06/02(木) 12:33:57 ID:???
ひさびさにサイトをみたら日本ユーザー会は割と活動しているようだ、セミナーとか、いろいろ。
理事長はサイボウズの QA で忙しいと思ったらそうではないのか。

あと、オーストラリアの Firebird Foundation は活動状況がイマイチよく分からない。
資金足りてるのかと思う。
757NAME IS NULL:2005/06/02(木) 12:39:44 ID:???
管理ツールは IBExpert がお勧め。無料で使える Personal 版もあり。
199 Euro 程度なので買っても損はしない。
テーブル定義を同期させる DataBase Comparer は激しく便利。

コンポーネントは、ロシア製の FIBPlus がお勧め。 激速。 IBObjects より安い。
758NAME IS NULL:2005/06/02(木) 12:47:37 ID:bb5PrLUD
urlキボンヌ
759NAME IS NULL:2005/06/02(木) 16:51:18 ID:???
760NAME IS NULL:2005/06/02(木) 17:36:22 ID:???
>>757
FireBird1.03を使ってアプリ開発してるんだが、
IBXとくらべFIBPlusは見違えるほどはやいの?
761NAME IS NULL:2005/06/02(木) 23:33:40 ID:???
IBX は使ったことないので分からない。

激速と書いたけど
同じDBかつTDataSet継承なので基本性能で大きく差はでないが、
ローカルソート、Calcフィールドのキャッシュなど、オープン後のデータ操作で大きな差があるという認識。

基本的に TDataSet はレイヤーがありすぎて遅いので、
高速化したいところは FireBird API を直接使うと見違えるほど早くなる。
追加・更新で50倍は当たり前。(マジ)

参照性能については大差ないかもしれない。
762NAME IS NULL:2005/06/03(金) 08:36:08 ID:???
>>761
その辺を詳しく(わかりやすく)解説してるサイトってないかしらん?
763NAME IS NULL:2005/06/03(金) 11:45:04 ID:???
そういったサイトは知らない。
764NAME IS NULL:2005/06/03(金) 17:06:23 ID:???
>>761
IBXでもTIBClientDataSetを使えばオープン後のデータ操作はストレスないけどなぁ〜
BDE⇒IBXは体感できるほど高速化したけどそれほどじゃないのね・・・
765NAME IS NULL:2005/06/03(金) 17:23:44 ID:???
【帳票】ReportManeger【フリー】
http://pc8.2ch.net/test/read.cgi/tech/1117786758/

データベースと連携して帳票出力が可能なオープンソース帳票作成環境です。

データベース接続にはBorland系開発環境を使用しており、InterBase/Firebirdとの
親和性も高く、帳票操作用にDelphiコンポーネントも用意されています。
766NAME IS NULL:2005/06/06(月) 11:50:51 ID:???
>>764
まぁまぁ、○X木も山の賑わい
767ベータベースに関して:2005/06/07(火) 00:32:14 ID:FAgGTepe

ビジネスでデータベース使って最大100万人規模の個人情報管理を、
管理しようと思ってます。

元商用ということでFireBirdを検討してますが耐えられるでしょうか?
Oracleなどの商用データベースは金額がネックなので
FireBirdを本気で考えてます。

またFireBirdでも安定して大規模データに対応する方法などはありますか?
768NAME IS NULL:2005/06/07(火) 00:53:11 ID:???
100万人規模の個人情報を扱うのに金額がネックといってる時点でなんだかなあ。
そんなんで100万も集まるのか?
769767:2005/06/07(火) 01:01:47 ID:FAgGTepe
処理が重くなるのでCPUをたくさん使います。
その分のライセンス料を払うとなるとかなり莫大な資金が要るので、
節約できる部分は節約したいので、、、

もちろん、不可能であれば商用データベースを使います。
770NAME IS NULL:2005/06/07(火) 06:37:12 ID:???
感触しか出ないよな。どういうところが不安なのかもわからんし。
それがいいかは別にして、複数のDBに分割できる用途なら人数多くても大丈夫だったりするだろうし。
とりあえず10万人規模ぐらいなら全然大丈夫だったけど...。
771767:2005/06/07(火) 08:05:40 ID:FAgGTepe
>>770
対応ありがとうございます。
分割すれば10万人規模までは可能ですか、、、
とても参考になりました。

DBに対してのアクセスを分散させれるにはどうすればよいんでしょう?


さらに質問してよろしいでしょうか・・・
FireBirdはクラスタリングに変わる機能はありますか? (ミラーリング機能は同じもの?)
またその方法があれば教えて頂きたいです。


772NAME IS NULL:2005/06/07(火) 08:17:34 ID:???
>>769
> 処理が重くなるのでCPUをたくさん使います。

FirebirdはSMPに対応してないよ。
HTとも相性が悪い。
773NAME IS NULL:2005/06/07(火) 08:47:35 ID:???
SuperServerを使えば昔からプロセスベースで対応してるけどね。
キャッシュも独立になるから接続多いとメモリ食うけど。

>>771
どういうレベルの話でクラスタリングを求めてるのかわからんけど、とりあえずレプリケーションの話なら
FB1.5ではオプション。IBReplicatorなどを使わないと。
http://www.ibphoenix.com/main.nfs?a=ibphoenix&s=1118098865:165051&page=ibp_replicator
その代わり、MySQLとかOracleにもレプリケーションできるようだけどね。

イベントアラータ機能とか、トリガを使っての自作も一応可能ではあると思う。
アプリ側で対応という選択肢がある場合もある。

物理破壊時のダウンタイムを最小化するためだけなら、基本機能のデータベースシャドウでも
ある程度対応できる。非同期更新なんで確実さでは落ちるが。
774NAME IS NULL:2005/06/07(火) 10:15:32 ID:???
>>773
ClassicServer の間違いだよね?
775NAME IS NULL:2005/06/07(火) 10:50:28 ID:???
とりあえず、Firebird, MySQL, PostgreSQLあたりを全部インストールして100万件のダミーデータぶち込んで検証してみれば?
ここでうだうだ言ってるより実りがあると思う。
776NAME IS NULL:2005/06/07(火) 11:59:23 ID:???
>>769
GPLでも良ければ(採用する接続方法による)MaxDBとか。
コマーシャルライセンスの値段は訊いた事はないが、
MySQLよりは高いだろうし、MaxDBはMySQLと違ってCPU課金だしな。
777NAME IS NULL:2005/06/07(火) 12:10:18 ID:???
>>775
たまにレスが伸びるときくらい放っておけばいいじゃん。
778NAME IS NULL:2005/06/07(火) 12:22:29 ID:???
>>775
言い出しっぺの法則
779NAME IS NULL:2005/06/07(火) 13:58:52 ID:???
>>774
あー逆だったね。いかんいかん
780NAME IS NULL:2005/06/07(火) 18:26:13 ID:???
FirebirdはVCLコンポーネントとかレプリケータとかが
オプソはおろかフリーじゃないのが痛いな。
やつらの商売根性丸出し体質に呆れてものも言えんわ。
その点postgresは殆どがフリーで済ませられるからいい。
ということで特に規模が大きい案件では素直にpostgres使った方がいいよ。
(MySQLは信用できないからパスということで)
781NAME IS NULL:2005/06/07(火) 18:59:40 ID:???
>>780
ずいぶん脳味噌が偏ってしまった人だな。

自分の飯の種に無料ソフトを使うくせに、オープンソース周辺で商品開発を行う人を
商売根性丸出しと見下す頭の弱さに呆れて物が言えない。

しかし、書いてる途中で気付かない物かねえ。
782767:2005/06/07(火) 19:38:47 ID:FAgGTepe
皆様ご親切にありがとうございます。
IBReplicatorですか、検討しておきます。

Firebirdについても、もう少し検討が必要ですね。
簡単なテストもしてみようと思います。

やはりフリーなら
PostgreSQLになってしまうのでしょうか、、、
しかし大規模データベースに使って大丈夫なんですか?

783NAME IS NULL:2005/06/07(火) 19:47:44 ID:???
規模は知らんけど、機能的にPostgreSQLじゃなくちゃいかんという案件でもない限り、
別にFBでもいいとは思うけどね。
784NAME IS NULL:2005/06/07(火) 20:01:14 ID:???
>>782
どのオープンソースを選んでもいくばくかの「手探り作業」は避けられないだろうし
それが心配なら安心サポート付きのプロプライエタリなソフトウェアを採用するが吉

> しかし大規模データベースに使って大丈夫なんですか?
少なくとも大規模用途の実績はPostgreSQLのほうが(少なくとも国内では)上。

ttp://www.yucho-club.gr.jp/
例えば上のサイトは600万人分の顧客情報をPostgreSQLで管理してる。
1000万人分程度までは十分に性能を維持できるとか。

ttp://www.ipa.go.jp/software/open/forum/Contents/DevInfraWG/db.pdf
ttp://www.ipa.go.jp/software/open/forum/Contents/DevInfraWG/dbt3-transaction.pdf
あとはこの辺も参考にしてみてはいかがか。
(しかし、ここ数年のIPAの活動はやたらに実践的で行政法人の仕事とは思えないな)
785NAME IS NULL:2005/06/07(火) 22:22:49 ID:???
過去にIB使ってたとかDel使うなら別だけど、それ以外ならFBはやめといた方がいい。
情報が少なすぎるから大変だぞ。
それより日本語ドキュメントや日本語コミュニティが存在している
ポスグレにしといた方が無難だろう。
レプリケータもオプソの国産品もあるし、他にも結構ある。
たしかポスグレのサポートしてくれる会社もあったはず。
ってかそもそも大規模系なら迷わずポスグレだな、俺は。
786NAME IS NULL:2005/06/07(火) 23:16:28 ID:???
結局、日本のOSSの流行り廃りって国内公式コミュニティの質がそのまま出てしまうんだよな。

Firebirdはと言えば、もっともまとまった日本語ドキュメントがこのスレのWikiというのが現実。
大規模システムへの導入ともなると、ちょっと気楽には勧められない。
787NAME IS NULL:2005/06/08(水) 00:42:01 ID:qO5NgwLL
>>784
資料ありがとうございます!
このような資料が出ていたことは知りませんでした。。。


皆さんの丁寧な対応に感謝してます。
FireBirdのコニュニティーが今後ますます発展していくことを願ってます。
788NAME IS NULL:2005/06/15(水) 22:50:42 ID:???
http://www.fabalabs.org/research/papers/FabalabsResearchPaper-OSDBMS-Eval.pdf

Firebird, Ingres, MaxDB, PotgreSQL, MySQLの機能比較資料

789NAME IS NULL:2005/06/16(木) 15:05:53 ID:???
>788
すげえ資料だな。
790NAME IS NULL:2005/06/16(木) 16:55:10 ID:???
LAMPにFB入ってるんだろうか?
791NAME IS NULL:2005/06/17(金) 12:56:00 ID:???
>>790
L inux
A pache
M ySQL
P HP
792NAME IS NULL:2005/06/17(金) 13:13:56 ID:???
>>791
標準構成がそれであること知ってるから、バリエーションに入ってるか聞いたんだYO!

対抗しる!
J Builder
F B
K ylix
L inux
793NAME IS NULL:2005/06/17(金) 13:23:11 ID:???
エスパーに答えてもらえ
794NAME IS NULL:2005/06/17(金) 13:48:05 ID:???
>>792
LAMPとLAPP(PostgreSQL)くらいしか知らない。

LAFPってのもOSSで見かけないだけで案外多いと思うよ。
うちの社内もそうだしね。
795NAME IS NULL:2005/06/17(金) 13:57:02 ID:???
つか、「LAMP」というのはパッケージ名というか商標みたいなもんでしょ?
そこを外して「LAFP」とか言い出しても意味内。
796NAME IS NULL:2005/06/17(金) 15:21:04 ID:???
>>795
アプリケーションの動作環境(及び開発環境)を表しているだけ、LAMPという
名前のパッケージも商標も存在しない。

何を言ってるんだか。
797NAME IS NULL:2005/06/20(月) 20:46:46 ID:Yo9nkboj
久々にクリーンなLinux環境にPHPとFirebirdを入れたけど、FB1.5.2+PHP4.3.11だと、
上手くコンパイル出来ないという問題起きないな。どっちで対策されたのかはしらんけど。

ついでにWikiにも追記しといた。
http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?FrontPage
798NAME IS NULL:2005/06/21(火) 22:24:31 ID:???
違うデータベースファイルに格納されているテーブル同士を連結する事って出来る?
やっぱり無理?
799NAME IS NULL:2005/06/21(火) 23:55:03 ID:???
>>798
無理だねえ。
800NAME IS NULL:2005/06/22(水) 07:19:19 ID:GiErZX+E
連結って純粋につなげる(合成)ということ?
それならPerlで簡単なスクリプトでも書くとか。
それとも参照制約のことかね?
そでは無理だな。
801NAME IS NULL:2005/06/23(木) 00:36:38 ID:???
サーバーエリアスでJOIN出来るようになったかなーと思いましたがやっぱり駄目
ですか。

BDEだとクライアント側での処理になるけど異種結合とか出来たんですが。
802NAME IS NULL:2005/06/28(火) 17:18:24 ID:KO39tZ4o
Linux + Apache2(MPM=worker) + PHP4.3.11 + Firebird 1.5.2 関係のことを追加してみた
http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?FrontPage
803NAME IS NULL:2005/06/30(木) 18:57:20 ID:nyJl01qt
日付型の項目のXヶ月後の日付を取得する方法ってありますか?

例えば今日(2005/6/30)から10ヶ月後であれば
2006/4/30
を取得したいです。
804NAME IS NULL:2005/06/30(木) 20:01:30 ID:u9OiyWki
標準添付のUDFに addmonth というのがある

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?%B1%E9%BB%BB%BB%D2%A4%C8UDF#udf
805NAME IS NULL:2005/07/04(月) 19:20:43 ID:???
Firebirdを使ったJavaアプリを配布したいのですが、
他の言語ではDLL(+DBファイル)とアプリを配布すれば良いらしいのですが、
Javaアプリではどうすればよいのでしょうか?
806NAME IS NULL:2005/07/04(月) 20:19:16 ID:qCRtFvDy
JDBCドライバとデータベースのインストーラを一緒に配布すればいいんじゃないの?
それとも、そういうことじゃないのかな?
DLLというのは、組み込み版を使用しているということなのかな?
JDBC経由で組み込み版を使ってるということなのかな? それが出来るのかどうか
やったことないのでわからんけど.....。
それともDLLはクライアントライブラリのことなのか?
807NAME IS NULL:2005/07/08(金) 08:28:32 ID:???
ttp://fblib.altervista.org/

FBLibってのはどーなのでしょうか。
808NAME IS NULL:2005/07/08(金) 16:11:08 ID:???
どうだろ?
管理ツールも作れるっぽいけど、結局自分で使ってみないと分からんよね
809NAME IS NULL:2005/07/11(月) 09:05:57 ID:wPkTJJZo
FB使ってる人で一番大きなDBのファイルサイズってどれくらいでつか?

ついでに他DBだとどうなのか説明キボン?
810NAME IS NULL:2005/07/11(月) 10:52:44 ID:???
とりあえず、経験上では500万行ぐらいの規模で8Gbyteぐらいが最高。
今使ってるDBみたら、3Gbyteぐらいだな。
811NAME IS NULL:2005/07/11(月) 15:27:58 ID:???
>>810
そんなに容量があるとバックアップ大変だと思うけど、どうしてます?
FBって差分バックアップ機能がないから、やはり毎回フルバックアップですか?
それとも差分だけバックアップできるようなDB構造にしているとか?
参考までに教えて頂けたらうれしい。

ちなみに私のところは大きいものでも数十MB程度のサイズなんで、
毎回フルバックアップしたものをDVDメディアに保存しています。(以前はMOを使っていましたが。)
812811:2005/07/11(月) 15:34:25 ID:???
補足ですが、
私はバックアップは gbak等のバックアップツールは使わないで、
GDB, FDB ファイルを丸ごと保存しています。お手軽なんで。
813809:2005/07/11(月) 16:40:12 ID:???
thx!>>810-812

こういう巨大なDBが壊れたりしたら復旧とか大変でしょうね。
FBは壊れ難いとはいえ、物理的に壊れたりとか。
814NAME IS NULL:2005/07/11(月) 19:31:23 ID:???
昔の8GのはRAID装備のマシンだからね。物理故障でロストはかなり確率下がるよ。
オンラインバックアップで負荷の軽い時間帯に定期的に自動でバックアップしてたけど。
時々メンテナンスで止めるからその時にはローカルマシンに持ってこれるし。
今使ってる3Gのは開発用だし、Apache+CGIなんかのテストで負荷かけるためのデータを格納
した名残で大きくなってるから飛んでも問題ないんで放置だね。とりあえず、ガーディアンが
働いて自動再起動しても実際壊れたことはないけど。
815NAME IS NULL:2005/07/12(火) 10:43:12 ID:???
>オンラインバックアップ
これってやっぱ、PCのハードディスクにバックアップ?
816NAME IS NULL:2005/07/12(火) 12:11:41 ID:???
トリガ内でUDF使って更新内容をログファイルに書き出せば
差分バックアップみたいなことが出来そうなんだけど、
トランザクションのコミット/ロールバック前に
ログに書き出されちゃうもんで、この方法ではダメだった。
コミットしたら実行してくれるトリガみたいなものがあればいいんだけど。
817NAME IS NULL:2005/07/12(火) 20:48:55 ID:???
>>815
同一サーバ内だよ。RAID環境での話で、論理破壊への対策だから。
更なる保険として、すいてる時にネット経由で別のマシンに吸い上げる。
818NAME IS NULL:2005/07/15(金) 09:54:41 ID:tqwB9OH/
数メガバイトのBLOBデータを貯めまくったら性能落ちるかな?
819NAME IS NULL:2005/07/15(金) 21:11:16 ID:???
IB/FBのBLOBは普通のカラムとは別に格納されてる。BLOBカラムの中は、本体格納場所
へのインデックスが入ってるだけのはず。
だから、BLOBがあってもBLOB以外のカラムに関する性能の影響は微少なはず。
OSのファイルシークの性能を除けば、大きく影響を受けるとしたらキャッシュの利用効率
が絡むことぐらいじゃないのか?
820NAME IS NULL:2005/07/17(日) 00:31:03 ID:FkbGWTvL
この前持ち帰ったDBを>>809見て確認したら1000万行超えてた。10556252行なり。
パーティションビューみたいな機能欲しいな。
821NAME IS NULL:2005/07/17(日) 11:04:41 ID:???
gbakでバックアップ形式にしたものをgzipなどで圧縮すればかなり小さくできますね。
後はテープなりMOなり別ディスクに転送すればいいのでは?
822NAME IS NULL:2005/07/19(火) 09:51:36 ID:???
gbakのバックアップってデータが完全保障されてるから、あえてやった方が良いんだろうね?

ま、RDBなら接続時点でデータの検証行うはずだが。
823NAME IS NULL:2005/07/22(金) 17:26:15 ID:zvVBjk7g
TABLEのCREATEで、FLOATの可変配列なんて出来ましたっけ?
824823:2005/07/22(金) 18:39:31 ID:zvVBjk7g
FLOATの固定配列でも良いんですが、ある値からBLOBになるんですか?

TIBQueryからの取得が簡単なら配列使いたいんですがどうなんでしょうか。
825823:2005/07/23(土) 14:15:11 ID:qQLoPbf/
とりあえず、「FLOAT[巨大な数値]」としとけば良いことが分かります他。

が、取得とか更新が楽なのかどうか分かりません。
配列カラムを使われた方どうですか?
826NAME IS NULL:2005/07/23(土) 16:13:10 ID:hUG7b7DV
2.0のAlpha3がでてますね。
でも、IBConsolから接続ができなくなってしまった・・・・。
827NAME IS NULL:2005/07/23(土) 16:26:50 ID:qQLoPbf/
IBXが使えなくなったら...((( ;゚Д゚))))ガクブル
828NAME IS NULL:2005/07/24(日) 12:22:20 ID:???
板橋区の徳田秀一は鬼畜。
普段は猫被ってるが本当は性的異常者の人でなしです。
女性の皆さんは被害に会わないよう気を付けて下さい。
829NAME IS NULL:2005/07/26(火) 16:37:16 ID:???
IBConsolといえば、Date型使ってるとテーブルが表示できんのが困る。
IBExpertだと表示できるのに何でだろ。
830NAME IS NULL:2005/07/27(水) 17:13:21 ID:???
>>825
クライアントは何で作るの?
配列カラム使って、簡単にアクセスできたっけ?
831NAME IS NULL:2005/07/28(木) 13:32:32 ID:???
>>830
DelphiのTIBQueryでつ。
なんで、配列アクセス分かんなくて、配列やめました。

BlobなんかはTIBQueryで普通に取れるんですが、
FLOATをBinaryで取る時に、64bitCPUではどうなるか分かんないですし。
832NAME IS NULL:2005/07/29(金) 16:44:41 ID:???
わかりません。
ジェネレーターとトリガを使ってCHAR(8)のPrimaryKeyを作る方法が。

ちなみにCHAR(8)の内容は
西暦下2桁 + 連番6桁です。
(例)05000001

誰か解る人、助けてください。
833NAME IS NULL:2005/07/29(金) 16:48:14 ID:???
>>831
さっきから言ってる
>FLOATをBinaryで取る時
の意味がわからんのは俺だけなのか?
834NAME IS NULL:2005/07/29(金) 17:18:45 ID:i+D0t/In
>>832
普通に数値で計算して、BEFORE INSERT トリガのNEW.x を使って代入するだけでできるけど....
代入するから型変換は自動で行われるし。

SQLリファレンスに全部の情報が載ってるよ。
http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?Firebird%20SQL%A5%EA%A5%D5%A5%A1%A5%EC%A5%F3%A5%B9
の関数のところの、CURRENT_TIMESTAMP と EXTRACT を使えばいい。
演算は掛け算と足し算だけど、西暦が下2桁必須なら余りを求めるのに付属の標準UDF(mod)を組み込んで
使う必要がある。これはついでにジェネレータが生成する数値の下6桁抜き出しにも使えるし。
835832:2005/07/29(金) 21:06:09 ID:???
>>834
ありがとうございます。
やってみましたが
Unexpected end of command
ってのが出て難航してます。
ISQLからイカを直打ちしてます。

CREATE TRIGGER "SET_BKN_ID" FOR "Bkn"
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
NOW.BKN_ID = MOD(EXTRACT(YEAR FROM CURRENT_TIMESTAMP), 100) * 1000000 + GEN_ID(BKN_GEN,1);
END
836NAME IS NULL:2005/07/29(金) 21:36:03 ID:???
isqlからPSQLを打つには終端文字をセミコロンから別の文字に変えないとダメなんじゃないかと。
トリガの例を見ればわかるけど。

あと、良く考えたら余りだと先頭の0がなくなるから、演算結果をCASTで文字列に変えたあとに
SUBSTRINGで必要な部分を抜き出す方がいいかも。これならSQL92/99準拠の構文になるし。
837832:2005/07/29(金) 23:48:23 ID:???
>>836

SET TERM 入れてないと駄目でした。
基本的に解ってないのがよくわかりました。

お蔭様でイカのトリガでやりたいことが出来ました。ありがとうございました。

SET TERM !!;
CREATE TRIGGER "SET_BKN_ID" FOR "Bkn"
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
NEW.BKN_ID = SUBSTR(CAST(EXTRACT(YEAR FROM CURRENT_TIMESTAMP)*1000000 + GEN_ID(BKN_GEN,1) AS CHAR(10)),3,10);
END !!
838NAME IS NULL:2005/07/30(土) 03:58:09 ID:???
>>833
配列って内部的にはBLOBとして扱われるから・・・じゃないのか?
俺もよくわからんが・・、。

少し試してみようと思ったらテストデータも作れなかったよ・・
API使うかストアドでも作らないとダメなのかな
839831:2005/08/02(火) 14:38:33 ID:???
>>838
そんな感じ、というか、内部的な話じゃなくて、
TIBQueryから配列取るとき、Binaryとして取るしかないっぽいので。(間違いであって欲しい)
840NAME IS NULL:2005/08/02(火) 16:22:27 ID:???
>>839
TIBQueryやTIBClientDataSetからバイナリで配列取れるのか!?
いまIBExpertで作ってアクセスしてみたがうまくいかんのだが・・・。
詳しく!!
841838:2005/08/03(水) 01:27:05 ID:???
俺もIBExpertからのアクセスしたかったんだけど、うまくいかなかった・・。

そういやIBObjectsを解凍したフォルダのSamplesの中にArraysってデモ
あるけど、これって配列の使い方じゃないかな?
少し動かした感じでは配列からデータ読み取ってるような・・・
842839:2005/08/03(水) 14:41:25 ID:???
ゴメン、詳しく書けない。

自分がやったのは、DelphiのDBExplorerで配列項目の表示と値設定が出来た。
1つのセル(=カラム)に「1, 2, 3」といった感じで表示される。
で、DBExplorerてDelphiで作られてるらしいし、ODBCだからTQueryなのは間違いなさそうだし。

それとDBExplorerでは属性がBLOBと表示されたのでバイナリで取るのかな考えました。
843NAME IS NULL:2005/08/08(月) 10:27:04 ID:???
FB2.0αのインストーラが出てきたけど、おまいらどうするよ?
844NAME IS NULL:2005/08/08(月) 20:26:46 ID:hW9d1qlV
そういや、先週だが 2.0 のα3版がLinuxも含めて各環境用が揃ったな。
845NAME IS NULL:2005/08/15(月) 17:11:59 ID:Zt62cX2v
1.03を使用しているけど、最近のバージョンではストアドにドメイン使えるようになったりしてる?
846NAME IS NULL:2005/08/17(水) 13:23:23 ID:4S1vZ2JY
DBファイルの形式というか中のインデックスの人が変わったんだおね?
自作コンバータが要るんであればマンドクサ
847NAME IS NULL:2005/08/18(木) 10:49:52 ID:iO6Ni1wq
1.5.3 RC1 というのが出たな
848NAME IS NULL:2005/08/18(木) 14:38:21 ID:???
1.5に問題でも???
849NAME IS NULL:2005/08/18(木) 18:05:29 ID:???
V2.0系のバグフィックスのバックポートってことみたい。
850NAME IS NULL:2005/08/20(土) 17:27:21 ID:???
>オープンソースDB「Firebird」、地道に勢力を拡大中
>ttp://itpro.nikkeibp.co.jp/oss/

自分が使えれば良いんだけど、
勢力拡大したのかーと、記事をクリック。












中身がないよー記事。
851NAME IS NULL:2005/08/22(月) 17:38:54 ID:???
Firebird日本ユーザー会ってたまにお金とってるよね?
それなのに何であんなに内容ないの?
852NAME IS NULL:2005/08/22(月) 18:20:11 ID:???
>>851
UPDATE stocks
SET stocks.collection = 'foods'
WHERE stocks.collection = 'money';

INSERT INTO members_of_firebird_japanese_user_conference (stomach)
SELECT s.collection FROM stocks s;

commit;
853NAME IS NULL:2005/08/22(月) 22:56:35 ID:???
他のデータベースファイルにあるテーブルをJOINするにはどうしたらイイの?
854NAME IS NULL:2005/08/23(火) 09:28:25 ID:???
そりゃ無理なんじゃ?
データを写せばいいんじゃないの
855NAME IS NULL:2005/08/23(火) 21:05:07 ID:???
やっぱりムリですか。
Accessみたいに、IN句使えないかなーと妄想してました。
できないことが分かっただけでも収穫です。ありがと。
856NAME IS NULL:2005/08/23(火) 21:30:19 ID:???
まぁ CREATE TABLE で EXTERNAL FILE 指定による外部ファイル経由でテーブルを
作るしかないだろうね。実際にやったことはないけど。

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?CREATE%20TABLE#create_table
857NAME IS NULL:2005/08/29(月) 13:45:49 ID:???
>>853
古い方法だけどBDE経由ならできる。
858NAME IS NULL:2005/08/30(火) 19:56:47 ID:Z32ATlrE
トリガー使ってフラグを立てての論理削除って出来ますか?
トリガーのBeforeDeleteでいろいろやってみたけど、どうやっても実データが削除されてしまいます。
クライアント側で対処するしかないのかな?
859NAME IS NULL:2005/08/30(火) 23:03:10 ID:???
>>858
After Deleteのトリガーの中で同じテーブルに対して同じデータを
フラグだけ変えてInsertしてみてはどう?
860NAME IS NULL:2005/08/31(水) 19:19:56 ID:???
フリーのデーターベース「Firebird」を見つける事に成功し、インストールも成功しました。
これを使って開発できるフリーのプログラミングソフトはありませんか?
OSは、WinXPです。
自分が持っているDelphi6パーソナルではFirebirdに接続出来ないんですが、
他にもっとよいプログラミングソフトはないものでしょうか?
861NAME IS NULL:2005/08/31(水) 19:41:48 ID:???
Firebird ODBC Driver使えば、delphiパーソナルでも開発出来なかったけ?
862860:2005/08/31(水) 19:45:53 ID:???
>>861
えっ?本当ですか!!
そうなれば嬉しい限りですが、
ググっても、自分Lvでは解りませんでしたので、
その辺の所、詳しく教えて頂けないでしょうか?
863NAME IS NULL:2005/08/31(水) 22:17:36 ID:ziNsnhEJ
i-RAMを使った超高速データベースの構築に興味があるんですが、i-RAM単体では
データの消失が怖いので通常のHDDにシャドーを作成を考えています。
シャドーのデータ書き込みは非同期らしいんですがどれくらいの遅延が起きるんですかね?

また、上記のように著しくアクセス速度の違うデバイスにシャドーを置いた場合、
本体データベースの性能に悪影響出ますか?
864NAME IS NULL:2005/08/31(水) 23:12:00 ID:???
>>860
ほかにもJavaも無料でも使えるし、PHP や Perl (ActivePerl) もあるよ。
wikiの方にも書いてあるけど。

>>863
評価するかソース見ないとわからんけど、これを読む限りシャドーは歴史的にマルチジェネレーション
アーキテクチャと同じような方法で実現されてるような感じがする。
とすると、非同期というのはあくまでトランザクションと同期を保障してないという意味で、遅延はそんなに
ないような気がする。まぁ実際に評価してみるのが一番早いかと。

ttp://www.apex-jp.com/firebird/how_interbase_came_to_be.html
865NAME IS NULL:2005/09/01(木) 19:43:28 ID:???
>>859
やってみましたがその消去するレコードを参照しているレコードがあると例外が出るため
やはり難しいようです。

DELETE自体を無効にする命令があればなぁ〜・・・。
866860:2005/09/01(木) 20:05:37 ID:???
>>864
 レスありがとうございました。
JavaをプログラムしてEXEを作るフリーのプログラムソフトは存知ませんが、
Perlなら勉強出来そうな気がします。(PHPも解りませんが...orz)
ActivePerlとそうでないものの区別も出来ませんが、これから勉強したいと思います。
867NAME IS NULL:2005/09/01(木) 22:15:57 ID:???
868860:2005/09/01(木) 23:30:46 ID:???
>>867
またまたレスありがとうございます。
早速、行かせて頂きましたが、英語だったので断念しました。
愚かですみません。取り敢えず、お礼まで。

現在、>>861 のDelphiの方法で格闘中です。
869NAME IS NULL:2005/09/02(金) 14:57:02 ID:8ZJYbsvh
wikiのニュースにも既に追加済みの様だが、ibWebAdmin 1.0 とかいうのがが出たな。
PHP必須のようだが。
870NAME IS NULL:2005/09/03(土) 23:29:28 ID:???
>>869
正直微妙。サーバの肥やしになってる。
871NAME IS NULL:2005/09/06(火) 14:32:08 ID:???
>組み込みデータベース
>ttp://techon.nikkeibp.co.jp/article/NEWS/20050902/108238/?ST=embedded

ってのがあるけど、FBもembeddedがあったおね?
誰か使ってる?
872NAME IS NULL:2005/09/09(金) 02:00:08 ID:???
>>871
今度使ってみようと思ってます。

ところで、embedded はマルチスレッドをサポートしているのでしょうか。
「firebird embedded thread safe」 でググってみてヒットしたサイトのどこかで
コネクションが一つしか張れないからだめ、みたいなことが書いてありましたが、
実際にスレッドを10個作って、それぞれのスレッドで IBDatabase, IBTransaction,
IBSQL を作成して数万件のデータを挿入してみたところ、うまくいっているようなんですが。
873NAME IS NULL:2005/09/09(金) 15:11:33 ID:???
>>872
あれ?

> IBDatabase, IBTransaction, IBSQL を作成して数万件のデータを挿入してみたところ

サーバーが組み込みなだけで、Windowsアプリ側がクライアントなんだ。
って、まさかサーバーがWinなんてことはないよね?
874872:2005/09/09(金) 22:50:14 ID:???
>>873
サーバーがどうのこうのではなく、アプリの組み込みデータベースとして
使うと言うことなんですが。

会社でいろいろ探していたら、vulcan のドキュメントに、
「embedded は SuperServer と同じ」
「SuperServer はスレッドセーフだが要求の並列実行はしない」
というようなことが書いてありました。やはりマルチスレッドで使っても
問題ないって事?
875NAME IS NULL:2005/09/10(土) 05:44:29 ID:???
Linux版の Embedded は、通常のパッケージから抜き出して使うんじゃなかったっけ?
そういう意味では普通のエンジンとあまりかわらんかも。
ちらっと読んだだけで実際やったことはないから間違ってるかもしれないけどね。
876NAME IS NULL:2005/09/12(月) 13:05:47 ID:???
>>874
あ、Winアプリ組み込みという意味なんだ。

機器組み込みが欲しいんだが。
877NAME IS NULL:2005/09/26(月) 21:18:46 ID:???
亀だけど、
>>868
ttp://info.borland.com/devsupport/interbase/opensource/
ここのIBX使えるんじゃないの?
俺はDel6Proに付属のIBXずっと使ってるけど。
878NAME IS NULL:2005/10/03(月) 00:04:40 ID:???
>>877
IBX は TDataset なんかを継承していたから、たぶん無理(てきとー)
879NAME IS NULL:2005/10/03(月) 03:12:08 ID:???
IBXはわからんけどIBOなら可能じゃないかな。有料だけど。
880NAME IS NULL:2005/10/03(月) 10:52:17 ID:???
こっそり TDataset系のdcuが紛れてたらおk、だけどな。
881NAME IS NULL:2005/10/08(土) 21:45:12 ID:???
IBXのIBSQLMonitorにあるTWriterThreadがAccess Violationバイオレーション起きるが,
解決策しりませんか
882火の島:2005/10/10(月) 15:25:13 ID:???
Firebirdで自動インクリメントのフィールドを作るにはどうすればいいですか?
教えてちょ。
883NAME IS NULL:2005/10/10(月) 19:38:18 ID:jlfyKnNZ
884NAME IS NULL:2005/10/11(火) 16:25:33 ID:???
kinterbasdbを使ってblobのinsert、selectをしたいんですが、
コードのサンプルどこかにありませんか?
885NAME IS NULL:2005/10/19(水) 22:22:30 ID:???
C++Builder で BDE 経由で Firebird 使ってます。

使ってるクエリは
select (count(*)+1)*count(*)/2 column1 from table1 where ....
みたいな感じなんですが、IBExpert で上記クエリを実行すると、
column1 の型は BIGINT になっています。

VCL の TQuery の Filter プロパティは BIGINT に対応
してないようなので BIGINT だとエラーになってしまいます。

TQuery の Filter が BIGINT に対応してくれれば一番簡単なんですが、
ぼくが調べた範囲では解決策は見つけられませんでした。。

そこで、column1 の型を integer にする方法はないでしょうか?
select 文で作成されるデータセットのカラムの型指定をする方法など
ありましたら教えてください。よろしくお願いします。
886NAME IS NULL:2005/10/20(木) 07:59:42 ID:RxGTe497
公式資料だと数値型同士の変換は出来るとはなっていないけど、CAST関数を試して
みればいいんじゃないの?

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?%C1%C8%B9%FE%A4%DF%B4%D8%BF%F4%B0%EC%CD%F7#cast

Webブラウザ経由のリンクだと、↑の#cast以降はなくなっちゃうんだな
887NAME IS NULL:2005/10/20(木) 08:01:35 ID:???
追記。
数値型同士で変換できない場合は、文字列にCASTして文字列としてアプリで取得した後に、
アプリ側で数値に変換すればいいし。
888885:2005/10/20(木) 09:15:23 ID:???
IBExpert で試してみたところ、変換できてますね。
これでいけそうです。ありがとうございました。
889NAME IS NULL:2005/10/26(水) 16:13:27 ID:dvWlnagp
FBに頑張って欲しいけど、MySQLもヨサゲな機能があるね。
「圧縮保存するARCHIVEテーブル」と「別RDBMSのテーブルに透過的にアクセスするFEDERATEDテーブル」。
(フルサポートじゃないみたいだけど)
ttp://slashdot.jp/developers/05/10/25/0727223.shtml
890NAME IS NULL:2005/10/26(水) 19:20:15 ID:???
一応、文字列とかは圧縮されてるけどね。ランレングスだから効果はイマイチだが。
外部ファイルは使えるから、それで他のRDBMSのテーブルを指定できればいい感じかな?
891889:2005/10/27(木) 13:38:27 ID:???
いや、FBにブッちぎって欲しいだけで、
読んだところMySQLの2機能とも実装中途半端で使えなさゲ。

・ARCHIVEテーブル ← うpデート出来ないらしい
・別RDB ← 別の種類がMySQLのみらしい
892NAME IS NULL:2005/10/27(木) 14:08:09 ID:???
>>891
logとかに使う用途だからArchiveがSELECT/INSERTのみなのは
別に中途半端ではないよ。
893NAME IS NULL:2005/10/28(金) 16:46:47 ID:???
バージョンアップ
Firebird-1.5.3.4854-0_RC2-Win32
894NAME IS NULL:2005/10/29(土) 01:10:13 ID:???
DECLARE table TABLE  って使えるっけ?

unkown talken エラーがでるのは気のせい?
なんか根本的に間違えてるのかな?
895NAME IS NULL:2005/10/29(土) 06:57:10 ID:+7nQmRae
何をしたいかによるのでは?

http://nekomimi.s41.xrea.com/x/firebird/pukiwiki/?CREATE%20TABLE#declare_table

DECLARE TABLE は gpre を使うときの単なる宣言文だよ
それでも、常に必要なわけじゃないし
896894:2005/10/30(日) 05:42:21 ID:???
>>895
サンクス

CでFirebirdを読み書きさせようとしています。
Tableが無い場合、CREATEしてから読み書きする場合はDECLARE汁というような記述があったもので・・・

CREATEのあとコミットしたら読み書きできるのかな?
明日いろいろ試行錯誤してみます。
897NAME IS NULL:2005/10/31(月) 11:40:41 ID:kZoMDpLr
>>893
今度は何の変更だろ?
898NAME IS NULL:2005/10/31(月) 17:03:43 ID:X/inew76
>>896
Cからテーブル作成ですか
ちょっと危険なような気がしますが
デッドロック頻発の予感
899NAME IS NULL:2005/10/31(月) 23:01:11 ID:???
2.0でJIS X 0213に対応する予定はないのかな?
900NAME IS NULL:2005/11/03(木) 00:01:53 ID:???
配列を含むテーブルをCで読もうとしているのですが、
列をフェッチするところまではいいのですが、配列をスライス
するところでデータベースから切断されてしまいます。
SELECTのSQL文か?そもそもテーブルを作るときに間違っているのか?

何か心当たりのある方いらっしゃいませんか?
901NAME IS NULL:2005/11/04(金) 09:34:23 ID:???
wikiあぼーん?
902NAME IS NULL:2005/11/04(金) 12:28:00 ID:???
なんかアクセスできなくなってるね。
PHPのかなり致命的なセキュリティホールが見つかったから、それの対策中
なのかもしれないけど。
903NAME IS NULL:2005/11/04(金) 17:28:53 ID:3D2dtNbh
バージョンアップは合ったみたいだけど復旧しないな
アカウント持ってる人が気が付くかもしれないから上げておこう
904NAME IS NULL:2005/11/05(土) 16:37:09 ID:???
寝かせてた鯖に移しました

http://firebird.skr.jp/
905NAME IS NULL:2005/11/05(土) 19:40:25 ID:???
お疲れ様です
906NAME IS NULL:2005/11/07(月) 10:20:55 ID:zHI/s8ym
FB1.5の次ってFB2.0とFB3.0が同時に開発されてるけど、
オマイらどれ使うよ?
907NAME IS NULL:2005/11/07(月) 15:31:56 ID:/YZ2kQcS
908NAME IS NULL:2005/11/08(火) 20:17:08 ID:???
とあるFDBファイルにアクセスできない障害が起きたので
gstatでDB情報を読み込んだところ↓のようになりました。

Database header page information:
Flags0
Checksum12345
Generation2147481573
Page size4096
ODS version10.1
Oldest transaction2147481359
Oldest active2147481360
Oldest snapshot2147481360
Next transaction2147481554
以下略

Generation、Oldest transaction、Oldest active、Oldest snapshot、Next transactionが
int型のMAX近い値です。

これは更新処理を繰り返していくと増えていくものなのでしょうか?
あるいはsweepとやらが行われていない状況なのでしょうか?

指揮者の方教えを頂きたいです。
909NAME IS NULL:2005/11/09(水) 00:16:15 ID:???
>>908
ネタじゃないならgbakをお奨めする。
・・もう手遅れかもしれないけど。
910NAME IS NULL:2005/11/09(水) 08:50:06 ID:???
自分の経験から言うと、gbakでエラー出た場合、gfixを行う。
でgbakを行いエラーが出た場合、gfixを行う。

と繰り返すと、何とかデータを吸い出せる。
911NAME IS NULL:2005/11/09(水) 09:53:47 ID:???
>>909-910
ネタじゃないです。

書き忘れましたが、gbakでバックアップ→リストアで一発で治りました。

ただイメージとしてトランザクションがどんどん増えていって
アクセスできなくなるのかなーと。

なので

Generation、Oldest transaction、Oldest active、Oldest snapshot、Next transactionなどを
また0に戻すことってできるんですかね?
sweepを手動で実行しても0になりませんでした。
912NAME IS NULL:2005/11/09(水) 10:52:16 ID:???
>ただイメージとしてトランザクションがどんどん増えていって アクセスできなくなるのかなーと。

クライアント側が氏ねば、トランザクション終了すると思うんだけど。
もっと状況カキコしる!
913NAME IS NULL:2005/11/09(水) 11:12:32 ID:???
>>912
状況というと環境ですか?
WinXp、C++Builder5、ODBC接続
FBサーバ1台、FBクライアント1台

ODBCの設定で
コミットに関してはSQL_AUTOCOMMIT_ONにして、
トランザクション分離レベルはSQL_TXN_READ_COMMITTEDです。

自作アプリ起動時に接続、終了時に切断という流れなのでクエリを飛ばすごとに
接続、切断はしてません。


>クライアント側が氏ねば、トランザクション終了すると思うんだけど。

接続を解除(Disconnect)すると増えたトランザクションが減るということですか?
オートコミットONなので自動的にトラン開始→終了してくれてると思います。

Generation、Oldest transaction、Oldest active、Oldest snapshot、Next transaction
の値は接続を解除すると減り、通常は上がりっぱなしということは無いということでしょうか。

てっきり上記の値は増えていくのが普通で、何かリセット方法などがあると踏んでたんですが・・・(´・ω・)
914NAME IS NULL:2005/11/09(水) 11:37:34 ID:???
とりあえず、トランザクションが200個放置されてる可能性は高い。
少なくともいくつか残ってしまってるのは確かだろう。
詳しくは gfix なんかで見ないと分からんが。
理由はわからんが、アクティブで放置かリンボ状態になってるんじゃね?
これはスイープだけではなおらんだろう。
スイープはガベージコレクションなんだから。
gbakでもいいが、gfixで1回シャットダウンしてアクティブなトランザクション
を終了させた後に、リンボになったトランザクションを強制的にコミットなり
ロールバックしないとな。
(こっちからすると)思いもかけない結果になるかもしれないからバックアップを
とった後でやったほうがいいけど。
いずれにせよ、ODBC経由だから色々微妙だよな。
915NAME IS NULL:2005/11/09(水) 11:59:24 ID:???
自分ibphoenixサイトから落としたODBCドライバで、それらしいことは発生してないけど。
ODBCってM$にしてはガンガッテ安定させた方だおね。
916NAME IS NULL:2005/11/09(水) 13:16:52 ID:???
>とりあえず、トランザクションが200個放置されてる可能性は高い。
>少なくともいくつか残ってしまってるのは確かだろう。

    ということはオートコミットされてないってことですね・・・

>詳しくは gfix なんかで見ないと分からんが。

    gfix -user SYSDBA -password masterkey C:\TEST.FDB -v -f -n で
    やってみたところ

    Summary of validation errors
        Number of record level errors :1

    と出て終了しました。

あとfirebird.logを見たところ

TEST (Server)Tue Oct 18 04:47:11 2005
Database: C:\TEST.FDB
internal gds software consistency check (cannot find tip page (165))

というようなエラーが連発されていました。gds32.dll内でエラーが起きたのかもしれません。


結果としてトランザクションがきちんと終了してないということでしょうか。

みなさんはgstatでGenerationなどの値は増え続けていませんか?
917NAME IS NULL:2005/11/09(水) 13:37:34 ID:???
プロはRDBの基本機能を無視するオートコミットなんてウソっぽいものは使わない。
918NAME IS NULL:2005/11/09(水) 14:09:00 ID:???
>>917
手動でコミットする場合ODBCでは

Connect(トランザクション開始)
        ↓
Select、Update、Insert、Deleteなど(それまでのトラン終了、そしてトラン開始)
        ↓
Select、Update、Insert、Deleteなど(それまでのトラン終了、そしてトラン開始)
        ・・・
        ↓
Disconnect(トランザクション終了)

という認識で正しいでしょうか?
919NAME IS NULL:2005/11/09(水) 14:10:56 ID:???
失礼しましたコミットが抜けてました。

Connect(トランザクション開始)
        ↓
コミット後、Select、Update、Insert、Deleteなど(それまでのトラン終了、そしてトラン開始)
        ↓
コミット後、Select、Update、Insert、Deleteなど(それまでのトラン終了、そしてトラン開始)
        ・・・
        ↓
Disconnect(トランザクション終了)
920NAME IS NULL:2005/11/09(水) 16:51:42 ID:???
PHPからの時しかわかんね
PHPの場合は接続時はオートコミットで、その後にAPIでオートコミットをオフにすると
トランザクション開始だ
あとは普通に処理してコミットなりロールバックなりする
持続的接続使用の場合は特に注意が必要だ
性能的にどうしても必要でないなら、持続的接続はやめた方が良いかもしんない
921909:2005/11/10(木) 01:06:21 ID:???
>>911
バックアップ→リストアで0に戻らなかった?

その辺の数字はトランザクションを実行する毎に1ずつ増えていくはず。
InterBaseの頃は
ttp://www.ibphoenix.com/downloads/Firebird_v1_ReleaseNotes-J.pdf
の33ページみたいなこともあったみたいだけど、Firebird1.5ではどうなのか知らない。

トランザクションは明示的に制御するのが好ましいけどWindowsアプリだと全てそうするのは大変そう。

そのデータベースは作成してからどのくらい?
select文とオートコミットの組み合わせでトランザクションが多発している所がありそうな気がする・・
922NAME IS NULL:2005/11/10(木) 09:17:54 ID:???
>>920
やはりオートコミットはやばそうですね・・・

>>921
>バックアップ→リストアで0に戻らなかった?

    はい、0になりました。なので、あふれるのを事前に防げるのかなーと。
    
>そのデータベースは作成してからどのくらい?

    2005年の6月1日作成なのですが、6月20日から実稼動、停止したのが10月18日です。
    なので4ヶ月はもってるようです。この調子でいくと来年の2月にはまたパーティになりそうです。

>select文とオートコミットの組み合わせでトランザクションが多発している所がありそうな気がする・・

    たしかに更新処理の多いアプリなので
    0に修復し、一週間動かしたら

       Flags          0
       Checksum       12345
       Generation       187188967
       Page size       4096
       ODS version      10.1
       Oldest transaction  187188776
       Oldest active     187188777
       Oldest snapshot    187188777
       Next transaction    187188962

    一億を越してました。

    リンク先のリリースノートによりますと、GDSエラーが出た場合、

    >1024Bのページサイズを使わない。
    >次のトランザクション番号をときどきチェックする。
    >次のトランザクション番号がリミットに近づいていることが確認できた場合、
    >データベースをバックアップ/リストアする

    とあるのでFDBを使っている限りはいつかは起こるのかもしれません、
    また復帰方法がバックアップ/リストアしかないようなので
    24時間稼動のシステムには不向きということでしょうか。このバージョンでは。

    ちなみにFBはFirebird-1.5.2.4731-Win32.exeを、
    ODBCドライバはFirebird_ODBC_1.2.0.69-Win32.exeを使ってます。

    FB1.5のリリースノートを見てみたいと思います。
923NAME IS NULL:2005/11/10(木) 10:57:07 ID:???
簡単に書くと、

 StartTransaction();
try {
 
 各種処理(SelectやInsert、Update、Delete)
 
 Commit();
} catch() {
 Rollback();
}


ただし、StartTransactionというのはDBコンポーネントが用意しているだけでRDB本体には無い、と聞いた事がある(けど本当かどうか知らない
924923:2005/11/10(木) 10:58:26 ID:???
で、DB接続と切断は、理想はアプリの開始と終了時の1回。

ウェブサーバーだと、それはキツイかも。
925NAME IS NULL:2005/11/10(木) 11:39:29 ID:???
>>923-924

FirebirdでもODBCの挙動のドキュメントがあれば助かるんですが、
ODBCドライバのソースを読むしかなさそうですね。
ODBCでのStartTransactionを模索してみます。

↓DB2でのODBC手動コミット設定の話では、トランザクションは暗黙的に開始されるようです。
ttp://www-306.ibm.com/software/data/db2/everyplace/doc/infocenters/jpn/dbeapr1032.htm#HDRFNSCONNATTR
926NAME IS NULL:2005/11/10(木) 14:11:31 ID:???
アーキテクチャとして、IB/FBは「トランザクションがない」という状態はないよね
意識してなくても、常にデフォルトのトランザクションは走ってるから
927NAME IS NULL:2005/11/10(木) 14:17:19 ID:???
あと >>920 は、PHP で ODBC API 使用時の話だから
FirebirdネイティブなAPIをC/C++で使うときは、デフォルトのトランザクション
使用時でもコネクションを張った後に常に自分でトランザクションを開始しなくちゃ
いけないし
928909:2005/11/11(金) 00:36:09 ID:???
>>922
システムにもよるけど一週間で1億って多すぎじゃない?
更新多いっていっても1億行は書いてないっしょ

オートコミット状態でselect文1回実行しただけで1つ増えるから
そのせいじゃないかと思うんだがなぁ
ループの中でselect連発とか・・

使ったことないからわからんけど、いくらODBCでもトランザクション管理はできるんじゃないの?
ループの中でselectがあったらトランザクションを一つに纏めてみて。
きっとスピードも速くなるよ

IB/FBはマルチジェネレーションアーキテクチャで作られているからこういう仕様は
多かれ少なかれいつまでもありそうな気がする。
929NAME IS NULL:2005/11/11(金) 09:39:49 ID:???
>>928
>オートコミット状態でselect文1回実行しただけで1つ増えるから
>そのせいじゃないかと思うんだがなぁ
>ループの中でselect連発とか・・

    おっしゃるとおりselectするごとに+1されていました。

>使ったことないからわからんけど、いくらODBCでもトランザクション管理はできるんじゃないの?
>ループの中でselectがあったらトランザクションを一つに纏めてみて。
>きっとスピードも速くなるよ

    FirebirdODBCドライバのソースに
    \OdbcJdbc\IscDbc\IscConnection.cppというファイルがあり
    startTransactionというメソッドがあったんですが
    ODBCから呼んでなさそうです・・・(´・ω・)

    なので>>926-927の言われているとおりデフォルトのトランザクションで
    処理されているのかもしれません。

TEST.FDBを作成し、1000件のレコードを作成してテストしてみました。

AutoCommit = On時

Select 1000回実行 → トランザクションも1001増える
gstatで確認したので-1して1000回増えました。
Update、Insert、Deleteも同様。


AutoCommit = Off時

Select 1000回実行後一回だけCommit → トランザクション2増える
gstatで確認したので-1して1回増えました。
Update、Insert、Deleteも同様。


なのでオートコミットのせいでトランザクションが無駄に発行されていたのが
一週間で一億増える原因みたいです。

しかし・・・
必ず1は増えるというのが問題です。
このままではいつかあふれてしまいます。
せいぜいDB作成時にページサイズを16,384にしてトランザクション最大値を
増やすしかないのでしょうか。
リセットする方法、または減らす方法があれば24時間稼動のシステムでも使えるのですが・・・
930NAME IS NULL:2005/11/11(金) 11:29:17 ID:???
トランザクションが不要な用途なら MySQL が一番向いてるんだろうけどね。
履歴型アーキテクチャの問題でしょうがないと思うな。
トランザクション処理が高速なのと引き換えなんじゃないかと。
リセットにしても、トランザクションがまったくない状態じゃないと出来ない
わけだろうから、そうなると実質的に停止状態となるような気がする。
931NAME IS NULL:2005/11/11(金) 13:54:38 ID:???
いやだから、トランザクションはRDBの基本機能であって無視するならRDB以外を使うべし。
932NAME IS NULL:2005/11/11(金) 15:52:24 ID:???
トランザクション番号が溢れそうになったらバックアップ/リストアしてね
なんて変な仕様はRDBの基本機能とやらとは関係ないべ
933NAME IS NULL:2005/11/12(土) 14:37:36 ID:???
2.0のβ版が出たな
春ぐらいには正式リリースになるのかな?
934NAME IS NULL:2005/11/14(月) 17:25:10 ID:x5747fHo
トランザクションの数値ってFBの再起動で直るの?
935NAME IS NULL:2005/11/14(月) 20:52:37 ID:???
直らない
936NAME IS NULL:2005/11/15(火) 10:07:48 ID:p7egLgwt
じゃ、どうすれば直るの?
937NAME IS NULL:2005/11/15(火) 11:58:27 ID:???
たかだか20程度前からの書き込みぐらいは自分で読んだほうがいいのでは...
938NAME IS NULL:2005/11/17(木) 00:34:22 ID:???
Interbase5.6でバックアップを行い、
Firebird1.5.2にバージョンをあげてリストアしました。
訳あって元に戻そうと、Firebird1.5.2でバックアップして、
Interbase5.6でリストアするのですが、エラーが出ます。
ERROR: Expected backup version 1, 2, or 3. Found 6
バックアップリストアでいつでも戻せると思っていたのですが、
世の中なかなかうまくいかないものです。
gbakの-olオプションもだめみたいです。
何かよい方法はないですか。
939NAME IS NULL:2005/11/17(木) 06:04:17 ID:???
データフォーマットが違うから無理なんじゃね?データ型も増えてるし。
そもそも、FBはIB6.01から派生してるし、新形式のファイルを古いバージョンに読み込ませるのは
出来ないのはしょうがないと思うが。
正攻法なら、Perlかなんかでアプリを組んで FB から SQL で吸い出して IB5.6 にSQL で
書き込むとかすればいいような。
もしくは、ファイルに吐き出してから、FB5.6 から外部ファイルとして読み込むとか。
こっちはやったことはないんで詳しく聞かれても困るが。
940NAME IS NULL:2005/11/17(木) 09:37:48 ID:???
>>939
ありがとうございます。
FBのgbakに、旧式のフォーマットで行うオプションがあったりとか、
同じ問題に直面した人が変換ツールとか自前でgbakを作ったりとか、
だったら嬉しいんですが。
そのデータベースは構造が複雑だし、データ量も300MBほどあります。
抜き出して書き戻すのは自信がないので、出来ませんといって逃げます。
941939:2005/11/17(木) 19:22:26 ID:A1xwEgGN
記憶をたどってたんだけど思い出したので一応。
一応こういう(FBCopy)というものもあるよ。

http://fbexport.sourceforge.net/fbcopy.html

IB5.6で使えるかとか、実際どの程度のものかはわからんけどね。
942NAME IS NULL:2005/11/17(木) 21:35:23 ID:???
>>941
ありがとうございます。
見てみましたが、
This tool uses IBPP library for database access.
It supports Firebird 1.0, 1.5 and InterBase 6 databases.
It should also work with InterBase 6.5 and 7,
but nobody has confirmed it yet.
If it works for you, please let me know.
As IBPP project grows, I hope to support all database engines they do.

Dialect 1 is not supported at this time, only Dialect 3.

ということなので、今回は使えないようです。

943NAME IS NULL:2005/11/22(火) 04:47:32 ID:???
>>940
え? バックアップ時に互換モードみたいなのあったよね?
ポータブルなんとかだっけ? あれでもダメ?
944940:2005/11/23(水) 18:03:05 ID:???
>>943
だめでした。

で、そもそもなぜ元に戻したかったかというと、
お客さんが遅くなったから戻してくれといわれたからなんです。
しかし、十分テストして速くなると確信していたから、
どうも納得がいかず、一時的にIB5.6に戻して、IB5.6時代に
バックアップしていたデータで、お客さんの環境でテストし
てみると、やっぱりFBのほうが、速かったのです。

で、推測です。
NT4.0だったのですが、FBを入れるときにエラーが出たので、
sp6aを入れたり、WindowsUpdateしたりしたので
(これではエラーの原因は解決できなかったのですが)
それが原因で遅くなったんじゃないかと睨んでいます。

しかし、どっちみち元には戻せないので、プログラム側を
高速化することで対応しました。

長文すんません。
945NAME IS NULL:2005/11/25(金) 11:06:56 ID:JrmqA/XQ
すいません 超初心者のしつもんなんですが
sysdbaのパスワードがわからなくなってしまいました。
パスワードを知る方法ってなにかありますか?
わかるかたいたら教えてください、よろしくおねがいします
946NAME IS NULL:2005/11/25(金) 12:39:43 ID:???
パスワードのヒント: 二人目の女房といった新婚旅行の場所は?
947945:2005/11/25(金) 13:23:15 ID:JrmqA/XQ
>>946
うーんむずかしいですね。自分は結婚したことがないので検討がつかないです。
948NAME IS NULL:2005/11/25(金) 17:01:11 ID:???
FBをアンインストールして再インストールすると、MASTERKEYに戻ります。
949NAME IS NULL:2005/11/25(金) 17:21:46 ID:???
パスワードも管理できないなら、プログラマーなんてやめちまえ。
950NAME IS NULL:2005/11/25(金) 18:51:29 ID:???
ああ、あれだろ、3大喜劇王の一人だろ?
951NAME IS NULL:2005/11/25(金) 19:41:02 ID:???
藤山 寛美?
952NAME IS NULL:2005/11/26(土) 01:22:36 ID:???
江頭2:50?
953NAME IS NULL:2005/11/26(土) 06:39:01 ID:???
>>948
最近のバージョンはmasterkeyじゃなくて自動生成したのがReadmeに入ってるんじゃなかったっけ?
954NAME IS NULL:2005/11/26(土) 07:11:52 ID:???
Linuxだとインストールするときに入力を求めてくるよ
1.5.3は知らんけど
955NAME IS NULL:2005/11/28(月) 09:36:42 ID:zyw9jz8R
そうか、めんどーになったね。

ところで、
パスワードがDBファイル内にあるんじゃなくて、マシンに設定される、
というのは変わってない?
956NAME IS NULL:2005/11/28(月) 15:52:22 ID:j+Tz+pLh
マシン...というのは何を指してるかわからんが、アカウント情報は
security.fdbなどの専用のデータベースファイルに格納されるな
957955:2005/11/28(月) 16:10:46 ID:zyw9jz8R
なら今までと一緒で、マシンに設定されてるね。

他のDBだと、実際のデータの入ってるファイルにアカウント情報入ってるような希ガス。
958NAME IS NULL:2005/12/01(木) 20:34:00 ID:???
IBOConsoleで急に接続できなくなったんだけど、そういう経験のある人いる?

ログインしようとすると「Cannot attach to services manager」という
メッセージが出るんだけど。
959NAME IS NULL:2005/12/01(木) 21:15:09 ID:???
>>958
サービス止まってるんじゃない?
960NAME IS NULL:2005/12/02(金) 02:34:19 ID:???
>>959
動いてるんだが、駄目なんだよね・・・。
ファイル壊れたかなあ。
961NAME IS NULL:2005/12/02(金) 02:55:19 ID:???
リモートサーバだと入れた・・・ (´・ω・`)
謎だ・・・。
962NAME IS NULL:2005/12/02(金) 18:21:35 ID:s2vztZm+
別に驚くほど不思議ではないかも
Windowsはローカルではソケットで通信してないよ
(表示されない)Windowや共有メモリなどを使うから
何かの理由でその生成に失敗してるのか消えてるんじゃないの?
963NAME IS NULL:2005/12/02(金) 21:28:34 ID:yG9ghYsw
http://firebird.skr.jp/?FAQ#oc8d62a3
によると、商用 IBConsoleと日本語化オープンソース版 IBConsoleはネットワーク経由で接続しろって
書いてあるから、どれでもそうなのかと思ってた。
964NAME IS NULL:2005/12/02(金) 21:38:11 ID:???
FB1.5からWindows用での通信用共有メモリの名前が変わってるからローカルでは繋がらない。
IB/FB1.0と同じ名前にしたら使えるかも?
ここにちゃんと書いてあるよ。

http://firebird.skr.jp/?%C0%DF%C4%EA%A5%D5%A5%A1%A5%A4%A5%EB%28aliases.conf%2Ffirebird.conf%29%A4%CE%A5%EA%A5%D5%A5%A1%A5%EC%A5%F3%A5%B9#uddd2de2
965NAME IS NULL:2005/12/03(土) 17:49:44 ID:???
>>958 ですが、マシンを再起動したら直りました。
>>962 あたりが正解だったか・・・。

ちなみにIBConsoleじゃなくてIB"O"Consoleです。

みなさん、コメントどもでした。
966sage:2005/12/03(土) 21:12:27 ID:N8Q4KgSq
Forced WritesをDisabledにした場合、Windowsが落ちた時に書き込み前のデータが
保障されないこと以外に、何か気をつけることはあるのでしょうか?
967NAME IS NULL:2005/12/08(木) 12:51:28 ID:VugBsy6p
家でWindows版使ってみようといれてみたが
・・・・
殆どマニュアルもよめねぇ・・・
さすが英語はきついぜ

ポスグレみたく日本語の解説サイトあると
(*´Д`)y−~~~ウマー!
なんだが まだあんま一般的にしられてないのかな?

日本ユーザ会の解説見てると
カナリ魅かれるんだが
968NAME IS NULL:2005/12/08(木) 14:11:29 ID:???
>>967
ここじゃいかんのけ?

ttp://firebird.skr.jp/
969NAME IS NULL:2005/12/08(木) 14:36:45 ID:???
接続設定(ちょっと他のDBと違うとこあり。サーバーとファイルパス指定。パスワード設定)さえ終えれば、マニュアル全く読まないけどね。
970NAME IS NULL:2005/12/08(木) 15:07:01 ID:VugBsy6p
>>968
英語版のクイックスタートが
2Ch風日本語に・・・

これ求めていたよ
ありがとう
会社から帰ったら早速やてみる
ノシ
971NAME IS NULL:2005/12/09(金) 01:38:26 ID:???
40文字ぐらいの列名のテーブルが作れないのですがどうしたらいいですか
回答が無い場合はMySQLを使います。
972NAME IS NULL:2005/12/09(金) 01:42:20 ID:???
>>971
PostgreSQLにしといたら?
973NAME IS NULL:2005/12/09(金) 03:08:37 ID:???
Firebirdってリファレンスはフリーで公開されてないの? IB6.0しか見あたらないんだけど。
974NAME IS NULL:2005/12/09(金) 07:21:25 ID:???
975NAME IS NULL:2005/12/10(土) 03:50:23 ID:???
>>974
そうじゃなくてオフィシャルリファレンスマニュアルは無償では無いんでしょうか?
976NAME IS NULL:2005/12/16(金) 11:43:30 ID:???
2006年以降のロードマップが発表されてた。
http://firebird.sourceforge.net/devel/engine/roadmap2006.html

977NAME IS NULL:2005/12/19(月) 17:14:10 ID:???
VARCHAR(10)で作成するとShiftJISの場合、全角10文字分確保されるのでしょうか?
978NAME IS NULL:2005/12/19(月) 21:40:04 ID:???
やってみた方が早いんではないかと
確保されそうな気がするが
979NAME IS NULL:2005/12/21(水) 16:55:22 ID:2Aj3iuId
Windowsのサーバーとクライアントで、
エラー「Unable to complete network request to host」が
出ます。

例外の登録で、プログラムの追加では上記のままで、
ポート3050を追加したところ、動作しました。

そういった事ってありました?

対処はそれでおkでしょうか?

どうか宜しくお願いします。
980NAME IS NULL:2005/12/21(水) 20:37:59 ID:???
3050は、TCP/IPで通信を行う場合のデフォルト設定のポート番号だな。
981NAME IS NULL:2005/12/22(木) 13:23:48 ID:???
>>980
そのポートを空けるってのは良くやることですか?
982NAME IS NULL:2005/12/23(金) 02:35:55 ID:???
>>981
普通インストーラが勝手に開けるんじゃない?
古いInterbaseでは手で開けてた気がするけど。
983NAME IS NULL:2005/12/23(金) 20:34:28 ID:???
>>982
ずいぶん怖いインストーラだな
984NAME IS NULL:2005/12/23(金) 23:46:19 ID:???
開けるって単にservicesに追加するって意味だよね。
だったらインストーラーがやってくれると思う。
985NAME IS NULL
最近はホスト別にファイアウォールもあるしそうでもなくなってきたが。