164 :
NAME IS NULL :
04/07/12 11:19 ID:mkEwcbq4
>>164 でたらめ
JOINできないとかいったいどこから沸いて出た話なのか
166 :
NAME IS NULL :04/07/12 17:03 ID:nW29/KEp
>>164 自分で簡単に検証できるだろ。やってみろ。
リブート直後にやるとよりわかる。キャッシュに入ってないからな。
167 :
NAME IS NULL :04/07/12 17:05 ID:nW29/KEp
>>165 こいつ数万件のデータしかあつかったことのないやつだな。
165じゃないが、とりあえず某中堅プロバイダのユーザ情報収集・集計&メルマガシステムで 最大見込みユーザ数200万件のテストしたときは問題なかったがなぁ。割とシンプルな表構成で JOINは使ってないけどね。 件数だけの問題じゃない話なんじゃないのか? 容量は600M×8本のマルチファイル構成だったけどね。
>>167 自分の環境を疑うことが大事なのでは。
せいぜい名前解決に時間がかかっているのを勘違いしているぐらいの話だと思われ。
常識的に考えてみても、そんなありふれた環境で起こりえる障害が未だどこにも
取り上げられてないなどということ自体、可能性が低い。
「
>>167 の勘違い」を疑うほうがずっと自然。
文句があるなら現象を再現可能な環境を説明してみればいい。
>>167 ははあ。
FirebirdのリリースノートのWindows ME/XPの注意事項読め。
何百万件ものデータベースだから遅くなったわけじゃなくて、単にサイズのでかい
データベースだから問題の影響が顕著に現れただけ。
問題といってもFirebirdのバグでもなんでもない。単にWindows ME/XPの仕様。
マニュアルも読まずに何が検証だ何がスキルだ。
あほくさ。
171 :
NAME IS NULL :04/07/13 00:46 ID:BIIhOqat
>>170 馬鹿だなぁ。Firebird以外のデータベースではそうならんから問題なんだろ。
Firebirdしか知らん坊やだねw
joinのパフォーマンスの悪さについては答えないのだね。
何時間待っても帰って来なくなるのだけどw
そういうことも知らずに必死にマニュアル調べてにわか知識ご苦労さんw
172 :
NAME IS NULL :04/07/13 00:50 ID:BIIhOqat
要は、 「Firebird」って古い割に進化して来なかったせいぜい数万件のデータしかDBとして扱えない化石というで良い?
そうやって思考停止していれば良いんじゃないっすか?ホジホジ
>>171 ( ´,_ゝ`)プッ
> 馬鹿だなぁ。Firebird以外のデータベースではそうならんから問題なんだろ。
そりゃデータベースファイルの拡張子が.GDBなのはInterbaseとFirebirdだけだから
他のデータベースで起こるはずもないだろ。
> joinのパフォーマンスの悪さについては答えないのだね。
悪いのはお前の頭
175 :
NAME IS NULL :04/07/13 11:35 ID:N5z8XjgY
>そりゃデータベースファイルの拡張子が.GDBなのはInterbaseとFirebirdだけだから >他のデータベースで起こるはずもないだろ。 あ、拡張子の問題なんだ。 どうりでFDBで使ってる自分の環境は問題無い。 SQL AnywhereとかAdaptive serverより軽いYO!
ワラタ
>>171 join時に実行プランを適切に設定したかい?
プランを変更すると劇的にパフォーマンスが
改善されることがFirebirdにはよくあるのだが。
178 :
NAME IS NULL :04/07/19 11:32 ID:j5p4qsNd
179 :
NAME IS NULL :04/07/20 10:12 ID:NZ9yksk5
つか、知らないうちに1.5.1が出てビクーリ。 早速1.5.1使った方が良いのかな。
180 :
NAME IS NULL :04/07/22 11:04 ID:yUdqc68p
>171 は、まったくマニュアル調べない奴がいかに屑かというよい例だな
182 :
NAME IS NULL :04/07/26 09:58 ID:t7eEe9cM
Missing configuration file: 〜firebird.conf というエラーは何で塚? 突然エラーが出るようになりましたし、 さらにfirebird.confのファイルパスが全然見当違いのファイルパスで???でつ。
183 :
182 :04/07/26 10:09 ID:t7eEe9cM
ファイルパスの該当するフォルダにfirebird.confを置いたらエラーは消えましたが、 ファイルサーバなんで何とか場所を変えたい。 実行ファイルをファイルサーバに置いてて、それを実行しているんですが、 それよりも上のフォルダにfirebird.confを要求されて、何でこんなことになってんだろ。
Linux版でつか? どちらにせよ気になってドキュメントに記述が無いなら、どういうパス(カレント??)から読んでるのかどうか ソースを落としてきて読んで見るしか。
>>180 7/18付けでダウンロードのページに載ってる。
186 :
NAME 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. あるマシンだけ上記エラーが出ます。どうしたら良いでしょうか?
gsecコマンドでもGUIツールでも好きな方使ってアカウント調べて設定。 どっちもローカル・リモートの両方に対して出来る。
188 :
186 :04/07/27 13:16 ID:8bS5RsaI
殆どのクライアントはサーバには繋がるんですが、 1台だけ駄目みたいです。 ODBCドライバ経由です。
189 :
186 :04/07/27 13:28 ID:???
ごめんなさい、パスワードの大文字/小文字間違ってますた。
サーバだけでなく、ODBCドライバも安定していますね。
サンクス
>>187
190 :
NAME IS NULL :04/07/27 17:20 ID:JYsBCWtH
191 :
NAME IS NULL :04/07/27 17:40 ID:jL3TsqUb
管理ツール説明参考になりますた。 gstatを使えばDBファイルが壊れてるかどうかを調べられますか?
破損チェックはgstatでもある程度されるだろうけど、本来はgfixの修復(-v,-validate)オプション にアップデート禁止(-n,-no_update)を組み合わせるのではないかと。 gfix -user SYSDBA -password masterkey e:\fbdb\dbfile.fdb -v -n
なるほど
>>193 ところで、IBXなんかのライブラリで調べるも方法希望。
コマンドラインを叩くもの悪くないけど、アプリのメニューに組み込みたいですよね。
>>194 >ところで、IBXなんかのライブラリで調べるも方法希望。
人に聞くよりIBConsoleのソース見るのが一番手っ取り早い。
ドキュメントもソースもかなりの量が揃ってるんだから少しは調べなよ。
195の内容は正論なんでしょうが、 実はgsec、gbakはIBXで動作させたんですが(結構トラブルもあった)、 どうしてもデータベース検証が上手くいかなくて。。。 上手くいった例があったら教えて下さいでつ。
サンクス
>>197 今すぐ見れないけど、ツカテミマツ
199 :
NAME IS NULL :04/07/28 14:51 ID:on5YMnyL
200 :
NAME IS NULL :04/07/28 17:55 ID:knWol+Yz
某ユーザ会よりも、内容が充実してきたな・・・
202 :
NAME IS NULL :04/07/29 09:32 ID:lG03g81z
10メガのファイルを10万レコード登録しても大丈夫でつか?
204 :
NAME IS NULL :04/07/29 11:20 ID:lG03g81z
FirebirdのマルチファイルDBってどうやって使うのか知らないんですが。 売り物?
wikiにマルチファイルのこと書いたところへのリンク貼ってあるぞ。
マルチファイル良いね。 でもどうやって使うのやら。 接続時を含めて1個に見えるって、どこに何を定義するのやら。
207 :
NAME IS NULL :04/07/30 16:15 ID:e2vsnD+W
追記。誤解受けそうな書き方だったけど CREATE DATABASE の時は意識するよ。その辺はwikiからリンク されてるサイトに SQL での構成例があるからそれでわかると思う。 そういや、本家見てたら新たなオープンソースの GUI 管理ツールのプロジェクト始まってるね。まだα版だけど。 wikiのニュースに追加しといた。
IB Expertがあれば十分だけどなあ。 貴重なリソース使って車輪の再発明しなくてもいいのに。
210 :
NAME IS NULL :04/08/02 09:07 ID:63TTKrR/
Firebirdの周辺会社が潰れたり撤退したりすると困る。 実質的には困らなくても。
211 :
NAME IS NULL :04/08/02 14:43 ID:Be5yrjBG
wikiのニュースからリンクされてる IB Admin4 試してみたけど、結構いいね。試したのはLinuxじゃなくてWindows版。 メニューとかは日本語にならないけど、データにはシフトJISの文字列も問題なく使えるみたい。 0x5cの入った表示のような文字列でも問題ないし。 データベースのコンペアとか、サービスを利用した定時バックアップの設定とかも出来るんだ。
214 :
NAME IS NULL :04/08/03 14:24 ID:4RFgzLTc
>212 事例引きも欲しいには欲しいですな。 とりあえず、wikiにいつもちょっと調べたりするキャラクタセットやデータ型に関して追加。 ついでに日本語の書籍の情報も追加。本は持ってる人が追加してくしかないね。
希望言うのは勝手だけど、ココにレスする暇があったら書けばいいのにと思ってしまう。 リファレンスがあるのだから自分で試してみて結果を書けばいいのに。 なんのためのWikiだか。
Wikiにまだ慣れてないんだYO!
217 :
NAME IS NULL :04/08/04 14:34 ID:A6m3TApQ
ううむ、DBI/DBDでトランザクション制御を使う方法($dbh->{AutoCommit} = 0;) も書いてあったほうがいいだろうとWiki編集ページを覗いてみたけど… さっぱりわからぬ(・∀・)!! 当方プログラム板のスレにTipsを相当書き込んだ記憶有りなので、過去スレ含めて 漁ってもらえるといろいろと有用な情報があると思われ。 あと、Firebird1.5で追加されたSQLの使用方法の詳細メモとかも手元にあるんだけど… 誰か追加しますか?
219 :
218 :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を使用する上でそうそう困ることはなくなるはずです。
DBDのなかにあるモジュールにDBI on InterBase での使い方書いてあって、そこに トランザクション周りのことも詳しく書いてますよね。当然英語ですけど。 その辺を訳して載せればいいんすかね? wikiは練習用のSandBoxがちゃんとあるので、ヘルプを見ながら練習するしか。 別に難しく無いと思う。
Firebirdを使ったアプリサーバみたいなのをオプソで作れないでしょうかね。 N●Kのビデオサーバみたく(実物は見たこと無いけど、 視聴センターみたいなところで、過去番組自由に見れるサーバがあるらしい)、 クライアントから該当するギガ単位のファイルを楽々取れる、みたいな。 インターフェースはエクスプローラみたいなんではなくて、HTTPみたいなAPIで。
>>221 知ってる言葉を適当に並べてみたって感じだな…
知ってる言葉を適当に並べてみたけど、欲しいものは伝わってでしょ?
>223 要するに、クライアントから「これくれ」ってコマンドを(HTTP の GET request のように)出したら、 それをダウンロードさせてくれるようなシステム? で、そのファイル管理のシステムに Firebird 使うとかならまだしも、そのシステムそのものを Firebird で組むってのは変だと感じないか? 構成的にはコマンドを受け付けるサーバがあって、そこから Firebird に格納位置を問い合わせ る感じになると思うのだが。 でも、扱っているものが映像ライブラリの類だと、解説を全文検索したいとかほざきそうなので Firebird じゃ辛かろうといってみる。 (まあ日本語含む全文検索だと、namazu 使うとか、RDB 以外の選択枝が出てくるだろうが)
225 :
223 :04/08/05 14:24 ID:???
ファイル郡だと扱えとき困る(バックアップやデータの移動)ので、 ある程度の塊になって欲しいということです。 解説を全文検索なんかは別ソフトと別DB(これにもFirebirdを使うつもりですが)で良し。
>>225 うざったらしい奴だなあ。
人から聞かれてちょぼちょぼ答えるんじゃなくて最初から全部吐け!!
何がしたいのかさっぱりわからん。つーかコイツ自身分かってないと思われ。
HTTPみたいなAPIってなんだ (゚Д゚) アホカ
227 :
223 :04/08/05 15:50 ID:???
<必須機能> a)数十メガ単位のファイルを10万ファイル保存 b)HTTPインターフェースでファイルを入出力(ログインなんかの認証は欲しい) c)検索キーは文字列でも数値でもOK d)ファイル数は数えれる範囲内(30くらい?) e)通常LAN内で1ファイルの取得は30秒以内 f)Windowsでも動作
仕様が決まったなら、あとは
>>223 が作るだけだね!
夏休みの工作がんばって!
229 :
NAME IS NULL :04/08/05 17:31 ID:AnNKyOUm
230 :
224 :04/08/05 17:46 ID:???
>226 夏だからねえ。 だいたいファイル群で扱うのに困るというが、227 のスペックだと、ファイル鯖が数TBオーダーで、 それをRAIDもなしにバックアップで乗り切ろうとでも言うのだろうか(藁 というか、やりたいことは Vector とか窓の杜と同じようなイメージなのかねえ。 しかしそんなの、DB が何であれ扱うファイルそのものには全く無関係だしなあ。 ※検索性能を前提に DB が決まるわけだし
232 :
223 :04/08/05 17:59 ID:???
>それをRAIDもなしにバックアップで乗り切ろうとでも言うのだろうか(藁 勝手に話を広げられて藁われてもな。。。 RAIDなしとはどっから出た話か。
233 :
224 :04/08/05 18:22 ID:???
>232 その規模だったら普通バックアップを取ろうとはしない(というか無理)。 RAID1 で二重化するとか、RAID5ないし6 で復旧できるようにする、あるいはシステムそのものを 複数用意する。 なのにバックアップなんて言葉を >225 でキミが書いたからな。 #だいたいバックアップ取るのにどれだけ時間がかかると……
俺ならDBにはファイルのパスだけ入れておくけどなぁ・・・。 なんでと聞かれると困るけど。
235 :
223 :04/08/05 20:48 ID:???
>>233 >>244 パッケージソフトだから、バックアップ機能要るんだけど...
どれだけ時間がかかろうと、マシン構成に依存せずに実行出来るメニュー(ボタン?)と機能は要るわけさ。
>>234 漏れもそうするな。理由はDBのバックアップとファイルのバックアップを
別々にできるし、何かとハンドリングが楽になるから。
238 :
224 :04/08/05 23:58 ID:???
>235 なるほど、つまり漏れが >233 で書いたことが、まったく理解できてないのか。 ほんと、夏だねえ。
239 :
223 :04/08/06 08:40 ID:???
>俺ならDBにはファイルのパスだけ入れておくけどなぁ・・・。 こういう形態があるのを知った上で違うものを開発しようとしてるんだけど。 ファイルを間違って移動したり消したりしたらもう把握できないでしょ、10万ファイルあったら。 >RAID1 で二重化するとか、RAID5ないし6 で復旧できるようにする、 >あるいはシステムそのものを複数用意する。 マシン構成はRAIDで良いんだけど、 パッケージソフト的にはあるデータ郡を別サーバに移動とか削除とか、 そういったメニューがいるわけ。 また違う方面の回答しておいて、お前わかってない、って言うのか? マシン構成を話題にあげてないのに。
Firebird自身オープンソースだし、 Firebird本体や上乗せしたインターフェース開発 or 利用の話をしようよ。 RAIDの話は別スレで。 RAIDのことを知りたい人が居るなら会話続けても良いけど、そうじゃないから。
それから、普通はそういことはしない、とか、 だいたいバックアップ取るのにどれだけ時間がかかるか、とかいうのも無し。 今まで無かった凄いソフトウェアを作ろうという意見を否定する必要はない。 否定するにしても、oraを潰してやろうというIBphenix/FBスレに相応しくない。
夏だからとか夏厨だからという言い方も、 一般的なものを素晴らしい物、妥当な物と信じ込んでるSヨっぽくてみっともないね。 FBには逆のことを期待したい。
>>241 そのシステムってFirebirdが出てくる必然性がどこにもないよね。
どのDBMSでも出来るような話をこのスレでする必要はなし。
> 今まで無かった凄いソフトウェア
ぜんぜん既出だし、凄くもないし、
>>223 に作れるわけもないし。
> oraを潰してやろうというIBphenix/FBスレ
そういう意見はことごとく否定され続けてきたわけだが。
そもそもOracle使ったことのある人間は適材適所が分かってるから
そう言うこと言わないしね。
>>243 こういう言い方は良くないけど、
あなたがそんな書き込みを続ける中で
このスレが存続してもショウガナイじゃない。
あなたに何もお願いはしません。
このスレから消えてくれるだけで良いので、どうかお願いします。
>>245 じゃ、会話に絡んできて下さい。
新技術で解決するという話をして、出来ないという話はやめましょう。
247 :
224 :04/08/06 11:30 ID:???
>243 凄く「遅い、使い勝手悪い」システムにはなるだろうけどな(w Firebird に限らず、どんな RDBMS でも、そういう使い方はしないね。 それで性能が出る RDBMS あったら教えて欲しいわ。 少なくとも Oracle も DB2 も Sybase/MS SQL Server も MySQL も Interbase/Firebird も、 みーんな性能でない。
「凄く遅い」が一箇所あれば全部駄目、という話は出ないよ。 そこをどう解決するか、という話。 全バックアップのときのみファイルコピーするという切り抜けもあるし。 (このとき10万ファイルもあったら駄目だよ。数えられるファイル数) それから、「使い勝手悪い」は関係ない。 システム作るのに要るインターフェースを書いただけで、それを使わない人が悪いインターフェースだって言ったところで。。。
>>246 じゃあ一回だけ絡んでやる。
>>247 パフォーマンス的にボトルネックになるのは単に馬鹿でかいBLOBフィールドの
送受の部分だけでしょ? そのBLOBがストリーミングデータのような物ならRTP
のような仕掛けが必要だけれども、単にでかいだけのファイルでしょ?
DBMSの性能が大きく影響する部分とは思えないねえ。
RDBMSベースのファイルシステムとして、OracleのiFSやLonghornのWinFSが
実際に実現されているのだから、そんなレベルの話で「どのDBMSもだめ」
なんて結論なら、どのしくみ使っても性能でないね。
>>223 ,
>>248 必要最低限の知識も身につけず、やりたいことだけ語るなんてのは妄想に劣る。
幼稚園児が「将来パイロットになりたい」って言ってるのと同じレベルだ。
もっと自分の知らないことがなんであって、その実現のためにはどれだけの知識を
身につける必要があるのかを知るべき。
絡む相手を間違えたみたいだね。
>>249 247は224であって、要望を出している223ではない。
「必要最低限の知識も身につけず」と、
またまた自分が根も葉も無い話を落として悦にいるんでつか。
やりたいことを語るのを否定して、なんでこのスレに居るんだろう。
>>249 こんなに長く邪魔するなんて、邪魔するにもほどがあるんでは?
>じゃあ一回だけ絡んでやる。
最後にして下さい。お願いですから。
252 :
NAME IS NULL :04/08/06 13:53 ID:Y/FK6l90
253 :
224 :04/08/06 13:53 ID:???
>249 ああ確かに iFS(今は Oracle Files か)とか、WinFS とかあるね。 しかしあれらを使うようなレベルって、個人だとせいぜい数十GB規模までだし、逆にTBクラスの ファイル群をどうこうしようとするならそれなりに設備がかかるし。 どっちにせよ、>223 の想定にはそぐわないでしょ。 そもそも軽量コンパクトな Interbase/Firebird でやることでもないし。 もっとも、>223 が iFS や WinFS を知っていたかどうかまでは知らんけど。
>>253 お願い、変な想定しないで。
ソフトの料金は安くて、ユーザが設備を投資すればスケーラブルに莫大なデータが入るものを作りたいんです。
それから、iFSも関係無いし、SQL ServerなWinFSも要りません。
話を広げてまで人を否定するのはそろそろ勘弁。
急にスレが盛り上がってきたな。2、3人が書いてるだけだろうが。
盛り上がってんじゃなくて、話の枠を広げたり関係無い話出してまでして、 人の話を否定するのに一生懸命な人達が居るだけ。 いい加減にして欲しい。
>>256 人が何をネタに何を話そうが勝手だろ?
誰もお前の要件定義やってるわけじゃないからな。
話の枠が広がると言うことは、お前のやろうとしていることというのは
それだけの枠が必要だということだよ。
258 :
223 :04/08/06 14:27 ID:???
じゃ、用件定義 <必須機能> a)数十メガ単位のファイルを10万ファイル保存 b)HTTPインターフェースでファイルを入出力(認証機能欲しい) c)検索キーは文字列 d)ファイル数は数えれる範囲内(30くらい?) e)通常LAN内で1ファイルの取得は30秒以内 f)Windowsでも動作(WinFSや他社DBは不要) g)RAID設定はユーザに依存
>>258 通常LANって何だ? 100BASEか? 100BASEか?
いずれにせよ30秒以内という条件があるのだからそれを満たすには
何Byteまでのファイルが扱えるのか計算できるだろ。
少なくとも「数十メガ単位のファイル」などというアバウトな数字は
出てこないだろ?
あと、a)では10万ファイルと書いているのに、d)の30ファイルくらい
というのは何だ? 10万なのか30なのかどっちだ。
検索キーの文字列って何だ、具体的に何Byte程度の文字列なんだ?
HTTPインターフェイスって何だ? 説明しろ。
FTPじゃだめなのか、SMBじゃだめなのか、認証が必要と書いてあるが
どの方式だ、転送データは暗号化しなくていいのかどうなんだ。
何が必須機能だ、アホか、手を抜くな。
260 :
223 :04/08/06 15:52 ID:???
>アバウトな数字は出てこないだろ? 仕様の設計ということを知らない香具師か。箱売り導入しかしらんSヨだな。 >HTTPインターフェイスって何だ? 説明しろ。FTPじゃだめなのか、SMBじゃだめなのか、 HTTPと指定してるだろ。SMBまで出すヴぁか。HTTPとM$ネットワークと価値が違うのわからんのか。 >何が必須機能だ、アホか、手を抜くな。 人の仕様を叩いて提言も無いのに、手を抜くな、か(アキレル
262 :
224 :04/08/06 16:42 ID:???
>258 「パッケージソフトである」ってのが抜けたけど、それ要件に含めなくていいのか? で、だ。 a) と d) とでファイル数が大きく食い違うのは、どういう意味か説明したまい。 保存するファイル数が10万のオーダーで、それを数十ファイルにまとめて格納する、のか? それとも検索で出てくるファイル数のオーダーが数十なのか? c) で検索キーは文字列といっているが、その文字列に含まれる情報は何? ファイルの名前? 概要? コメント? ファイルの全文情報から切り出した単語? e) 取得するのは数十MBのファイルだとして、それを30秒以内で転送するには、最低でも (平均50MB と仮定して)13.5Mbit/sec 以上の転送速度が必要。 途中のオーバーヘッドなど加味すると、100Base-TX クラスだと同時5転送が限度ってとこだ ろうが、それで性能的に問題はないのか? この辺が詰められてから「んじゃ DB なんにするかね」ってあたりの話になってくるんだけど。 ※検索で全文検索を含むようだと、Firebird でやるのはキツイ
263 :
223 :04/08/06 16:53 ID:???
>「パッケージソフトである」ってのが抜けたけど、それ要件に含めなくていいのか? パッケージ or 専用ソフトに使う、ファイルマネージャライブラリ、というつもりです。 表面的には画像ライブラリサーバソフトを想定しています。(明確に書くとマズイ) >c) で検索キーは文字列といっているが、その文字列に含まれる情報は何? プライマリキーのための意味の無い文字列です。 >a) と d) とでファイル数が大きく食い違うのは、どういう意味か説明したまい。 > 保存するファイル数が10万のオーダーで、それを数十ファイルにまとめて格納する、のか? その通りで、数十万ファイルを数えられるファイル数(1〜数十)に収めたい、ということです。 >それを30秒以内で転送するには、100Base-TX クラスだと同時5転送 自分の用途には全く問題ありません。 >※検索で全文検索を含むようだと、Firebird でやるのはキツイ パッケージソフトの機能は別にあり、いざ画像を必要とするときだけに必要なサーバとなるので、全文検索は無いです。
264 :
223 :04/08/06 16:55 ID:???
「画像」は「動画」の間違いでした。 画像程度なら通常テーブルの1カラムで十分。
盛り上がっていると思ってきてみれば。。。
>>223 アプリケーションサーバーを作るつもりなんだよね。
使用する言語はなんなのか決めないと具体的に答えてもらえないんじゃない?
<必須機能>をみるとa)以外は機能的には何とでもなりそうだし。(性能的にはしらんけど)
FBでやりたいのはわかるけど、用件定義としてはFBじゃなくても可能な一般的な話だし、
他のすれで聞いた方がいいんじゃない?具体的な実装方法となると使用言語にも依存するし。
>>252 wikiに書いてる人乙!
ほんとありがと!
なんつー住人のスキルに差があるスレなんだ。 厨が未知の単語をググリながら煽ってるのが目に浮かぶw 素人怖いよ〜 (*´д`*) バカハヤダネ
この話、Firebirdスレでやる必要あんのか 別スレ立ててそっちでやってくれないか
いつかオラクルが必死で潰しにくる。やめとけ。
Firebirdの使い方を書けないならなんのスレなんだろ。
すみません、このスレにFirebirdの開発状況に詳しい人いますか? AMD64対応がどのくらい進んでいるのか知りたいんですが。 昨年末にプロジェクトが立ち上がったと思うんですがその後なにも 情報がないようなのですが。
272 :
NAME IS NULL :04/08/09 22:00 ID:dY1BMWtx
現在のプロジェクト進捗状況を聞いてるのでは?
ちゃんと書いてあると思うよ。 HEADを1.6としてSep.にαリリース予定でテスト中と書いてあるような。 VULCANのαも近日中で、うまくいけば年内にファイナルまでなんとかなりそうだと書いてある気がする。 統合した2.0のαは来年の春予定?
Firebird64 >>>>> 32bitの各種RDB ということでつか?
最近のDBは内部表現64bit処理が増えてきてるから有効ではありそう。 いずれにせよ出るのはまだ先だし、その頃には回りもバージョンアップするだろうし。
>>272 サンクス。だいたいわかりました。
いつもIBPhoenixしかチェックしてなかったのでこちらに書いてあるのは
気づきませんでした。
1.6(HEAD)のこの機能よさそうだね。 >Implement physical and multi-level incremental backup >Nbackup needs to be confirmed as complete, documented and tested. >Proposed Release: 1.6 完成すればバックアップ時間がかなり早くなりそうだ。
279 :
NAME 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日後好きな人から告白されるわ宝くじは当たるわ 出世しまくるわ体の悪い所全部治るわでえらい事です
教えて!エロ井主! Delphi + Firebirdでは以前やったことがあるんだけど, .net DataProviderなるのが本家のサイトにあったんだけど, もしかして,VisualStudio.netのC#とODBCやADO以外での接続が 可能になるの??
.NET使ってないから知らんけど、きっと .Netから(ODBCとか使わずに)直接アクセス できるようになるんでないの?
282 :
NAME IS NULL :04/08/11 15:59 ID:8pO3BcEl
>>282 おつかれさま。
結局躓くところは「FB1.5とPHPのすれ違い」の所だから、もう少し詳しく書いて
おいた方が良いのでは?
ユーザー会の方には細かいマニュアルがあるみたいだね。
あと、Windows環境でPHPの日本語の扱いをまともにしようと思うと結構ややこしいし
このマニュアルを必要とするレベルの人は確実に文字化けで填ると思う、その辺りも
追記した方が良いかと。
いろいろ注文してごめんよ。
お仕事用に手元にある RedHat 7.3 に FB1.5 入れようとしたら入れるのが非常に面倒 であることが判明したんで挫折して 1.0.3 に戻したのだ。経験者よろしく〜
あ、面倒というのは、共有ライブラリの問題とか増えてるコマンドを使って インストーラが出来てるので修正が必要とかで PHP の問題とは別だよ。 今更7.3使ってる人間もほとんどいないだろうから参考にはならんし。
286 :
NAME IS NULL :04/08/12 11:42 ID:B2/YhvSp
wiki ですが、クイックスタートへのLinuxの項目追加を先にやりました。
287 :
NAME IS NULL :04/08/17 09:35 ID:o9WPibgQ
FB1.5ユーザはFB1.5.1に乗り換えるべきでつか?
こういう質問って一般的な回答しか出ないんじゃないかと。 リリースノート見て気になるバグが無くて、現在完全に安定動作してるなら無理に変える 必要はないというか。とりあえず変えても大きな問題はでなさそうだけど。
サンクス
>>288 つまり、マイナーバージョン出したくなったけど、
1.5ファイナルリリースした後だったので1.5.1にしちゃったみたいなもんだね。
緊急パッチみたいな存在ではない、と。
290 :
NAME IS NULL :04/08/17 11:03 ID:PYguu6FG
291 :
NAME IS NULL :04/08/17 15:51 ID:o9WPibgQ
オプソDBはFBしか使ったことないんですが、 ポスグレとかMySQLはどうなんでつか?
どうっていわれても、どうもこうもない。
Firebirdの話題じゃないが、InterBase6.5/7.1の重要なセキュリティアップデートが 出たみたいね。6は関係ないとこ見ると、FBには関係ないのかな。
294 :
NAME IS NULL :04/08/18 09:23 ID:lz4Yj4Xj
じゃ、FBとIBを比べてどうでつか? Delphi1.0に付いてたLocal Interbase 1.0を使った時には遅いなと思った。 それ以来IBに良い印象は無かった。多分マシンスペックの問題だろうが。
>>294 機能的には完全にIBに負けてる
性能的には…どうなんだろう?
296 :
NAME IS NULL :04/08/18 11:55 ID:lz4Yj4Xj
FBとIBの違いの即答レスがあるなんて、実は結構IB使われてる?
>>294 IB6=FB0.9
IB6.5=FB1.0
IB7>FB1.6
機能も性能もこんな感じ。
すまそ、FB1.5だ。
IB7が凄いの? それともFBが(ry
そりゃIB7>FB1.5は当然だろ。漏れらはIB7のソースを見ることはできないが、 BorlandはFB1.5のソースを見ることができる。最低でも同じものが作れるわけ だから。
ファイル構造も変更して互換性を切ってるんだから、その辺りでも速度が上がってないと おかしいししな。
>>300 まあ実際にそんなことはやってないだろうし、それが出来るほどソースレベルの
互換性も存在しないと思うけどね。
現実はInterBaseに実装された機能を、Firebirdが後発で追っかけてるって感じだし。
ソースってそんなに違うのかな。IB6=FB0.9の段階ではほんとに同じだったんだよね。
>IB7>FB1.5 が事実だったとしてもショウガナイとして、 64bitになったときに逆転しないかな。 小賢しいことしてない素直なFBが突如高速に、なんて。
IB7 = FB1.5 + SMP対応 + 非同期キャンセル + トランザクションモニタリング機能
306 :
NAME IS NULL :04/08/19 14:50 ID:OgqJ57FB
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の基本が出来てない人でも力業で 結果を吐き出せてしまうのが怖い。
308 :
NAME IS NULL :04/08/19 17:56 ID:MTXQk78R
309 :
NAME IS NULL :04/08/20 19:50 ID:39fYexR2
なんだかあまりにも初心者な質問のせいか黙殺されているな..... べつにポートを空ければすむことなんじゃ。今時ネトゲープレイヤーでも常識的なことだよ。
なにげに1.5のReleaseNote見てて気づいたけど、HyperThreadingと Firebirdって相性悪いのね…。サーバ、Xeonで発注しちゃったよ。 しばらくClassicで動かすか、HT切るか迷うところだなあ。 1.5.1のClassicってServiceAPIの追加で、機能的にはSuperServerに 不足してる部分って無くなったんだよね?
つーことはOpteronサーバ発注した漏れは勝ち組ですか? しかしFBは32bit・・・・。
uid と gid ってどういった時に使うんでしょ? デフォルトで放置してるせいか機能が分かりません
それって別にFBの疑問じゃなくて、UNIX系列の疑問なんでは。 誤爆?
キャラクターセットの質問なのですが、カラムのキャラクターセットを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付属)ともに同じ状況です。
315 :
NAME IS NULL :04/08/24 09:00 ID:QkcsxiU8
SQL見せてミソ
>>315 データベースはIBConsoleからSJIS_0208指定で作成
create table test (
col1 char(8),
col2 varchar
);
insert into test
values (
'001',
'日本語'
);
という感じでやっています。
IBConsoleからテーブルを見てもキャラクターセットはきちんと設定されています。
>NONEのままで使用して問題ないのでしょうか? 自分も同じように、 >Arithmetic exception, numeric overflow, or string truncation エラーが出たので、NONEで使ってる。UTF8なら問題無さそう。 おそらく問題が出るのは、 文字列をUTF8以外のUNICODEで格納すると検索時のときの%が動作しなかったり、 文字列ソートで全然違う順番になっちゃうんじゃないかな。
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なら大丈夫なんだけど。
319 :
NAME IS NULL :04/08/24 14:23 ID:AiZ1oNfe
320 :
NAME IS NULL :04/08/24 16:57 ID:QkcsxiU8
DEFAULT CHARACTER SET SJIS_0208 でもだめ?
321 :
314 :04/08/24 20:41 ID:???
とりあえずFirebirdを1.5.1に入れ替えてみたところ、正常にShiftJISの入力を受け付けるようになりました。 しかし日某製品付属のIBで日本語周りの動作がおかしいってどういうこっちゃ(。A。)
322 :
318 :04/08/24 20:46 ID:???
サーバ側でSJISなんかのキャラクタセットを有効にすると、クライアントライブラリ側もそれにあわせて 接続パラメータ設定しないと、その手の文字変換エラーが出ることがあったような気がする。 isql だと CONNECT の前に SET NAME を使ってキャラクタセットを設定するわけだよね、 IB6 の SQLリファレンス見ると、CONNECTは設定しないと NONE になるみたいだし。 IBConsoleもその辺りの原因で上手く行ってないような気がしてきた。 会社でもう一回やってみるか。
NONEなんか駄目ってことかい?
もう何年もSJIS_0208で使ってるが問題発生したことない。
1.5.1をWin2000で使ってみてるんだけど、 接続ユーザのパスワードって、先頭の8文字しか使ってくれないんだけど、 こういうものなの? なんとかならんもん?
JDBCでサーブレットから接続してみたんだけど、 PreparedStatementオブジェクトを二度close()すると、 SQLExceptionが送出されるみたい。 JDBCのStatementのclose()って、すでにclose()された状態で もう一回close()しても、何も起こらないだけって仕様で 決められてるんじゃなかったっけ? 俺が単に勘違いしてるだけだったらスマソ。
329 :
NAME IS NULL :04/08/26 11:57 ID:IRCGfiLu
330 :
NAME IS NULL :04/08/27 12:36 ID:33mQhnG+
wiki に CONNECT系やその他を追加しました。 ちょっと前に書かれてたキャラクタセット NONE だとどうなるかなどもある程度 書かれていますね。 CONNECTの複雑な使い方なんかは、埋め込みSQLを使いこなすしてツールを 作るときなどには必要なんでしょうけど、それ以外ではあまり関係ないですか。 次はCREATE DATABASE関係辺りを。
331 :
NAME IS NULL :04/08/30 09:24 ID:dAaBQL6a
ODBC Version 1.2では何が良くなりましたか? 名称を見るところJDBCとは分離したんですね。 別に困りませんが。
アーカイブの中見ると、OdbcJdbcうんたらとなってるな。 OdbcJdbc.docの中のリリースノートをざっと見たけど、かなり色々追加されてるよ。 ODBCのスカラー関数をドライバでFB向けに変換する機能とか、ESCAPE節サポートとか、 あとは時間でミリセカンドサポートしたなどなど色々。 他にもマルチスレッドサポートとかツーフェーズコミットのサポートとか。
333 :
NAME IS NULL :04/08/30 14:11 ID:RnbQwlKX
wiki に CREATE DATABASE、DROP DATABASE、ALTER DATABASE を追加しました。 ALTER DATABASE は実際には使ったことないかな。
334 :
NAME IS NULL :04/08/31 11:40 ID:wgpF/bW2
wiki に SET TRANSACTION 、COMMIT、ROLLBACK を追加しました。 SET TRANSACTION の用例には、isqlでのテーブルロックの例も追加しておきました。
335 :
NAME IS NULL :04/09/01 15:25 ID:ddAPmuFx
>>335 インデックスとか制約とかトリガーとかビューとかストアドとかジェネレーターとか
イベントとか例外とかドメインとかは?
そのうち何割かはすでに書かれてる気がするのだが。
>>335 今更といえば今更なんだけど、SUBSTRING試してみたけどちゃんとキャラクタセット設定
しておけばシフトJISでも日本語ちゃんと扱えるね。
NONEだと予想通りバイトのキャラクタセットと同じ扱いのようで、無理やり切られるわ。
>>337 SUBSTRINGの話だけど、マルチバイト文字で不具合が出るなんて話あったっけ?
いやいや、NONEとすると無理やり切っちゃうんだという確認。 あと、ドキュメント見ると、BLOB列に対して使うとサブでテキストタイプと指定しても キャラクタセットの指定は無視されてシングルバイト処理になるみたい。
無理矢理切るとは、NULL後のデータが切られるということ?
多バイト文字非対応のPerlやPHPのように普通にバイト単位で切っちゃうというだけでは。 大抵は文字が化ける。
>>340 1文字1バイトで扱ってくれという指定をしているのだから
無理矢理という表現がおかしい。
NONEは1文字1バイトのキャラクタを指定したというわけじゃないと思うよ。 少なくともマニュアルの文章だと、なんでも自由に格納できるカラムという感じ。 アプリケーションが責任を持つ前提で、1つの列で色々なキャラクタセットを混在させたい場合 やバイナリを格納するなどの用途のものだと読み取れるのだが?
344 :
NAME IS NULL :04/09/02 16:26 ID:E9aiqyVu
wikiに演算子とFB1.5でのUDFを追加しました。 ついでに、CAST関数の用例にキャラクタセットを指定する用例を足しました。
345 :
NAME IS NULL :04/09/03 15:09 ID:qXu+oAhD
346 :
NAME IS NULL :04/09/03 15:41 ID:89kbj5Gj
外部コマンドを実行するUDFってどこかで見たような気がするんだけど 誰か知りませんか?
347 :
NAME IS NULL :04/09/07 08:51 ID:WklaK1OB
wiki に、ALTER TABLE, ALTER DOMAIN, CREATE DOMAIN, DROP DOMAIN を 追加しました。
348 :
NAME IS NULL :04/09/08 00:59 ID:m+RXEIcF
IBXのInterBaseAdminのツール郡はFireBirdで動作しないんでしょうか? IBLicensingServiceでユーザー追加しようとすると接続できないみたいな メッセージ connection lost to database をはいて失敗するのですが。。。
>>348 IB6付属のIBConsoleからだと普通にユーザー追加はできてるが‥‥
名前からするとユーザーじゃなくてクライアントライセンスを追加しようとしてるんじゃないか?
350 :
NAME 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割以上完了というところ。
>>349 レスを読んでIBSecurityServiceを使うべきなことに気づきました。
これでうまくいきました。ありがとうございました。
wiki編集してる人乙。 >これで、5割以上完了というところ。 マニュアルもやっぱ分量多いですね。
シンプルとは言っても機能もそれなりにあるし、やっぱり製品ベースだからドキュメントの量は結構 多いですな。
SYSDBA以外のユーザーがユーザー追加、削除、変更などを 行うにはどうしたらいいのでしょう?
管理者権限でセキュリティデータベースにつないで、ユーザーデータベースの表に SQLのGRANTでそれなりの権限を与えればいいんでないの? やったら、一応gsecで追加できるようになったようだけど。 もしもこれで意味がわからないんだったら、危険だからやらない方がいいと思う。 わかってもやらない方がいいかもしれないが。
356 :
NAME IS NULL :04/09/09 23:12 ID:oxmoz8nx
>>355 を見てヘルプを読んでるとUSERSテーブルで直に権限与えなくても
ストアドへの特権割り当てでできそうな気がしてきました。
ストアド書いたことないんですががんばってみます。
なんとか安全にユーザーが自分でパスワード変更できるようにしたいと思います。
357 :
NAME IS NULL :04/09/10 11:30 ID:UtPJAym0
358 :
NAME IS NULL :04/09/13 15:14:18 ID:xFloZI5v
wiki の SQL リファレンス日本語訳に、CREATE TRIGGER、ALTER TRIGGER、DROP TRIGGER を追加しました。 同時に、マルチアクショントリガに関する記述もリファレンス内に追加しました。
359 :
NAME IS NULL :04/09/13 17:24:33 ID:8I/oS1Tw
wikiの中の人、お疲れ様です。ところで、どなたかBLOB型の使い方を 教えてもらえないでしょうか。解説サイトとかも教えてもらえれば助かります。 PHPを利用した画像のDBを作成予定なんですが、よくわかりません。 とりあえずファイル名でリンクして逃げてるんですが…。 ID,FLG1,FLG2,画像 といった形で格納して、IDやFLGで検索して該当データを引っ張っりたいの です。 BLOBの格納、検索、抽出の仕方のサンプルコード書いていただけないでしょうか。 よろしくお願いいたします。
361 :
359 :04/09/14 05:27:16 ID:???
>>360 さんくすです。気づきませんでした。サンプル試してみます。
362 :
NAME IS NULL :04/09/15 09:17:13 ID:1brmaK0z
wiki の SQL リファレンスの日本語訳に、CREATE EXCEPTION, ALTER EXCEPTION, DROP EXCEPTION, EVENT INIT, EVENT WAIT を追加しました。
363 :
NAME IS NULL :04/09/16 11:33:19 ID:Pf5th0zN
wiki の SQL リファレンス 日本語訳に、GRANT, REVOKE, CREATE ROLE, DROP ROLE を追加しました。
364 :
NAME 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のパスが通ってないのでしょうか?どうしてなのか教えてください。
エラーメッセージの通りなんじゃないの? クライアントが Dialect1 になってるというのとBIGINTというデータタイプがないというエラーが 出てるわけだし。Dialect3 じゃないと、BIGINTは使えないよ。接続時に指定できるよね。
366 :
364 :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を見て、更新されていたら、再度読み込む、 といった処理を行っています。 このような用途で、プログラムからの制御が中心になる場合、主として、速度中心に見た場合三者の特徴は どのようなものでしょう。 いろいろ調べたのですが、決定的な判断ができずにいます。できれば、テーブル名、フィールド名に日本語が使えれば なお可です。 よろしくお願いします。
>>367 Delphi+Paradoxからの移行となるとやはりFirebirdが頭一つ抜き出てると思う。
あと
> 100台のうち更新を行うのは、5台くらい、ただし残りの端末は更新があった場合
> 5分以内に画面上のデータを更新する必要があります。
この要件に関しては、Firebirdはイベントと称してサーバからクライアントへの
通知機能を持っているから、それを用いることで
> 5分ごとにタイマーでDBのTimeStampを見て、更新されていたら、再度読み込む
> といった処理を行っています。
が必要なくなる。
プログラムからの制御、パフォーマンスともにFirebirdが優れているんじゃないかな?
> テーブル名、フィールド名に日本語
残念ながらこれは無理
370 :
NAME 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つかいやすかったです。
日本語の列名だけど、Firebird / InterBase 6.01以降では使えるよ。 列名をダブルクォテーションで囲むと出来る。 これは、日本語を扱うという機能じゃなくて、予約語と同じものを列名やASでの指定に 使うための機能なんだけど、キャラクタセットの指定が出来ないので日本語を入れると 文字変換がらみのエラーが出たりツールによっては問題が出たりするよ。 isqlだと、キャラクタセットがNONE(デフォルト)で繋がってるときはいいけど、他で繋げると エラーが出たりする。一応、FB1.5以降ではNONEでも日本語が扱えはするんだけど、 あまりお勧めできる使い方とは言えないかも。
373 :
初心者 :04/09/21 12:52:54 ID:B6uRKkfa
>>372 さん
ありがとうございました。
>isqlだと、キャラクタセットがNONE(デフォルト)で繋がってるときはいいけど、他で繋げると
このあたり、難解ですががんばってみます。
>キャラクタセットの指定が出来ないので
は、
>ダブルクォテーションで囲
んだ、中身についてでしょうか。
データそのものについては、キャラクタセットの指定はできるんですよね。
もっとも、OSと同じでいいのですが。
列属性でのデータ自体のキャラクタセット指定は出来るので問題ないです。 キャラクタセットに関してはSQLのSET NAMESを見ればわかると思います。
375 :
NAME IS NULL :04/09/21 15:56:30 ID:lEX1rElG
>この要件に関しては、Firebirdはイベントと称してサーバからクライアントへの >通知機能を持っているから、それを用いることで 使い方教えて。
376 :
NAME 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は無関係。
>>375 使った事無いので分からぬが。
1.アプリケーションがEVENT INITを発行し、自分が受け取るイベントを
サーバのイベントマネージャに登録
2.アプリケーションがEVENT WAITを発行し、イベント待ち
(非同期でイベントを受ける方法もあり)
3.ストアド・トリガー内でPOST_EVENTを発行し、イベント発生
4.イベントマネージャがアプリケーションに通知
5.アプリケーションがEVENT WAITの後の処理を実行
処理の流れはこんな感じ。
詳細はAPIガイド読んでおくれ。スマソ
>>376 > ファイアーウォールの例外にしちゃえば問題なく動作する
それがつまり3050/tcpを空けるということ
378 :
NAME IS NULL :04/09/21 18:04:41 ID:lEX1rElG
Delphi/IndyだとWin XP SP2 でWindowsマシン名をIPアドレスに解決出来ないみたいでつ。 Firebirdも危なそうでつね。 確か、ブラウジングにUDPでブロードキャストしてたのは思い出しましたが、ポート番号忘れますた。
>>378 自分が書いている言葉の意味をどれだけ理解しているか疑わしいレスだな…
380 :
NAME IS NULL :04/09/22 08:50:04 ID:8ogg5n5D
>>379 おまいはWindowsマシン名のIPアドレス解決シーケンス知ってんの?
>>375 WikiのDBI/DBDリファレンスとか、SQLのイベント関係の所に詳しく書いてあるよ。
API叩いてやるならまだこれだけじゃ情報が足らないけどね。
382 :
NAME IS NULL :04/09/22 15:29:25 ID:OmSiyfz4
383 :
NAME IS NULL :04/09/27 14:49:02 ID:VqDEKDHj
2.0、3.0が立て続けにリリースされるけど、 おまいらどうするよ。
と言われてもどっちも安定版はまだ少し先だろうし。 新機能使わない限りそんなに酷いことはないだろうけど。
385 :
NAME IS NULL :04/09/28 10:14:32 ID:P3bp55DD
wiki の日本語SQLリファレンスに、カーソル系の DECLARE EXTERNAL FUNCTION, DECLARE FILTER, DROP EXTERNAL FUNCTION, DROP FILTER などのUDF/フィルタ 関係を追加しました。 NetWareサポートに関しては、すでにレガシーサポートだし新規に使うことはまずない ので訳は割愛してあります。
386 :
NAME IS NULL :04/09/28 10:21:02 ID:ShJ++6Ad
新機能より、 >また、数Gバイトのデータベースであれば問題ありませんが、 >それ以上ではスケーラビリティの制限があります。 >これについてはFirebird 3.0で対応予定です。 のような性能、スケーラビリティ部分はほっとけないよNE!
387 :
NAME IS NULL :04/09/28 10:22:16 ID:ShJ++6Ad
>Firebird 2.0ではインデックス周りの構造を大きく変更します。 これも性能に関係有るし。 自分は銀行系じゃないから、更新系は遅くても良いんだけど。
389 :
NAME IS NULL :04/09/30 14:58:44 ID:lrg3sNa3
wiki のSQLリファレンス日本語訳に、DECLARE STATEMENT, DESCRIBE, EXECUTE, EXECUTE IMMEDIATE, PREPARE, WHENEVER を追加しました。 フリーで公開されている InterBase6 のSQLリファレンスの内容は網羅してると思います。 Firebirdで追加されたのはまだいくつか抜けていますが。
390 :
NAME IS NULL :04/09/30 18:30:00 ID:4zt2HNVY
ストアド内でジェネレータを reset したいのですが、 なんとかしてできませんか?
>>390 GEN_ID(hoge, 0 - GEN_ID(hoge,0));
やってないので分からないけど、つまりこういうことだよね?
PSQLでもEXECUTE STATEMENT で DSQLが実行できるし。
395 :
390 :04/10/01 18:33:54 ID:8HlagfWC
>>391 つまりそういうことでした。 ありがとうございます。
>>394 意味がわかりませんでした。
ストアドでも使えるということ。1.5以降ならね。
397 :
NAME IS NULL :04/10/02 06:43:12 ID:6m1B7vVI
398 :
390 :04/10/02 10:27:56 ID:???
>397 ありがとう EXECUTE STATEMENT "SET GENERATOR hoge to 0"; こういうことですね String -> ダブルコーテーションをつけるという発想(常識?)が抜けていて散々悩みました すっきりしました
ジェネレータの操作はトランザクションの適用外。 要件にもよるのだろうけど、ジェネレータに単なる一意の値以上の意味を求めることは Firebirdのアーキテクチャの想定外だと思われ。
通常は、insert や update をするときのユニークチェックは DBに任せるのが筋なんでしょうね。
Firebirdに限った話じゃないけど、筋というか、少なくともアプリがデータのコピー を持ってないと処理できないし。 そうなると、DBそのものが必要なのか?ということにもなるレベルだと思うが。 アプリ側でやると、マルチタスク化やマルチクライアントに対応するのが面倒に なるし、そうなると導入のメリットが大幅に減るかと。 速度面やトラフィック面、はたまた営業面で無理やり導入とかでそういうことが 必要になる場合もあるだろが。
403 :
NAME IS NULL :04/10/04 14:28:02 ID:5RueMgOg
404 :
NAME IS NULL :04/10/05 13:07:54 ID:AgCno/sy
Firebirdを動作させてるPCを何ヶ月もほっといたら、 Windowsが仮想メモリでディスクをくいつくしてて、 FirebirdがWindowsのレベルでファイル書き込みエラーを起こしてますた。 データが一部復旧できなかった(ファイル書けないので当たり前)のですが、 ディスクが書けないとFirebird自身が停止してくれれば、 と思ったんですがどうでしょうか。
データベースの同期書込みをオンにしておかないとファイルアクセスがメモリにキャッシュ されるのは当たり前のような気がするけど。OSのライトキャッシュに入っちゃったら アプリケーションからはまったく手を出しようがないし。 やってみればわかるけど、WinNT以降は、ファイルをクローズするか同期書込みにしない かぎり、OSはかなりのデータをメモリに溜め込むよ。クローズはコネクションがある間は 行われないだろうから。
みんなサーバにWindowsつかってるの?
当然だろ。OSといったらMSで一択。 Linuxその他は論外。
その証拠に、「OSが落ちる」という言葉には馴染みがあるが「UNIXが落ちる」という言葉には馴染みがないだろ。
409 :
NAME IS NULL :04/10/05 16:33:28 ID:AgCno/sy
410 :
NAME IS NULL :04/10/05 19:36:39 ID:PjsiCLR5
>>405 Windowsはそんな怖い仕様なんですか。
バッファがあふれなくても定期的にDISKに書き込み入ってると思ってたよ。
この辺に関しては良し悪しというよりも設計思想の違いというのも大きいと思うよ。 UNIX系で使うときでも、同期書込みモードにしないとOSで実際にディスクにいつ書かれる かはわかんないからねぇ。それを使っても100%に近いは保証はできないわけだし。
>>404 > Windowsが仮想メモリでディスクをくいつくしてて、
?
414 :
NAME 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" と怒られます。前にスペース付けた場合はエラーになりません。 どういう理屈でエラーになるんでしょうか?
415 :
NAME IS NULL :04/10/08 10:36:02 ID:TZUMKGHS
選択プロシージャの引数にテーブルの項目を与えたいのですが、どのような 方法があるのか教えて下さい。 SELECT * FROM TABLE_A, HOGE_PROC(TABLE_A.ID) このような事がしたいのですが、うまくいきません。
>>414 CHARACTER SET が OCTETS でない場合、フィールドのその後の文字は空白で満たされる
仕様なんじゃないの?だから最後を空白にしても文字数ぎりぎりでない限り制約にかかると。
実際、列のキャラクタセットに OCTETS (バイナリ用?)を指定したらちゃんと入るよ。
1.5.1だけど。
>>416 凄く納得できました。
RDBってRDB特有の世界で整合性取ってますから、
使う側からすうと結構不思議な振る舞いしてくれますよね。
418 :
415 :04/10/08 11:10:52 ID:???
自己レスです SELECT * FROM TABLE_A JOIN HOGE_PROC(TABLE_A.ID) ON 1 = 1 でいいんですね。
419 :
NAME IS NULL :04/10/10 16:12:09 ID:VTvvdjuc
ストアド・プロシージャのデバッグってどうやるのですか? SUSPENDで値をみるくらいしか方法がわかりません。 ツールとか他に良い方法を知ってたら教えて下さい。
>>419 IBExpertの商用版にはストアドとトリガーのデバッガが付いてるよ
421 :
NAME IS NULL :04/10/13 00:55:15 ID:Tdtx1z2z
>>420 商用版ですか。フリーがあれば一番ですがそう都合の良いものはないですね。
ご回答ありがとうございました。 参考になります。
422 :
NAME IS NULL :04/10/19 14:05:17 ID:JiptoTna
Wikiのニュース更新age。 ドライバ関係はわりと良くバージョン上がるね。
423 :
NAME IS NULL :04/10/19 14:39:25 ID:EogOq3E1
行単位でデータを吸い上げたり出来るツールは無いでつか? ディスク0になってたとこで書いたのでDB吹っ飛びましたでつ。 IB系ライブラリで接続エラーでつ。
424 :
NAME IS NULL :04/10/19 15:01:54 ID:EogOq3E1
gfixでどのオプション使えば修復されるんですか? なんかエラーばっか。
425 :
NAME IS NULL :04/10/19 15:09:57 ID:EogOq3E1
gfix -v も -fも駄目だし、読めるとこまで別DBに出力なんて出来ないの?
根本的にそういう事態に遭遇したことないけど、gbakでバックアップしてからリストアしてみれば? エラーのレコードは除去されるかも?制約もあるから微妙な線だけど。 エラーを無視するオプションもあるから、上手くいかなければそれを付けてみることもできるし。 DBファイルを普通にファイルとしてコピーを保存しておけば後で簡単に現状へ復元できるし。
427 :
NAME IS NULL :04/10/19 15:59:58 ID:EogOq3E1
>>426 gbakも試してますが、駄目みたいです。
なんらか、ある程度のデータを復旧出来ないもんでしょうか。
428 :
NAME IS NULL :04/10/19 17:32:41 ID:EogOq3E1
>checksum error on database page 103071 みたいのが出ますが、 ページ指定でなんかできるのかな。
>426で、gbakにエラーを無視するオプションがあると書いてあるでしょうに。
>426で、gbakにエラーを無視するオプション -igも利きません。 正確に今の状況を書きますと、 ツールでデータの中身は見れますし、 文字数値データのSQL文出力は完璧にできました。 BLOB項目が取り出せれば復旧できます。 後、BLOB項目をそのまんまファイルに吐いてくれるツールが無いかな...
431 :
430 :04/10/19 19:51:53 ID:???
データベースに復旧接続とか復旧データ吸い上げ機能ってあるけど、 Firebirdに限らずBLOBが絡むと難しいのかな。
432 :
430 :04/10/19 20:01:05 ID:???
Firebird本体はレコードをCSVに吐き出す機能は無いのかな... SQL絵に上輪だと、SQL文でバイナリ含めてCSVの入出力があったが。
433 :
430 :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ファイルを残してくれないものか...
>>423 IBExpertのExtractMetadataで取れない?
体験版で試したらBLOBデータは別ファイルに落とされて、
そのファイル内でのアドレスを書いたようなSQLができたっぽい。
読み取り途中でエラーになるなら、WHERE条件をつけてみるとか。
435 :
NAME IS NULL :04/10/20 13:21:06 ID:5DzUviix
>>430 gfix -m -f -i X.FDB
-m(mend) で破損部分をバックアップ対象にしないようにしないとダメ
終わったら再度gbakしてみ
436 :
430 :04/10/20 14:45:04 ID:???
サンクス
>>435 gfix→gbakと同じ処理をやってたのですが、
gfixは1回のコマンドで全てを修復してくれないのを忘れてました。
gfixを何度も行い、gbakのオプションを変えながら復旧できます田。
437 :
NAME IS NULL :04/10/26 19:24:16 ID:4PI49EQy
jpegファイルを格納するフィールドを作成したいのですが、BLOBで良いんですよね? サイズはどのように指定すればいいのでしょうか?
>>437 サイズ指定しないからBLOBなんだが...
439 :
437 :04/10/27 19:29:07 ID:T8/6DCgM
サイズを指定するんであれば、 CHARを文字コードNONEで使うのお勧め。 というか、BLOBてのは、 Create Table JPEG_TABLE( CD INT Not Null, JPEG_IMAGE BLOB, Primary Key(CD) ); て感じでしょうが。
442 :
437 :04/10/28 23:01:16 ID:O9Utpj+w
あぁ、すいません。 IBExpertからいじってるへたれなもんで、そういういみでしたか。 ありがとうございました。
443 :
NAME IS NULL :04/11/02 11:19:32 ID:HqENtaqf
444 :
NAME IS NULL :04/11/02 16:05:40 ID:aCzMCDMy
64bitになったら、どんな良いことがありまつか? コンバートツールありまつか?
>>444 別にコンバートしなくてもいいよ。64Bitマシン上に64Bit版Firebirdを入れて、
既存のデータをリストアするだけ。
メモリの上限が上がるので今いっぱいいっぱいの人にはいいんじゃないか?
>>445 まじかよ。楽で良いね。
でも、64bitのLongは、
-9,223,372,036,854,775,808 〜 +9,223,372,036,854,775,807
の筈だが、
32bitのfdbファイルを64bitのfdbにalterするなんて作業は要らないの?
447 :
NAME IS NULL :04/11/03 06:22:28 ID:WSPL05BN
BIGINTは32bit版でも64bit版でも64bitだからね。 更に大きな数値を扱う型が増えるかもしれないけど。 あと、内部の論理ポインタなどは64bitになってるはずだから、その関係の処理も 64bitCPU+64bitコンパイル版になるだけで少し速くなるよね。
448 :
NAME IS NULL :04/11/04 09:22:12 ID:/OyQa01H
>>447 つまり、32bitバージョンで、create table BITINTしとけば、
64bitバージョンで変更無い。
また、32bitでlongしとけば、64bitでintに見える、等、
FBからの見え方が変わるだけでコンバート不要ってことだね。
それなら64bitスグ使いたい。
Windows 64bit持ってないけど。
449 :
NAME IS NULL :04/11/05 11:06:07 ID:8svHVeOl
FB64bit使っている人いまつか?
ノシ 2.0Alphaををテスト中。
451 :
NAME IS NULL :04/11/08 09:55:45 ID:wpmbfTGP
すいません、Firebird1.5をインストールしたのですが、 win32版だとローカルサーバーがインストされてないって言われるんで win32_pdbってのをインストしたら無事使えたのですが pdbってなんなんですか?
>>450 で、どうよ。
>>451 >win32版だとローカルサーバーがインストされてないって言われるんで
はつみみです。
本当にインストーラから入れたの?
453 :
451 :04/11/08 11:21:02 ID:???
>>452 すいません、勘違いですた。ローカルサーバーを登録し、
再起動したら無事できました。
んでpdbってなんですか?
454 :
NAME IS NULL :04/11/09 15:02:28 ID:Abx4A9J6
ODBC接続してます。 が、別イーサネットのWindows XPSP2で接続出来なくなった、 と言われましたが...
455 :
454 :04/11/09 16:26:57 ID:Abx4A9J6
>Unable to complete network request to host "(略)" というエラーなので、FBに関係無さそうですた。
そりゃファイアウォールの設定が適切じゃなければ繋がらなくなっても 何もおかしくないような。どこで引っかかってるかはそれだけの情報じゃ わからんけど。 そもそもSP2は会社では入れないとこが多いと思うがね。うちの会社も インストール厳禁、間違って入れたら完全自己責任で修復のペナルティ になっとる。
457 :
コピペ推奨 :04/11/09 16:56:22 ID:uUtOSml0
>>456 インストール保留の設定しないとWindowsUpdateでSP2は入ってしまうわけだが…
まさかWindowsUpdateも禁止か。
それにしても、未だSP2の検証が済んでない、SUS立ててブロックするわけでもない
ユーザーに責任を押しつける事で対策とする。
こりゃ完全にネットワーク管理者の怠慢だな。
SP2のファイアウォール切れよ、それで解決
別にSP2を入れなようにしても WindowsUpdate は使えるわけだが。
>>458 SP2の検証が済んだから厳禁としてるように読めるのだが。
463 :
NAME 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が相当するんだろうね。多分。
190さん、ありがとう。
FirebirdSSとFirebirdCSの違いってなんですか?
コネクションごとの処理をSSがスレッド、CSがプロセス単位で行う・・・・かな? 自身なし。
467 :
465 :04/11/20 01:23:06 ID:???
FirebirdCS-***.tar.gz クラシックサーバ FirebirdSS-***.tar.gz スーパサーバ Firebird***64IO.tar.gz 64ビットIO版
469 :
465 :04/11/20 22:43:32 ID:???
>>468 なるほどdクス。
個人的な事で使ってるからCSですな。
470 :
NAME IS NULL :04/11/22 19:00:04 ID:kFfFtJ7Z
個人用途で訳分からないならSSでいいんでないの?
漏れもよくわかってないならSSだとおもう。CPUたくさん 積んでるならCSのほうがいいかもしれないが。
昔のドキュメントには「マルチCPUならCSで」なんて書いてあったけど、今はどうなんだろ。
>>472 どっちでも好きな方を使えばいいんだけど、効率はCSの方が高い。
って説明をどっかで読んだ希ガス。
CSはプロセスベースだからコネクション確立の処理が重いのと、キャッシュもコネクション ごとに取られるから接続数が多いとメモリの使用量が予想しにくいし、キャッシュの効果 がメモリ使用量のわりには悪くなりそうな気がするね。状況によるけど。 SSは、エンジンのマルチCPUへの対応がまだ途上段階なので、コネクションごとに 別の仮想空間が取られるCSの方がマルチCPUのメリットを享受できて現段階では パフォーマンスが出るという感じなんですかね。
つまりマルチCPUならCSにしてメモリたっぷりつんどけってことですね?
質問ですが、テーブル数が多くなると性能落ちますか?
>>476 何と比べてなのか質問の意味がわからん。
正規化してテーブル増えるのを心配してるんなら、まず一旦完全に正規化してから
問題があればあらためて非正規化するべき。
>>476 単純に一つのデータベースファイル内でのテーブル数についての話なら
数百くらいのテーブル数では特に性能の低下は感じなかったかな
まぁ、バックアップの時間は長くなるけど。
サンクス
>>478 >数百くらいのテーブル数では特に性能の低下は感じなかったかな
テーブル数を減らす設計が要るのか検討してましたが、数百でも大丈夫なんでつね。
安心しました。
数百テーブルってどんな用途に使われてるんだろぅ。
>>479 一時テーブルの使い道で作ったらこんな数に orz
Firebirdでテンポラリテーブルって使えるようにならないのかな・・
数百はわからんが普通に設計すると百数十にはなるな。
482 :
NAME IS NULL :04/11/30 09:02:37 ID:WlF48P8n
テンポラリテーブル、とか、百数十って、汎用機で作ったJCLのソートや抽出のような中間テーブルになってない? RDBだとJCL1ページ分が1SQLになるから便利なんだよ?
483 :
481 :04/11/30 16:56:28 ID:???
いや、自分で設計したテーブルだけで百越えてるけどな。 マスタ系が50くらい、トランザクション系が70くらい。 規模によるけどそのくらいにはなることあるでしょ。
484 :
NAME IS NULL :04/12/01 14:10:08 ID:2VLd90kY
1.5.2RC4が出たね。RCの更新リリース間隔短いな。
1.5.0使ってんだけど、1.5.2が正式リリースされたら変えるべき?
486 :
NAME IS NULL :04/12/08 09:47:04 ID:Te5ZScTE
データベースの検証(壊れてないか)は、どうやって調べてまつか?
488 :
NAME IS NULL :04/12/08 10:46:24 ID:Te5ZScTE
>>488 IBコンソールのメニューからデータベース(D)-メンテナンス(M)-データベースの検査(V)
あるいはIBExpert落としてきたら?
>IBコンソール このソースもオプソですよね。 これ組み込んじゃおうかなぁ。
rowidの代替って、なかと? 教えて、エロい人。
492 :
NAME IS NULL :04/12/16 13:21:28 ID:CxvZA629
おまいら、IBConsoleどこからダウソするよ?
493 :
NAME IS NULL :04/12/16 13:56:01 ID:CxvZA629
>>489 IBConsole落としまして、リモートマシンに接続しましたが、そのメニューディセイブルでつ。
ローカルマシンだと接続エラーだし。
495 :
493 :04/12/16 15:08:22 ID:???
ローカルマシンエラーはパスワード間違いですた。
でも、
>>489 そのメニューディセイブルでつ。
が直りません。。。
>>495 原因は2つ考えられます。
1) もっとも基本的…
画面左のツリーの
- InterBase Servers - Local Server -Databases
のツリーの下に、調査対象のデータベースはある?
Databasesの下にデータベースのエリアスを登録していないと、確かにDisabledになるけど、
2)
データベースがすでに登録されている場合、そのデータベースが開いていると、
調査はできないよ。
Databasesの下のエリアスのアイコン(青い円柱上のヤツ)に、緑のチェックが入っていると
データベースの調査のメニューが選択できない。
エリアスのアイコンを右クリックして、「データベースからの切断(D)」を選択して、
エリアスのアイコンに赤×が出るようにしよう。
つか、いろいろ事情があると思うけど、コマンドラインでできるようになったほうがいいと思う。
497 :
NAME 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 どなたかよろしくお願いします。
498 :
493 :04/12/16 17:19:19 ID:???
>>496 接続せずにメニュー開きましたが、
>>489 そのメニューディセイブルでつ。
やっぱ、が直りません。。。
>>498 その書き方だと、接続を最初からしていない(エリアスがない)のか、一度接続したのを切ったのか
わかりにくい。
>>496 の1)の状態なのか2)の状態なのか教えて。
貴殿が目の当たりにしている状態と、自分が想像している状態が大きく食い違っているかもしれない。
これ以上文章だけで話を進めていくのはちょっと難しいような気がする。
そろそろマニュアルをすみからすみまで読んだほうがいいかも。
500 :
493 :04/12/16 18:26:29 ID:???
>>499 接続できるエイリアスに接続せずにメニューを見ましたが、ディセイブルでした。
次に接続してログアウトしましたが、ディセイブルでした。
マニュアルありましたっけ?
501 :
493 :04/12/16 18:33:18 ID:???
間違ってました、エイリアス作ってませんでした。 エイリアス作って実行しました。 が、今度は、 >Error reading data from the connection です。
>>501 IBConsole上でテーブル構造やデータは読める?またはInteractiveSQLでSQL文の発行をして
データは返ってくる?
504 :
497 :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の定義分の表示では改行が入っているのに・・・
同じ改行の入れ方で試しましたが、通りませんでした。
なんだか納得いかないです。
大変感謝しております。ありがとうございました。
505 :
493 :04/12/17 08:54:54 ID:ZU3j1xzL
>>502 読めます。
InteractiveSQLは、
>データベース名が指定されていません。
というエラーになりました。
506 :
493 :04/12/17 08:57:12 ID:???
切断、接続を行ったら、InteractiveSQLも正常動作しました。 なんかデリケートなツールですね。
507 :
493 :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
508 :
493 :04/12/17 09:02:52 ID:???
連続投稿ゴメンなさい。
リモートのサーバーで
>>501 のエラー、
ローカルのファイルで
>>507 のエラー、
みたいです。
>>508 失礼ながらデータベースの検査以外のIBConsoleの使い方は解っていますか。
サーバの登録とかデータベースの登録とか
「なんとかくクリックして入力して…」で使えるツールではないと思いますよ。
コマンドラインを利用できるけどタイプが面倒な人向けのツールと思います。
まずisqlとかgfixとかを利用してはいかがでしょうか。
どの段階で、(オプションで)そのエラーがでているかわかると思います。
>>500 InterBase6のマニュアルをボーランド社に注文してそれを使っている。FB1.03レベルならば
ほとんど共通なので問題ない。
FBの日本語マニュアルはあったかどうか不明。
511 :
493 :04/12/17 14:55:22 ID:???
>>509 それはつまり、IBConsoleの問題でなくて、DBファイルにエラーがあるということ?(ガクガクブルブル
>>510 FB1.5でつ。
512 :
493 :04/12/17 15:16:15 ID:???
gfix -user SYSDBA -password ?????? ????.fdb -v -n を実行したところ、無言でしたが、これはエラーが無かったと喜んで良いことでしょうか?
完全にチェックするなら -f も付けた方がいいのかもしれない。 時間はかかるかもしれないけどね。
514 :
NAME IS NULL :04/12/21 08:46:06 ID:Q9CHqILe
UPDATEでVARCHARkカラムの文字列の置換をしたいのですが、 UPDATE TABLE_NAME SET FIELD_NAME = REPLACE(FIELD_NAME, "置換前ワード", "置換後ワード") のように処理する方法はありませんか?
Perlで簡単なスクリプトを書くんじゃダメなの? UDFを自分で作ればSQLのみでも出来ると思うけど。
>>514 プロシージャ作ってループ処理させるとか。
517 :
NAME IS NULL :04/12/22 18:33:10 ID:YdzSQzq9
FB起動後に、マッピングしたドライブにあるfdbファイルに接続しようとすると、 >Unable to complete network request to host 〜 というエラーになってしまいます。 回避方法はありまつか?
>>517 もしかして、ローカル接続で試みていない?
ドライブをマッピングしたり、UNC記述をしたときにはうまく接続できない経験があった。
別PCに接続するんだったら、リモートサーバーに接続する設定にして、サーバー名、プロトコル名を
記述して接続したほうがいいよ。
ほんとうにローカルDBに接続するのにドライブをマッピングしているんだとしたら、ごめんわからない。
519 :
NAME IS NULL :04/12/23 16:53:50 ID:ZSol6k2K
>もしかして、ローカル接続で試みていない? localhostに接続してまつ。 >サーバー名、プロトコル名を 記述して接続したほうがいいよ。 この記述について、はつみみです。 この場合、ドライブとかパスとか隠蔽されるんですか?
520 :
NAME IS NULL :04/12/23 17:15:25 ID:jMroU7Ve
ユーザ会のメーリングリストに投稿したのですが反応がなくて、こちらでも お尋ねします。マルチポストすみません。 テーブルのデフォルト値を後から追加したいのですがどうすればできますでしょうか。 例えばINTEGER型の項目AAAに後からデフォルト値として0を設定したいのですが。 どなたか教えていただけないでしょうか。 Firebird1.03を利用しています。 よろしくお願いいたします。
>>520 多分できない。
代替方法として、
AAAと同じ型の項目AAA'を追加(DEFALUT付き)して、AAA'にAAAの値を入れて、
AAAを削除して、AAA'の名前をAAAに変更
してみるとか。
× DEFALUT ○ DEFAULT
>>520 ALTER TABLEではできないっぽい。
あらかじめInteger型のDOMAINを作成して、
元々の列にInteger型ではなく、そのDOMAINを使えばALTER DOMAINでできた
ALTER TABLE は型の変更や名前の変更はできるんだけど、デフォルト値 などの定義は変更できないみたいね。 あやふやだけど、制約に関しても表制約だけが対象だった気がする。
525 :
520 :04/12/24 02:22:25 ID:SopuNNWt
>>521-524 ありがとうございました。出来ないのは残念ですがすっきりしました。
521さんの方法で行うことにします。これだとカラム順に引っ張って
たりすると辛いですね…。
523さんのドメインは実は使ったことがないのでこれを機に試して
みたいと思います。
ありがとうございました。
う。ALTER DATABASE じゃなくて ALTER TABLEね。
528 :
NAME IS NULL :04/12/24 13:56:08 ID:ulB8pfZ2
件数と性能がグラフになった文書とか無いで塚?
>>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を流しているかモニタする機能が付いてるし
ほとんどの操作をスクリプトとして保存出来るから、すごく便利だよ。
530 :
529 :04/12/24 16:01:14 ID:???
今回の場合、早い話がRDB$RELATION_FIELDS.RDB$DEFAULT_VALUEを 直接弄ればいいって事らしいね。
システムテーブルを直接弄るの怖いなぁ。 一歩間違うとエライ目にあいそう。 信頼性のあるツールを使う分にはいいかもしれないけど。
532 :
NAME IS NULL :04/12/25 09:21:15 ID:iBDyqUFu
>>532 もう少し詳しく説明してもらえるかな?
クライアントとかいろいろ
>>533 Firebirdをサービスで起動して、
その後substコマンドで作った仮想ドライブに接続すると、
ファイルが無いエラーになります。
実ドライブ経由だと接続出来ます。
または、仮想ドライブを作った後にFirebirdをアプリケーション起動すると接続出来ます。
2005年もまだsubstかよ
>>517 "Unable to complete network request to host 〜"
仮想ドライブを他マシンのフォルダにして接続しようとすると
fbclient.dll でアクセス違反になるぞ。
仮にできたとしてもFBサーバがDBファイルアクセスのたびに
ネットワーク通信することになるわけだからパフォーマンス激遅になるだろう。
素直にDBファイルが置いてあるマシンにFBサーバ入れることだ。
538 :
NAME IS NULL :04/12/26 23:58:35 ID:eFp/SsiQ
Firebird Embeded ServerとADO.Net ProviderでDBファイル作ろうとしているのですが、 ファイルパスに日本語が混じってると文字化けしてエラーが発生してしまいます・・。 どなたか解決方法をご存知の方はいませんか・・?
そこで成功しても、結構IBXライブラリが日本語通さないので、 日本語が混じってるかチェックして、FBエラーになる前に自分でthrowしる!
>>539 やはり無理なのですね。パスチェックしてエラーを防ぐようにします。
ありがとうございました。
541 :
NAME IS NULL :04/12/28 00:10:48 ID:joP8dtza
1.5.2 Releaseあげ
542 :
NAME IS NULL :04/12/28 08:45:57 ID:krzK7FZV
で何が変わったよ?
543 :
NAME IS NULL :04/12/28 09:26:43 ID:I/LjRm2/
バグフィックスとネイティブ64bit/マルチ対応を睨んだ内部処理の見直しじゃない。
545 :
NAME IS NULL :05/01/09 09:33:33 ID:MCTgwBjz
>>545 JP本家が何年かかっても出来ない(やらない)物が2chから
出てくるってのもすごい話だね。
547 :
NAME IS NULL :05/01/11 10:38:20 ID:MfXcPZ5U
まじ? 1.0スルーして1.5から使い始めて最新版だと喜んでいたのに、 2.0はどうかわるのよ?
1.03と1.5のサーバの共存はできますか? 1.5へそろそろ移行したいのですが、1.03で使った過去の資産があるので躊躇しています。 1.03と1.5はどれぐらい互換性があるんだろ・・・
551 :
NAME IS NULL :05/01/12 09:24:55 ID:a251znoB
2.0は数ヶ月以内にリリース、また同じ頃には3.0の最初のテスト版が出てくる。 SMP対応がどんどん良くなる。 64Bit対応は2.0から、って最初言ってたのに1.5で対応してしまったので2.0の 魅力はあまりないかな。
553 :
NAME IS NULL :05/01/17 09:01:00 ID:K+R8I3CX
Win64/FB1.5/64bit使ってる椰子いまつか?
あ、ゴメソ、Winじゃないや。
超初心者です。すんません。 Firebird1.0使ってます。 マカフィーのファイアウォールソフトと同居しているとDBへ更新漏れが 発生してしまうのですが、なぜでしょう? マカフィー側ではC:\Program Files\Firebird\bin\ibserver.exe を許可するようにしているのですが・・・。 どこから検証していけばいいんでしょうかね?
色々ありすぎて、実際マカフィーを使ってて似たような事例を解決した人じゃないと わからんのでわ。 DB、アプリ相互がどういう風な関係・環境で動いてるのかも質問じゃ分からんし。
マカフィーのファイアウォールソフトを使ったことないんでわからないのだが、 「3050ポートは見るな」とか設定できるならした方がいいじゃないかと。
そういや、海外の調査会社でエンタープライズ分野でのオープンソースDBの躍進と、 その中でもFirebirdが大躍進でMySQLと市場を二分しているというのが出てたね。 これはInterBaseからのリプレースが多いということかな。 企業数になると中小企業の方が多いだろうし。 でも、日本への波及はあまりなさそうだよなぁ。
561 :
NAME IS NULL :05/01/25 13:25:12 ID:55tV9Eox
え、マジ? 記事になるのはポスグレとMySQLばかりなんで、FBどうなるんだと思ってたよ。 FB大躍進はハツミミでつ。
海外の記事じゃポスグレこそ見かけないけど。
Firebirdの書籍がもっとあれば日本でも人気出るんだろうけどね
誰に許可なくFirebirdの本書いても問題ないよね?
FBとMySQLとポスグレの比較表とかありませんか?
比較表なんて無いだろ。 562が正しいなら、何でポスグレが日本で流行っちゃったんだろうね。 自分的にはファイルが1個&Winで普通に動作するFBがベストだな。 DBゴトキに管理時間かけてらんない。
日本でポスグレが流行った理由は文字コード関係?
ポスグレは、機能もあるだろうけどオープンソースDBに注目が集まりはじめるころに、 日本での普及に熱心な人達がいて、資料の訳などもどんどんやったからというような ことは聞いたことあるな。聞いた話なんでソースは出せないけど。
ポスグレ開発の中心人物が来日して日本企業に入ったみたいなIT系のニュースを不思議に思ってたんだが、 ポスグレが日本で一番流行ってるということなら、ありえない話でないね。
FBは簡単、MySQLは軽量、なんて良く言われるけど、ポスグレは???
PC-UNIXが流行りだした頃(96年頃?)は日本語でしっかりした情報が手にはいるのは PostgreSQLぐらいしかなかった気がする。 当時のMySQLはRDBMSとは呼ぶには抵抗のある代物だったし。 Firebirdが日本で流行らないのは日本語での情報の無さだろうなあ。 日本ユーザー会も開店休業な状態だし(まあ何かを期待してたわけでもないけど…) そういう意味でもこのスレのWikiの存在は大きいと思うよ。
>>570 Windows上でだけど、MySQLよりFireBirdのほうがリソース消費少ないよ。
ポスグレも8.0でWinに対応してきたから、他DBMSから移行する人や企業も多くなるかもね。 このままだとFirebird ユーザは増えるどころか減っていくんだろう。
>>564 許可は別にいらないんじゃない?
不安ならPSネットワークあたりに聞いてみるのも良いんじゃないかと。
本出したら買うぞw
>>564 自分が使うのはFirebird/PostgreSQLの2つに絞りたい(MySQLステ)ので、
本出したら買うぞ
>>564 Delphi厨だったので、本出したら買うぞ
データベースで、いくつあるか分からない複数の項目を取り扱うときはどうすればよいのでしょう? 八百屋で例えると売っている商品 山田店・・・キャベツ、人参、大根 松本店・・・大根、レタス というような場合です 商品1、商品2、商品3・・・と項目を作っていけばいいのでしょうか? 聞き方悪いかな・・・
暇だからそのものズバリ設計してあげるよ。そのDBに入るのが 仕入れ情報だと仮定すると、 商品マスタ・・・商品コード、商品名 店舗マスタ・・・店舗コード、店舗名 仕入データ・・・仕入コード、店舗コード、商品コード という3テーブルが必要。
583 :
NAME IS NULL :05/02/01 11:15:23 ID:VlLhhkJT
ACCESSからODBC接続で、テーブルリンクしようとしてるんですけど、 「システムで予約されている(-7748)エラーです」 と出てきてリンクできなくて困っています。 プライマリキーの設定を削除したらリンクはできます。 IBOConsoleで、Default値に日本語を入力すると文字化けします。 このあたりの問題なのでしょうか。 DefaultCharacterSetなどの値はいろいろ変えてやってみました。 Noneにしても、SJIS_0208にしてもどれもダメでした。 何がいけないんでしょうか。
>>583 ODBCのドライバも結構バージョンアップしてるけど新しいの入れてるんだよね?
あと、メタデータを表示させて列のキャラクタセットも確認してみないと。
ODBCはあまり使ってないけど、特に問題引き起こしたことはないけどな。
586 :
583 :05/02/03 10:19:33 ID:xgCXo3YY
IBPhenixのドライバは、1.02.00.69でした。 Gemini InterBase ODBC Driver2.0 Ver.2.02.42.01 をダウンロードして、こちらを使用したらうまくリンクできました。 ありがとうございました。
Firebirdでchar型に改行とかも考慮されて文入れることって出来ますか? 改行あるときはBLOBのテキスト型じゃないとダメとか・・・?
例えバイナリでも入る。 各場所でのキャラクタセットの設定が適切じゃないと文字化けが出たりエラーが出るが。
DBファイル作成時にキャラクタセットをNONEにすれば、バイナリ入る。
バイナリ格納やより確実に文字変換を迂回したい場合は、バイナリ用のOCTETSでもいいね。
591 :
NAME IS NULL :05/02/04 11:43:25 ID:PcLV4zto
>OCTETS はつみみでつ。 キャラクタセットにあるの?
593 :
NAME IS NULL :05/02/04 12:31:56 ID:D8diSCC1
>>593 自分はNONE使ってんだけど、OCTETSのんが良いかなぁ。
NONEとかだとNull以降切られたりすんのかな?
NULL以降を削除ということはないと思ったけど、NONE指定だと後々にSQLでNONEじゃない 列にデータを写す必要が出来たときや他のキャラクタセットで接続したときに問題になる場合 があるかもしれん。SQLリファレンスでは繰り返しこのことを注意してるね。 1.5以降ではCAST関数で指定が出来るようになったから回避できるかもしれないが.....。 OCTETSの列は一応他のキャラクタセットの列などとデータ交換可能だよ。
597 :
NAME IS NULL :05/02/04 15:26:57 ID:ER/stuU4
>596 こっちでも公開されてるね
マージモジュールって要るか? FBなんてsetup.exeキックする方が安心じゃん。
InstallShied Express みたいに、exeファイルをキックできないインストーラーもあるしね。 また Install Shield の機能に組み込んで、 ユーザーがカスタムセットアップを選択時に、 FB をインストールしないよう選択もできる。
>InstallShied Express DelとかBCBに付いてるけど、これって超ダサダサ Delで作られたInno Setupの方が高機能&高性能&ソース付き(不要だけど)。 Inno Setupにマージモジュールあるみたいだが、使って無いもん。
601 :
NAME IS NULL :05/02/09 11:09:55 ID:/cLD7E5y
部門で完結してるシステム 基幹はオラクルとか。
FB64bitサーバーとFB32bitクライアントの組み合わせで無問題?
性能的にはまかなえる場合もかなり多いと思うけど、問題は運用サポートかと。 自前で出来る所やお客ならいいけど、商用だとそうじゃないところも多いよね。 海外は商用サポートあるけど、日本はちゃんとやってくれるところあるのかな? IBPhoenix は、破損データベースのデータサルベージ専用の特殊なツールも持ってるようだし、 出張サービスや24時間サポートなんかもやってるようだから大丈夫なんだろうけどね。
>出張サービスや24時間サポート こんなん商用でもやらんで。 必要なのは破損したときの、データベース吸い上げ用起動。 某メーカーに破損で問い合わせたときに教えてくれたのは、 データ吸い上げ用のデータ無保証での起動するためのコマンドラインオプション。 それでデータ吸い上げろ、と。
そうか。 おいらが出入りしてるところはプロバイダだから一応24時間サポートの契約を しているようだ。別の商用DBだけどな。トラブル出るのは大抵深夜だし。
607 :
605 :05/02/10 09:06:40 ID:???
ソフトメーカーやIT企業が契約するんじゃなくてエンドユーザーが直接契約する、 という理解でおk? それなら納得だ。
608 :
NAME 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) なら問題なし。 この辺の仕組みが解説されている文書、どこかにないだろうか? まあ、そんな 限界を試すようなテーブル定義はしないけれど。
610 :
608 :05/02/10 16:38:47 ID:???
>1〜32765バイト
>・キャラクタセットによらず32K以内必須
おお、よく見れば「32767」ではなく「32765」だ。脳内で勝手に「32767」と
読み替えていたようです。
>>609 さん、ありがとう。
# Firebird Wiki にはお世話になっているので、お礼がてらコンテンツを
# 増やそうかな。
VARCHARは長さのカウンタの分なんだろうと思うけど、固定長のに比べて 最大サイズは2byte少ないんだよね。
612 :
NAME 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で 実験したいと思います。
インストールしたbinデイレクトリ下の、ibmgr を直接叩いて起動しても駄目なのかな? それで起動するなら、おいらなら自己責任で初期化関係を手で組み込んでしまうのだけど。 古い人だから、昔は inittab や brc を手でいじるのが普通だったんで...。
postgreならdumpしてレコードを取り出せるけど firebirdってDBから(テーブル定義じゃなく)レコードを取り出す方法ってありますか?
普通にSELECTじゃいけないのか?いけないとしたら理由がわからん。 FROMにストアド使えるからサブクエリと同じこと出来るだろうし。
616 :
614 :05/02/15 08:04:55 ID:???
したいことは一つのDBの中にあるいろんなテーブルの
レコードが全部欲しいんだが
(ほんとにしたいことはバックアップとるとき前回バックアップ時の
レコードと比較して差分だけ保存しようとおもってるのだが・・・)
>>615 の方法でFrom句のストアドで全部のテーブル指定したら全部のレコード見れるの?
列幅違うけど見れたりする?
それなら、ストアドでもいいけど 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 には実装されるようなんで 後何ヶ月かしたら不要になる気もするけどね。
618 :
612 :05/02/15 12:18:58 ID:???
>>613 レスどうも。
その後、何が原因か定かではないのですが、ルート以下のほとんどのディレクトリの
パーミッションが飛んでしまい、お手上げ状態になったので、結局sarge入れました。
さすがにsargeでは難なく動きました。
Firebirdを利用したアプリを個人的に作って使っているのですが、持ち運び用のノートPCの
ハードディスクが怪しいので、データベースファイルを自宅サーバーに置いておきたい
と思っていました。しかしインターネット経由だとやはり重いですね。トンネル経由だからかな?
運用法迷い中。
619 :
NAME 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で行うと、これも大丈夫
620 :
NAME IS NULL :05/02/15 14:52:49 ID:5/lUtvIe
TPBブロックのトランザクションパラメータはどうやって変更するのでしょうか。 明示的な行ロックをしたいのですが、デフォだとロック解除まで待って書き込んじゃいます 書き込まないで、エラー表示したいのですが。
621 :
620 :05/02/15 15:19:14 ID:5/lUtvIe
すんません 事故解決しました。 BCBのTIBTransactionに在りました。
FBってインストールのService/Applicationで動作違いますね。 具体的には、Serviceだとマップしたドライブパスで接続してくれません。 それも、Serviceを再起動しても。 何でだろ。
FBのせいというよりもWindowsのせいという部分が大きいと思う。 UNIX/Linuxのデーモンは普通のアプリと大差ないけど、Windowsのサービスは結構違う。 全初期化は初期起動時の1回だけだし、停止させても仮想メモリから完全にはアンロード されないようだ。
624 :
614 :05/02/15 22:46:25 ID:???
>>617 わざわざサンクス
FB2から差分バックアップできるんだね
まずはperlの勉強からだな・・・
625 :
622 :05/02/16 08:37:03 ID:bsCTOaip
そんなマニアックな情報までサンクスでつ
>>623 詳しく書いたサイトか何か教えて頂けないでしょうか?
627 :
NAME IS NULL :05/02/16 11:31:34 ID:bsCTOaip
1つの物理ディスクにFBのDBファイルがあって、 クラスタサーバーのアプリが前述のFBのDBファイルにローカル接続しても、 問題無く動作しますか? DBファイル壊れませんよね?
628 :
627 :05/02/16 11:46:03 ID:bsCTOaip
アプリだけでなく、複数のFBサーバーが1ファイルに接続しても大丈夫ですよね?
629 :
627 :05/02/16 12:00:15 ID:bsCTOaip
具体的にはMSCSでつ。 なんか、SQL鯖がMSCS対応する、みたいな書き方なんでm$特殊な機能が必要なんだろうか?
> 複数のFBサーバーが1ファイルに接続しても大丈夫ですよね? 無理でしょうね。最初に接続した側がファイル書き込みロックしてるはずなんで。
631 :
627 :05/02/16 12:46:57 ID:bsCTOaip
サンクス。なるほど、FBサーバーのみは、MSCS外のサーバーとすべき?
632 :
627 :05/02/16 12:50:25 ID:bsCTOaip
SQL鯖側はそれを対応してる、ということならどういう対応なのか詳しい方居られましたらお願いで津。
633 :
627 :05/02/16 13:32:47 ID:bsCTOaip
>>629-631 の件について、もう少し詳しく教えて欲しいのですが、
複数のサーバーが1つの物理ディスクに直結した場合、
他サーバー無視してファイルカキコしてしまいそうですが、
他サーバーのファイルロックを把握できるんでしょうか?
(その把握がMSCSの機能なんかなぁ???)
634 :
627 :05/02/16 14:27:52 ID:bsCTOaip
連続投稿スマソ レス貰ったりググったりしてる内に分かってきたんだけど、 m$が2台のPCを使ったMSCSを売り込み、 それに合うRDBはMSCS対応SQL鯖でつよ、 なんてWin団子販売してるようだ。 なら、その中でFBをどう使うかを検討するのは重要な希ガス。
こりゃまた頭悪そうなのが沸いたな…
で、アプリの状態やらオンライン/オフライン化を制御するためにクラスタサービスと通信する 機能を持つアプリのことをクラスタ対応アプリケーションと呼ぶ。SQL Serverのクラスタ対応って のはこれ。 ただ、クラスタ非対応アプリケーションでもGeneric Application リソース タイプやらGeneric Service リソース タイプを使って最低限の制御は可能・・・かも知れない。
639 :
627 :05/02/17 10:16:18 ID:bfNb6Nm1
サンクス印刷しますた
>>637-638 FBはFDBファイルをカキコオープンして、かつ、MSCS非対応アプリケーションだから、原則MSCSクラスタサーバーに入れるとマズイわけですね。
ただ、フェイルオーバータイプのクラスタサーバーだと原則1台しか生きてないわけだから大丈夫かな、と思ってます。
でも客先で稼動後にクラスタサーバーが切り替わってDBファイルが見つかりませんエラーになったそうです。
クラスタサーバーに接続されるSCSIハードディスクの接続が、FBのWindowsのサービス起動より遅いからかな。
この場合、アプリから無理矢理FBのサービスの再起動とかでハードディスク認識させてやれないかなぁ。。。
Winでもアプリケーションモードでコマンドラインから起動できるんだが、それを使って 工夫するんじゃ駄目なのか? 一応書いておくけど、FBのGetStart.pdfにもちょろっと書いてあが(FB1.5の場合は) fbguard -a と打てばガーディアンからアプリケーションモードで起動できるぞ。 Win95系の場合はこれで起動してるようだし。
641 :
627 :05/02/17 11:36:12 ID:???
サンクスでつ
>>640 FBアプリ起動だと、PC(FBとアプリEXEの両方起動)のリブート時に、
FBが「connection active; Are you sure you want to exit?」ダイアログ出して困ります。
PCリブートは、別DB(このマシンが再起動しちゃう)との連携のため必須で...
642 :
NAME IS NULL :05/02/22 19:48:52 ID:ZHHrN/KU
vcからnativeで接続できるの?odbcとか使わずに
専用APIでも出来るし、埋め込みSQLもある。 APIを使わないとすべての機能を使うことは出来ないし。
わざわざ 0 から API 使ってやるメリットなんてないだろうな、普通は。 時間を持て余してるとか、この先あなたが Firebird をずっと使い続けるというのなら話は別だが。
>>643 ibppってapiがあるんだ。これ使えばいろいろできる。
thanx
646 :
NAME IS NULL :05/02/23 09:19:12 ID:xzP2/XvK
Win2k上でApache2.0.xのプロセス内からFBをアクセスするモジュール(DSO)作ってるけど、 Apacheがサービスとして動いてると、インストール直後の設定だとFBに接続出来ないね。 サービスのログオンの設定で、「デスクトップとの対話をサービスに許可」をチェックすると 接続できるんだけど。なんでだか理由は不明。
すみません、キャラクタセットについての質問です。
現在、自宅で趣味でデータベースを勉強しようと思ってます。
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 のリンク先のキャラクタセット・データ型・権限は読みましたが、はっきりと何が良いのか
判断が付きません。
長々とすみませんが、よろしくお願いいたします。
列などにキャラクタセットが設定してあれば、接続キャラクタセットが違う場合はそれに 合わせて文字コード自体が変換されたような気がする。 そういう意味じゃ、コードの種類による表現不可能な文字の問題とか文字変換処理に 伴う処理コスト等を問題と見ないなら、まさになんでもいいのではないかと。 でもPHPやPerlなどで処理するならEUCの方が処理しやすいんじゃないの? 不要なコード変換処理が入らないし。CGIなどからはEUCのHTMLを出すんだろうしね。
>>649 さん、どうもです。
なるほど、クライアントが何の機種であろうと、キャラクタセットに自動的に変換されるんですか。
それであれば、Linux上で操作することを考えるとEUCの方が良さそうです。
ありがとうございました。
651 :
NAME IS NULL :05/03/03 08:33:29 ID:WoTqR0ZI
mac版のアンインストールはどうやるの? mac os X 10.3.8 Firebirdはインストールしたversionがわからない。 半年か1年ほど前に入れたけど 全く使ってない。(使い方も全くわからん。。)
652 :
NAME IS NULL :05/03/04 03:58:23 ID:fEqU9vv4
>>652 Firebirdってデータベースファイルそのものが暗号化できるわけでもないし
本質的にhtpasswdで管理するのと変わらない気がする。
意味不明
数が多いと認証にかかる負荷が相当に違うだろうと思うのだが。 それにApacheのセキュリティとは別のセキュリティに属させることも出来るし。
↑詳細を書けない時点で負け確定。
>>653 RDBMSで認証を管理すると、メールやらftpなどの他のシステムと同期がとりやすい。
本格的にやるならLDAPとか使うんだろうけど、ID/パスワード同期程度ならRDBMS認証位がちょうどいい。
暗号化云々は意味がよく分からないな。
>>658 > RDBMSで認証を管理すると、メールやらftpなどの他のシステムと同期がとりやすい。
それだったらapache専用mod_auth_ほにゃららDBなんて使うべきじゃなくて、PAM任せにするべきじゃない?
LDAPが本格的ってのも謎。シングルログオン考えるならまずLDAPでしょ。
Firebirdってデータベースファイルの暗号化もなければ、パケットの暗号化もできない。
なんらかの理由でデータベースファイル入手されたらとてつもなく危険。
果たしてパスワードの保管場所として適当かってこと。
別に作者にケチ付けているわけではなくて、mod_auth_firebirdってソリューションは セキュリティ上どうなのよ? 他のmod_auth_<RDBMS>に比べて弱くない? ってことが聞きたいだけ。
>>659 誰がシングルログオンの話をしてるの?話がズレてない?
ID・パスワードをシステム間で同期すると言ってるだけで、ログインとの統合をするとは言ってないと思うのだけど。
>>660 そういう意味なら弱いでしょうね。ハッシュ値を格納するような工夫が必要か。
微妙に荒れてるけど、元々はApache標準のmod_auth_dbmベースだから。 暗号化すると、元をどうやって暗号化して入れるかと言う問題があるんで とりあえず入れてない。 データベースファイルの暗号化の次元は別にして、ストアドで入れるほうも 認証もDBで実現できるレベルでのセキュリティでやれれば十分な場合も多い だろうという判断。 こういうのはお手軽で性能もそれなりというのが重要だと思うからね。 DB管理者からは見え放題だろうけど。
追記。 ストアドで認証できるわけだから、どうしても暗号化したいなら認証と セットの保守ストアド(必要ならUDF)を作ればいいんで、とりあえずは 可能というのもあるかな。
まぁまぁ、テキストファイルで十分、という香具師はもうほっといてやれよ。
>>660 前と言ってることがずいぶん違うなおい。
傍目から見てると
>>653 の言ってることは至極まともな話だと思うが…。
パスワードの保管場所として必ずしもセキュアとは言えないDBMSを使うのは
.htpasswdを使うのと大差ない(むしろ.htpasswdのほうがはるかに強固)というのも
頷けるし、それを他のシステムと共有するなど論外だから、そういう用途にはPAMを
使えというのも当然の流れ。何ら疑問を挟む余地はない。
例えばこれがOracleやMySQLなど必要十分にセキュアに利用できるDBMSであれば当然
話は別だろう。
そもそも、管理者がセキュリティを考えるとき
「パスワードの保管場所そのものが漏れた場合」
を考えるのは基本中の基本だと思うのだが…
DBMSはDBMSだけで完結しない、必ず他の技術と密接に絡み合って動作する物。
>653移行の流れを見ていると、知識レベルがバラバラで噛み合っていないだけに
しか見えない。
>傍目から見てると プ
ストアド認証は無視ですか、そうですか。 あとPAMとデータベースはレイヤ違い。 もうお前のレベルはよく判ったから勝利宣言して終わってください。
666とかは、質の問題でなく量の問題なのに 必死で論点をすりかえようとしてるだけ。
670 :
662 :05/03/06 21:21:57 ID:???
ストアド認証は、最強の暗号化だろうと複雑な判定だろうと、はたまた他の認証との連動だろうと 使う人の自由に組めるから、我ながらなかなか面白いアイデアだと思ったんだけどな。 ストアドもUDFも作るのはイヤ!という人には意味薄いだろうけど。
紛れ込むって、ちゃんと本人とわかるような内容とか書いてるし。
673 :
NAME IS NULL :05/03/07 17:57:54 ID:sTUFxZ0s
普段あまり動きのないスレが急に一つの話題で活発になるときは ・以外とROMってる奴が多かった ・一人二役三役は当たり前 のどちらかですよ奥さん ID非表示ってやだねえ
と必死で話題をそらす653であった
675 :
662 :05/03/07 20:42:54 ID:???
なんだかなぁ。672は俺だけど、コンセプトを理解してくれた人もいたからいいけどね。 試しにMD5とSHA1のFB/IB用UDFを書いて動かしてみたけど、Apacheのソース内から 持って来ればいいから簡単に作れるね。GPLのソースもそこらに転がってるし。
>>675 ネチネチとうざい奴だなお前は。
誰もお前が作った物がウンコだとか言ってるわけじゃないだろ、何が気に入らないんだ。
理不尽な煽りを受けたのならまだしも、作った物にあれこれ難癖付けられるのが嫌なら
公開なんかするんじゃない。
万人が理解してくれる物などあるわけがないだろ。アホかお前は。
677 :
662 :05/03/07 22:05:34 ID:???
俺がなんか言ったか? 最初からコンセプトの説明と、別に自作自演なんかしてないよ、暗号化UDFも簡単に 作れるとしか言ってないんだが。否定的意見にも俺はコンセプト説明以外してないし。 信じられんと言われたらまぁなすすべもない訳だが。 とりあえず、普通に読んでる人には結局どっちも荒らし同様になっちゃうな。スマソ。
粘着
>>653 は放っといてFirebirdの話をしようぜ。
俺はMSCSの一件がどうなったか知りたいぞ。
木にすんな
(´-`).。oO(正直
>>653 が絡まれている理由がわからない・・・)
全く。そろそろ正常化したい。
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も作者も氏ね、お前ら二度と書きこむな これでいいんだろ?
683 :
NAME IS NULL :05/03/08 09:13:51 ID:BWal5Hgs
必死だな(プ
必ず間を空けずに2レスずつ付くのがバカっぽいと言うか何というか
TIBSQL.BatchOutputでvarcharを出力すると varcharの長さが最大のとき最後の2バイトが切れるんですが 仕様なのでせうか?
VARCHARの最大長って32765だよね? この前も似た勘違いがあったんで一応の確認なんだけど。
>>687 varchar(20)で20バイトのデータを仕込むと
先頭2バイトに長さ、続く18バイトにデータ
といった感じでoutputされるです
BCBをたまたま使用中だったから軽くヘルプ見たけど、このクラスの場合 は仕様っぽいね。バグかもしれないけど。 BatchOutputで渡す値は、結局XSQLDAに近い形で渡すようなんで。 VARCHARはほかの型とは違って、内部でDBに(XSQLDAで)受け渡すときは、 構造体で受け渡してるようで。 埋め込みSQLやAPIでもほかの型とはちょっと毛色が違ってる。 推測で間違ってるかもしれないけど、VARCHARの場合はデータ自体を 構造体として格納したもので渡さないといけないのかもね。 FB付属のサンプル見ると、こういう定義文がよく多用されてるよ。 #define SQL_VARCHAR(len) struct {short vary_length; char vary_string[(len)+1];}
>>689 ありがとう。Delphiのソースを見るとその構造体へのアドレスと
長さへのアドレスを渡してるっぽいので
(ん? xxxx^ ってアドレスだったっけ? ようわからん)
2バイト短くなるのかな。ということであきらめますです。
# テストデータを作ってButchInputしてもそんなに速くならなかったので
# 素直にinsertしていこうかと
いよいよ2.0α来るか? やっとfrom句のサブクエリが実現できるんだね。
そうかいままではインラインビューすら使えなかったのか…(´・ω・`)
今後に期待だ! (`・ω・´)
インラインビューが使えるようになると馬鹿が力業でSQL書くようになるから嫌い。
最近のIBReplicatorは、Oracle/MySQLにもレプリケーションできるようだけど これは部門サーバがFB/IBで、基幹がOracleなどの用途も向こうでは結構あると いうことなのかな。
696 :
NAME IS NULL :05/03/16 15:01:45 ID:MlKUFVh+
FireBirdってalter tableで既に作成したテーブルの名前って変更できない? 一度削除して再作成?知ってるエロい人、教えてくなさい。
列情報ってテーブルのメタデータのこと?? それなら isql で show tables だけど、そういうことじゃないのかな?
おっと。show tables じゃなくて、「show table テーブル名」だったね。
>>698 Delphi7+Embeddedで作ってるので
selectでテーブル名・制約名・列定義を取得して
alter table remove/add constraint したいのですよ
701 :
700 :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の区別ってどうすればいいんでしょ?
制約の名前とタイプとかならこれで抜けるね。 SELECT RDB$CONSTRAINT_NAME, RDB$RELATION_NAME, RDB$CONSTRAINT_TYPE, RDB$DEFERRABLE, RDB$INITIALLY_DEFERRED FROM RDB$RELATION_CONSTRAINTS; 上のSQLもそうだけど、IB6用に無償公開されてる LANREF.PDF の P273 辺り を読めば基本的に解決するんじゃないかな。英文だけど、難しくないよ。
703 :
700 :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でぐぐってもなかったもので、、、
705 :
700 :05/03/18 15:19:31 ID:???
>>704 ibphoenixにあったんですね。気が付きませんでした。
ありがとうございました。
>>697 > たまにアクセスが遅くなるときindexの再作成で速くなるので
> 作った全部のテーブルのindexを再作成しようと思うですが
インデックスパフォーマンス改善のための再計算だけなら
ALTER INDEX index_name INACTIVE;
ALTER INDEX index_name ACTIVE;
で出来るし、インデックスの統計情報を再設定する場合は
SET STATISTICS INDEX index_name;
で出来るけど、そういう話ではない?
IB6.0のマニュアルだと、PRIMARY/UNIQUE/FOREIGN 制約がある列に対する インデックスは ALTER INDEX では不活性化できないみたいよ。 DROP INDEX で削除した後 CREATE INDEX で再作成してくれとなってる。 実は最近のIBや、FBでは出来るという情報があればよろ。
710 :
NAME IS NULL :2005/03/29(火) 02:43:18 ID:0aHlOLuM
711 :
708 :2005/03/30(水) 20:20:54 ID:???
712 :
NAME IS NULL :2005/03/31(木) 06:49:33 ID:qhlbQWzO
ビューとは違うものなの?
714 :
NAME IS NULL :2005/04/13(水) 09:37:32 ID:quKHt07b
とりあえず上50から落ちそうだから上げとく。
715 :
NAME IS NULL :2005/04/13(水) 10:49:52 ID:RXA5mHfz
データ検証とかすることある?
716 :
NAME IS NULL :2005/04/14(木) 23:06:17 ID:UGPRSl3/
評価目的で Firebird の導入を考えているのですが、InterBase 6 との共存は可能ですか?
IB Expret を使ってます。 varchar型のドメインのサイズを変更しても、 そのドメインを使用しているテーブルの定義のほうが変わりません。 ドメインの変更をテーブルに反映させるにはどうしたらよいのでしょうか?
DROPしてCREATEする。
FireBird使っている方々に質問です。 現在、仕事でOracle8(Windows)使っているのですが、古いIIS+ASPのシステムでSQLもたいしたことをしてないので、 システムをほとんど変更しないでFireBirdに移行出来ないかと調査をしています。 今のところ、ポスグレのOra2pgを多少手を入れたの使ってスキーマ情報と実データの移行までは、完了しました。 SQLの方なんですが作ったひとがほとんどSQLを知らなかったみたいでOracle特有のファンクションとして 使われていたのは ・To_Char (日付の型を変換) ・To_Date ・Month_Between (年齢計算用) ・Concat ふつうみると非常にしょっぱいのですが逆にこの3つさえどうにかすればASPにほとんど手を入れずに移行できるかなと。 で、この3つについてストアドで対応しようと思っているのですがストアドでOracleファンクションを実装されている方って いらっしゃいますか? UDFで実装した方がいいと思うのですが正直ストアドの方がお手軽なのでできればこちらで実装したいので。 もしいらっしゃって、実装の際の注意事項や参考にした資料などありましたらご教授していただければ幸いです。
Oracle は使ったこと無いから勘違いしていたらスマソ 日付<->文字列の型変換は CAST を使ってデータ型を変換、 CONCAT('A','B') は 連結演算子を使って ('A' || 'B') でいいんじゃないかな。 日付の計算関連は面倒くさそう。
>>720 ストアドプロシージャとUDFはSQL文の中で使える(呼び出せる)場所が違うから、
そのようなファンクションを作るとしたらUDFじゃなきゃだめだよ。
Oracle知らないけど、ポスグレならストアドの構文とかも似てるらしいし、
移行するならポスグレの方がいいんじゃない? Windows版もあるんだし。
723 :
718 :2005/04/17(日) 08:06:51 ID:???
>>719 ありがと。
ACCESSとParadoxしかやったことないもので、
勝手がちがくて悩んでます ora
724 :
NAME IS NULL :2005/04/17(日) 09:08:05 ID:A80PBLSp
>>720 年齢の計算は、教えてgoo!の方で実際に計算できるSQLを上げてる人居たよ。
検索するしか。extract と case を使って1行のselect文のみで計算できてたはず。
日付の加減算は一応標準のUDFにもあるから、簡単にとはいかんけど、ストアド
やUDFじゃなくても結構色々出来はするんじゃないだろうか。
725 :
720 :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でもにたようなのがあるのでその辺を改変して使えばいけそうかと。
C++Builder6 から Firebird を使うにあたって、 BDE、IBX、dbExpress のいづれかにしようと思うんですが、 どう違うのかよくわかりません。 それぞれのメリット、デメリットを解説したページあったら教えてください。 Firebird は 1.5 を使うつもりです。
BDE・・・ODBC接続のみ
dbExpressは十分といえば十分だが、トランザクションなどであまり細かい制御は出来ないな。 機能もシンプルだし。その代わりレイヤも薄いから速度は速いとかBorlandは言ってるが、実際に 計ったことはないんで本当のところはわからん。 そもそもIB/FB用というわけではないしね。 メリットは他のデータベースに代えるときに、多少は楽な場合もあるかもしれないとか? あと、KylixやC++ Builder XだとdbExpressしかサポートしてないんじゃなかったかと。 そういう環境に先々移植や部分移植するなら、その3つの中ならdbExpressしかない。
BDE:Interbase用のSQL LinkかODBCでの接続 悪くはないと思うんだが、遅いとか もうなくなる技術とか言われたりして 長くは使えないかも・・。 IBX:たしか、InterBase用のものしかなく、Firebird対応はない予定。 現状のものでもFirebirdで使えてるっぽいけど、今後の対応が不安 dbExpress:Borlandはこれを一番薦めてるのかな・・? ドライバ次第でいろんなDBに対応できるし、Firebird用のドライバもあったはず
730 :
726 :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
731 :
NAME IS NULL :2005/04/20(水) 09:32:07 ID:kMaN2ZoW
とはいうものの、文字列程度ならBDEでも高速だしODBCが消えることは無い。 IBXならBLOB系も無問題。結局どれ選ぶかだけの話。
733 :
726 :2005/04/21(木) 09:26:27 ID:???
>結局どれ選ぶかだけの話。 そうなんですか?調べても違いがいまいち見えてこないので ひょっとしてそうなのかなあと思ってましたが、やっぱりそうなんですか(w じゃあ、既存のBDE経由でParadoxを利用しているアプリは、BDE経由で Firefox にアクセスするようにして、新規で作成するアプリは・・・ 規模が小さければ楽だから IBX で(後日、InterBaes と Firebird の非互換から dbExpressにする必要性が出てきても改修する量が少なくて済し)、 規模が大きければめんどくさいけど、dbExpress でやるという方針にしてみようかと 思います。 どうもありがとうございました。
734 :
NAME IS NULL :2005/04/24(日) 08:16:26 ID:QtzKA0Bl
ibpp使っている人居ますか? どこかに詳細な情報とかないでしょうか? サンプルや本家のページを見て、一応使っているのですが パラメータの意味とか詳しい情報があれば教えてください。 よろしくお願いします。
735 :
NAME IS NULL :2005/04/26(火) 09:55:13 ID:Ov7LqyPQ
IBExpertの新版が出たね。FB2の新機能に対応だとか。
>>726 IBOを強烈におすすめする。有料だけど、非商用用途ならメールするとタダにしてくれる。
できれば、>736氏がおいしい機能とメールでの登録方法を書込んでもらって それをFirebird wikiの中の人がFAQにまとめてくれたら幸せになれないかと、思ってみるテスト。
いま手元に環境がないので頭に入っているかぎりで説明します。 ・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の返事が来た。
740 :
NAME IS NULL :2005/04/27(水) 14:28:46 ID:q6KsO6IB
Firebird日本ユーザー会のFB2.0の説明に、 >レコード番号の対応 >40bit (内部は64-bit)のレコード番号に対応し、 >30GBのサイズ制限を撤廃 とありますが、これってどういう意味なんでしょう? 確か、FBってファイルサイズに制限無かったと思いますが。。。 「レコード番号」とかいう機能を使う場合の話でつか?
>>740 レコード番号のサイズを32bitから40bitに伸ばしたから、テーブルサイズが
30GBを超えても大丈夫になったよ。
と言うこと。
てことは、FB1.5を使ってる場合は、テーブルサイズ30GB制限なんだ。
>>742 でも、BLOBは別扱いだと思うよ。
あれは普通のカラムとはまったくちがう格納方法になってるから。
745 :
NAME IS NULL :2005/04/28(木) 22:06:30 ID:hU8eXxgP
5/5にFirebird 2.0 のα2版がリリースされたようです。 リリースノート見ましたが、結構バグフィックスが入っているようです。
64bit版(3.0だっけ?)の方が欲しい。
64bit版って1.5でも出てるよね?
64bit/Win版使ってる人居る?
>>749 64ビット版のWindowsってあるの?
あるよ。
OEM版もマザーなんかとのセットで売ってるよね。
754 :
NAME IS NULL :2005/05/23(月) 11:48:47 ID:zWXWl1we
下がりすぎたから上げておく。
755 :
NAME IS NULL :2005/05/27(金) 09:47:23 ID:5dRAsvHa
IBX経由で使ってますが、 バージョンうpによりIBXとの関係が切れたら(((( ;゜Д゜)))ガクガクブルブル
ひさびさにサイトをみたら日本ユーザー会は割と活動しているようだ、セミナーとか、いろいろ。 理事長はサイボウズの QA で忙しいと思ったらそうではないのか。 あと、オーストラリアの Firebird Foundation は活動状況がイマイチよく分からない。 資金足りてるのかと思う。
管理ツールは IBExpert がお勧め。無料で使える Personal 版もあり。 199 Euro 程度なので買っても損はしない。 テーブル定義を同期させる DataBase Comparer は激しく便利。 コンポーネントは、ロシア製の FIBPlus がお勧め。 激速。 IBObjects より安い。
758 :
NAME IS NULL :2005/06/02(木) 12:47:37 ID:bb5PrLUD
urlキボンヌ
>>757 FireBird1.03を使ってアプリ開発してるんだが、
IBXとくらべFIBPlusは見違えるほどはやいの?
IBX は使ったことないので分からない。 激速と書いたけど 同じDBかつTDataSet継承なので基本性能で大きく差はでないが、 ローカルソート、Calcフィールドのキャッシュなど、オープン後のデータ操作で大きな差があるという認識。 基本的に TDataSet はレイヤーがありすぎて遅いので、 高速化したいところは FireBird API を直接使うと見違えるほど早くなる。 追加・更新で50倍は当たり前。(マジ) 参照性能については大差ないかもしれない。
>>761 その辺を詳しく(わかりやすく)解説してるサイトってないかしらん?
そういったサイトは知らない。
>>761 IBXでもTIBClientDataSetを使えばオープン後のデータ操作はストレスないけどなぁ〜
BDE⇒IBXは体感できるほど高速化したけどそれほどじゃないのね・・・
767 :
ベータベースに関して :2005/06/07(火) 00:32:14 ID:FAgGTepe
ビジネスでデータベース使って最大100万人規模の個人情報管理を、 管理しようと思ってます。 元商用ということでFireBirdを検討してますが耐えられるでしょうか? Oracleなどの商用データベースは金額がネックなので FireBirdを本気で考えてます。 またFireBirdでも安定して大規模データに対応する方法などはありますか?
100万人規模の個人情報を扱うのに金額がネックといってる時点でなんだかなあ。 そんなんで100万も集まるのか?
769 :
767 :2005/06/07(火) 01:01:47 ID:FAgGTepe
処理が重くなるのでCPUをたくさん使います。 その分のライセンス料を払うとなるとかなり莫大な資金が要るので、 節約できる部分は節約したいので、、、 もちろん、不可能であれば商用データベースを使います。
感触しか出ないよな。どういうところが不安なのかもわからんし。 それがいいかは別にして、複数のDBに分割できる用途なら人数多くても大丈夫だったりするだろうし。 とりあえず10万人規模ぐらいなら全然大丈夫だったけど...。
771 :
767 :2005/06/07(火) 08:05:40 ID:FAgGTepe
>>770 対応ありがとうございます。
分割すれば10万人規模までは可能ですか、、、
とても参考になりました。
DBに対してのアクセスを分散させれるにはどうすればよいんでしょう?
さらに質問してよろしいでしょうか・・・
FireBirdはクラスタリングに変わる機能はありますか? (ミラーリング機能は同じもの?)
またその方法があれば教えて頂きたいです。
>>769 > 処理が重くなるのでCPUをたくさん使います。
FirebirdはSMPに対応してないよ。
HTとも相性が悪い。
>>773 ClassicServer の間違いだよね?
とりあえず、Firebird, MySQL, PostgreSQLあたりを全部インストールして100万件のダミーデータぶち込んで検証してみれば? ここでうだうだ言ってるより実りがあると思う。
>>769 GPLでも良ければ(採用する接続方法による)MaxDBとか。
コマーシャルライセンスの値段は訊いた事はないが、
MySQLよりは高いだろうし、MaxDBはMySQLと違ってCPU課金だしな。
>>775 たまにレスが伸びるときくらい放っておけばいいじゃん。
FirebirdはVCLコンポーネントとかレプリケータとかが オプソはおろかフリーじゃないのが痛いな。 やつらの商売根性丸出し体質に呆れてものも言えんわ。 その点postgresは殆どがフリーで済ませられるからいい。 ということで特に規模が大きい案件では素直にpostgres使った方がいいよ。 (MySQLは信用できないからパスということで)
>>780 ずいぶん脳味噌が偏ってしまった人だな。
自分の飯の種に無料ソフトを使うくせに、オープンソース周辺で商品開発を行う人を
商売根性丸出しと見下す頭の弱さに呆れて物が言えない。
しかし、書いてる途中で気付かない物かねえ。
782 :
767 :2005/06/07(火) 19:38:47 ID:FAgGTepe
皆様ご親切にありがとうございます。 IBReplicatorですか、検討しておきます。 Firebirdについても、もう少し検討が必要ですね。 簡単なテストもしてみようと思います。 やはりフリーなら PostgreSQLになってしまうのでしょうか、、、 しかし大規模データベースに使って大丈夫なんですか?
規模は知らんけど、機能的にPostgreSQLじゃなくちゃいかんという案件でもない限り、 別にFBでもいいとは思うけどね。
過去にIB使ってたとかDel使うなら別だけど、それ以外ならFBはやめといた方がいい。 情報が少なすぎるから大変だぞ。 それより日本語ドキュメントや日本語コミュニティが存在している ポスグレにしといた方が無難だろう。 レプリケータもオプソの国産品もあるし、他にも結構ある。 たしかポスグレのサポートしてくれる会社もあったはず。 ってかそもそも大規模系なら迷わずポスグレだな、俺は。
結局、日本のOSSの流行り廃りって国内公式コミュニティの質がそのまま出てしまうんだよな。 Firebirdはと言えば、もっともまとまった日本語ドキュメントがこのスレのWikiというのが現実。 大規模システムへの導入ともなると、ちょっと気楽には勧められない。
787 :
NAME IS NULL :2005/06/08(水) 00:42:01 ID:qO5NgwLL
>>784 資料ありがとうございます!
このような資料が出ていたことは知りませんでした。。。
皆さんの丁寧な対応に感謝してます。
FireBirdのコニュニティーが今後ますます発展していくことを願ってます。
>788 すげえ資料だな。
LAMPにFB入ってるんだろうか?
>>790 L inux
A pache
M ySQL
P HP
>>791 標準構成がそれであること知ってるから、バリエーションに入ってるか聞いたんだYO!
対抗しる!
J Builder
F B
K ylix
L inux
エスパーに答えてもらえ
>>792 LAMPとLAPP(PostgreSQL)くらいしか知らない。
LAFPってのもOSSで見かけないだけで案外多いと思うよ。
うちの社内もそうだしね。
つか、「LAMP」というのはパッケージ名というか商標みたいなもんでしょ? そこを外して「LAFP」とか言い出しても意味内。
>>795 アプリケーションの動作環境(及び開発環境)を表しているだけ、LAMPという
名前のパッケージも商標も存在しない。
何を言ってるんだか。
797 :
NAME IS NULL :2005/06/20(月) 20:46:46 ID:Yo9nkboj
違うデータベースファイルに格納されているテーブル同士を連結する事って出来る? やっぱり無理?
800 :
NAME IS NULL :2005/06/22(水) 07:19:19 ID:GiErZX+E
連結って純粋につなげる(合成)ということ? それならPerlで簡単なスクリプトでも書くとか。 それとも参照制約のことかね? そでは無理だな。
サーバーエリアスでJOIN出来るようになったかなーと思いましたがやっぱり駄目 ですか。 BDEだとクライアント側での処理になるけど異種結合とか出来たんですが。
802 :
NAME IS NULL :2005/06/28(火) 17:18:24 ID:KO39tZ4o
803 :
NAME IS NULL :2005/06/30(木) 18:57:20 ID:nyJl01qt
日付型の項目のXヶ月後の日付を取得する方法ってありますか? 例えば今日(2005/6/30)から10ヶ月後であれば 2006/4/30 を取得したいです。
804 :
NAME IS NULL :2005/06/30(木) 20:01:30 ID:u9OiyWki
Firebirdを使ったJavaアプリを配布したいのですが、 他の言語ではDLL(+DBファイル)とアプリを配布すれば良いらしいのですが、 Javaアプリではどうすればよいのでしょうか?
806 :
NAME IS NULL :2005/07/04(月) 20:19:16 ID:qCRtFvDy
JDBCドライバとデータベースのインストーラを一緒に配布すればいいんじゃないの? それとも、そういうことじゃないのかな? DLLというのは、組み込み版を使用しているということなのかな? JDBC経由で組み込み版を使ってるということなのかな? それが出来るのかどうか やったことないのでわからんけど.....。 それともDLLはクライアントライブラリのことなのか?
どうだろ? 管理ツールも作れるっぽいけど、結局自分で使ってみないと分からんよね
809 :
NAME IS NULL :2005/07/11(月) 09:05:57 ID:wPkTJJZo
FB使ってる人で一番大きなDBのファイルサイズってどれくらいでつか? ついでに他DBだとどうなのか説明キボン?
とりあえず、経験上では500万行ぐらいの規模で8Gbyteぐらいが最高。 今使ってるDBみたら、3Gbyteぐらいだな。
>>810 そんなに容量があるとバックアップ大変だと思うけど、どうしてます?
FBって差分バックアップ機能がないから、やはり毎回フルバックアップですか?
それとも差分だけバックアップできるようなDB構造にしているとか?
参考までに教えて頂けたらうれしい。
ちなみに私のところは大きいものでも数十MB程度のサイズなんで、
毎回フルバックアップしたものをDVDメディアに保存しています。(以前はMOを使っていましたが。)
812 :
811 :2005/07/11(月) 15:34:25 ID:???
補足ですが、 私はバックアップは gbak等のバックアップツールは使わないで、 GDB, FDB ファイルを丸ごと保存しています。お手軽なんで。
813 :
809 :2005/07/11(月) 16:40:12 ID:???
thx!
>>810-812 こういう巨大なDBが壊れたりしたら復旧とか大変でしょうね。
FBは壊れ難いとはいえ、物理的に壊れたりとか。
昔の8GのはRAID装備のマシンだからね。物理故障でロストはかなり確率下がるよ。 オンラインバックアップで負荷の軽い時間帯に定期的に自動でバックアップしてたけど。 時々メンテナンスで止めるからその時にはローカルマシンに持ってこれるし。 今使ってる3Gのは開発用だし、Apache+CGIなんかのテストで負荷かけるためのデータを格納 した名残で大きくなってるから飛んでも問題ないんで放置だね。とりあえず、ガーディアンが 働いて自動再起動しても実際壊れたことはないけど。
>オンラインバックアップ これってやっぱ、PCのハードディスクにバックアップ?
トリガ内でUDF使って更新内容をログファイルに書き出せば 差分バックアップみたいなことが出来そうなんだけど、 トランザクションのコミット/ロールバック前に ログに書き出されちゃうもんで、この方法ではダメだった。 コミットしたら実行してくれるトリガみたいなものがあればいいんだけど。
>>815 同一サーバ内だよ。RAID環境での話で、論理破壊への対策だから。
更なる保険として、すいてる時にネット経由で別のマシンに吸い上げる。
818 :
NAME IS NULL :2005/07/15(金) 09:54:41 ID:tqwB9OH/
数メガバイトのBLOBデータを貯めまくったら性能落ちるかな?
IB/FBのBLOBは普通のカラムとは別に格納されてる。BLOBカラムの中は、本体格納場所 へのインデックスが入ってるだけのはず。 だから、BLOBがあってもBLOB以外のカラムに関する性能の影響は微少なはず。 OSのファイルシークの性能を除けば、大きく影響を受けるとしたらキャッシュの利用効率 が絡むことぐらいじゃないのか?
820 :
NAME IS NULL :2005/07/17(日) 00:31:03 ID:FkbGWTvL
この前持ち帰ったDBを
>>809 見て確認したら1000万行超えてた。10556252行なり。
パーティションビューみたいな機能欲しいな。
gbakでバックアップ形式にしたものをgzipなどで圧縮すればかなり小さくできますね。 後はテープなりMOなり別ディスクに転送すればいいのでは?
gbakのバックアップってデータが完全保障されてるから、あえてやった方が良いんだろうね? ま、RDBなら接続時点でデータの検証行うはずだが。
823 :
NAME IS NULL :2005/07/22(金) 17:26:15 ID:zvVBjk7g
TABLEのCREATEで、FLOATの可変配列なんて出来ましたっけ?
824 :
823 :2005/07/22(金) 18:39:31 ID:zvVBjk7g
FLOATの固定配列でも良いんですが、ある値からBLOBになるんですか? TIBQueryからの取得が簡単なら配列使いたいんですがどうなんでしょうか。
825 :
823 :2005/07/23(土) 14:15:11 ID:qQLoPbf/
とりあえず、「FLOAT[巨大な数値]」としとけば良いことが分かります他。 が、取得とか更新が楽なのかどうか分かりません。 配列カラムを使われた方どうですか?
826 :
NAME IS NULL :2005/07/23(土) 16:13:10 ID:hUG7b7DV
2.0のAlpha3がでてますね。 でも、IBConsolから接続ができなくなってしまった・・・・。
827 :
NAME IS NULL :2005/07/23(土) 16:26:50 ID:qQLoPbf/
IBXが使えなくなったら...((( ;゚Д゚))))ガクブル
板橋区の徳田秀一は鬼畜。 普段は猫被ってるが本当は性的異常者の人でなしです。 女性の皆さんは被害に会わないよう気を付けて下さい。
IBConsolといえば、Date型使ってるとテーブルが表示できんのが困る。 IBExpertだと表示できるのに何でだろ。
>>825 クライアントは何で作るの?
配列カラム使って、簡単にアクセスできたっけ?
>>830 DelphiのTIBQueryでつ。
なんで、配列アクセス分かんなくて、配列やめました。
BlobなんかはTIBQueryで普通に取れるんですが、
FLOATをBinaryで取る時に、64bitCPUではどうなるか分かんないですし。
わかりません。 ジェネレーターとトリガを使ってCHAR(8)のPrimaryKeyを作る方法が。 ちなみにCHAR(8)の内容は 西暦下2桁 + 連番6桁です。 (例)05000001 誰か解る人、助けてください。
>>831 さっきから言ってる
>FLOATをBinaryで取る時
の意味がわからんのは俺だけなのか?
834 :
NAME IS NULL :2005/07/29(金) 17:18:45 ID:i+D0t/In
835 :
832 :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
isqlからPSQLを打つには終端文字をセミコロンから別の文字に変えないとダメなんじゃないかと。 トリガの例を見ればわかるけど。 あと、良く考えたら余りだと先頭の0がなくなるから、演算結果をCASTで文字列に変えたあとに SUBSTRINGで必要な部分を抜き出す方がいいかも。これならSQL92/99準拠の構文になるし。
837 :
832 :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 !!
>>833 配列って内部的にはBLOBとして扱われるから・・・じゃないのか?
俺もよくわからんが・・、。
少し試してみようと思ったらテストデータも作れなかったよ・・
API使うかストアドでも作らないとダメなのかな
839 :
831 :2005/08/02(火) 14:38:33 ID:???
>>838 そんな感じ、というか、内部的な話じゃなくて、
TIBQueryから配列取るとき、Binaryとして取るしかないっぽいので。(間違いであって欲しい)
>>839 TIBQueryやTIBClientDataSetからバイナリで配列取れるのか!?
いまIBExpertで作ってアクセスしてみたがうまくいかんのだが・・・。
詳しく!!
841 :
838 :2005/08/03(水) 01:27:05 ID:???
俺もIBExpertからのアクセスしたかったんだけど、うまくいかなかった・・。 そういやIBObjectsを解凍したフォルダのSamplesの中にArraysってデモ あるけど、これって配列の使い方じゃないかな? 少し動かした感じでは配列からデータ読み取ってるような・・・
842 :
839 :2005/08/03(水) 14:41:25 ID:???
ゴメン、詳しく書けない。 自分がやったのは、DelphiのDBExplorerで配列項目の表示と値設定が出来た。 1つのセル(=カラム)に「1, 2, 3」といった感じで表示される。 で、DBExplorerてDelphiで作られてるらしいし、ODBCだからTQueryなのは間違いなさそうだし。 それとDBExplorerでは属性がBLOBと表示されたのでバイナリで取るのかな考えました。
FB2.0αのインストーラが出てきたけど、おまいらどうするよ?
844 :
NAME IS NULL :2005/08/08(月) 20:26:46 ID:hW9d1qlV
そういや、先週だが 2.0 のα3版がLinuxも含めて各環境用が揃ったな。
845 :
NAME IS NULL :2005/08/15(月) 17:11:59 ID:Zt62cX2v
1.03を使用しているけど、最近のバージョンではストアドにドメイン使えるようになったりしてる?
846 :
NAME IS NULL :2005/08/17(水) 13:23:23 ID:4S1vZ2JY
DBファイルの形式というか中のインデックスの人が変わったんだおね? 自作コンバータが要るんであればマンドクサ
847 :
NAME IS NULL :2005/08/18(木) 10:49:52 ID:iO6Ni1wq
1.5.3 RC1 というのが出たな
1.5に問題でも???
V2.0系のバグフィックスのバックポートってことみたい。
Firebird日本ユーザー会ってたまにお金とってるよね? それなのに何であんなに内容ないの?
>>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;
他のデータベースファイルにあるテーブルをJOINするにはどうしたらイイの?
そりゃ無理なんじゃ? データを写せばいいんじゃないの
やっぱりムリですか。 Accessみたいに、IN句使えないかなーと妄想してました。 できないことが分かっただけでも収穫です。ありがと。
858 :
NAME IS NULL :2005/08/30(火) 19:56:47 ID:Z32ATlrE
トリガー使ってフラグを立てての論理削除って出来ますか? トリガーのBeforeDeleteでいろいろやってみたけど、どうやっても実データが削除されてしまいます。 クライアント側で対処するしかないのかな?
>>858 After Deleteのトリガーの中で同じテーブルに対して同じデータを
フラグだけ変えてInsertしてみてはどう?
フリーのデーターベース「Firebird」を見つける事に成功し、インストールも成功しました。 これを使って開発できるフリーのプログラミングソフトはありませんか? OSは、WinXPです。 自分が持っているDelphi6パーソナルではFirebirdに接続出来ないんですが、 他にもっとよいプログラミングソフトはないものでしょうか?
Firebird ODBC Driver使えば、delphiパーソナルでも開発出来なかったけ?
862 :
860 :2005/08/31(水) 19:45:53 ID:???
>>861 えっ?本当ですか!!
そうなれば嬉しい限りですが、
ググっても、自分Lvでは解りませんでしたので、
その辺の所、詳しく教えて頂けないでしょうか?
863 :
NAME IS NULL :2005/08/31(水) 22:17:36 ID:ziNsnhEJ
i-RAMを使った超高速データベースの構築に興味があるんですが、i-RAM単体では データの消失が怖いので通常のHDDにシャドーを作成を考えています。 シャドーのデータ書き込みは非同期らしいんですがどれくらいの遅延が起きるんですかね? また、上記のように著しくアクセス速度の違うデバイスにシャドーを置いた場合、 本体データベースの性能に悪影響出ますか?
>>859 やってみましたがその消去するレコードを参照しているレコードがあると例外が出るため
やはり難しいようです。
DELETE自体を無効にする命令があればなぁ〜・・・。
866 :
860 :2005/09/01(木) 20:05:37 ID:???
>>864 レスありがとうございました。
JavaをプログラムしてEXEを作るフリーのプログラムソフトは存知ませんが、
Perlなら勉強出来そうな気がします。(PHPも解りませんが...orz)
ActivePerlとそうでないものの区別も出来ませんが、これから勉強したいと思います。
868 :
860 :2005/09/01(木) 23:30:46 ID:???
>>867 またまたレスありがとうございます。
早速、行かせて頂きましたが、英語だったので断念しました。
愚かですみません。取り敢えず、お礼まで。
現在、
>>861 のDelphiの方法で格闘中です。
869 :
NAME IS NULL :2005/09/02(金) 14:57:02 ID:8ZJYbsvh
wikiのニュースにも既に追加済みの様だが、ibWebAdmin 1.0 とかいうのがが出たな。 PHP必須のようだが。
>>871 今度使ってみようと思ってます。
ところで、embedded はマルチスレッドをサポートしているのでしょうか。
「firebird embedded thread safe」 でググってみてヒットしたサイトのどこかで
コネクションが一つしか張れないからだめ、みたいなことが書いてありましたが、
実際にスレッドを10個作って、それぞれのスレッドで IBDatabase, IBTransaction,
IBSQL を作成して数万件のデータを挿入してみたところ、うまくいっているようなんですが。
>>872 あれ?
> IBDatabase, IBTransaction, IBSQL を作成して数万件のデータを挿入してみたところ
サーバーが組み込みなだけで、Windowsアプリ側がクライアントなんだ。
って、まさかサーバーがWinなんてことはないよね?
874 :
872 :2005/09/09(金) 22:50:14 ID:???
>>873 サーバーがどうのこうのではなく、アプリの組み込みデータベースとして
使うと言うことなんですが。
会社でいろいろ探していたら、vulcan のドキュメントに、
「embedded は SuperServer と同じ」
「SuperServer はスレッドセーフだが要求の並列実行はしない」
というようなことが書いてありました。やはりマルチスレッドで使っても
問題ないって事?
Linux版の Embedded は、通常のパッケージから抜き出して使うんじゃなかったっけ? そういう意味では普通のエンジンとあまりかわらんかも。 ちらっと読んだだけで実際やったことはないから間違ってるかもしれないけどね。
>>874 あ、Winアプリ組み込みという意味なんだ。
機器組み込みが欲しいんだが。
>>877 IBX は TDataset なんかを継承していたから、たぶん無理(てきとー)
IBXはわからんけどIBOなら可能じゃないかな。有料だけど。
こっそり TDataset系のdcuが紛れてたらおk、だけどな。
IBXのIBSQLMonitorにあるTWriterThreadがAccess Violationバイオレーション起きるが, 解決策しりませんか
882 :
火の島 :2005/10/10(月) 15:25:13 ID:???
Firebirdで自動インクリメントのフィールドを作るにはどうすればいいですか? 教えてちょ。
883 :
NAME IS NULL :2005/10/10(月) 19:38:18 ID:jlfyKnNZ
kinterbasdbを使ってblobのinsert、selectをしたいんですが、 コードのサンプルどこかにありませんか?
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 文で作成されるデータセットのカラムの型指定をする方法など ありましたら教えてください。よろしくお願いします。
886 :
NAME IS NULL :2005/10/20(木) 07:59:42 ID:RxGTe497
追記。 数値型同士で変換できない場合は、文字列にCASTして文字列としてアプリで取得した後に、 アプリ側で数値に変換すればいいし。
888 :
885 :2005/10/20(木) 09:15:23 ID:???
IBExpert で試してみたところ、変換できてますね。 これでいけそうです。ありがとうございました。
889 :
NAME IS NULL :2005/10/26(水) 16:13:27 ID:dvWlnagp
一応、文字列とかは圧縮されてるけどね。ランレングスだから効果はイマイチだが。 外部ファイルは使えるから、それで他のRDBMSのテーブルを指定できればいい感じかな?
891 :
889 :2005/10/27(木) 13:38:27 ID:???
いや、FBにブッちぎって欲しいだけで、 読んだところMySQLの2機能とも実装中途半端で使えなさゲ。 ・ARCHIVEテーブル ← うpデート出来ないらしい ・別RDB ← 別の種類がMySQLのみらしい
>>891 logとかに使う用途だからArchiveがSELECT/INSERTのみなのは
別に中途半端ではないよ。
バージョンアップ Firebird-1.5.3.4854-0_RC2-Win32
DECLARE table TABLE って使えるっけ? unkown talken エラーがでるのは気のせい? なんか根本的に間違えてるのかな?
895 :
NAME IS NULL :2005/10/29(土) 06:57:10 ID:+7nQmRae
896 :
894 :2005/10/30(日) 05:42:21 ID:???
>>895 サンクス
CでFirebirdを読み書きさせようとしています。
Tableが無い場合、CREATEしてから読み書きする場合はDECLARE汁というような記述があったもので・・・
CREATEのあとコミットしたら読み書きできるのかな?
明日いろいろ試行錯誤してみます。
897 :
NAME IS NULL :2005/10/31(月) 11:40:41 ID:kZoMDpLr
898 :
NAME IS NULL :2005/10/31(月) 17:03:43 ID:X/inew76
>>896 Cからテーブル作成ですか
ちょっと危険なような気がしますが
デッドロック頻発の予感
2.0でJIS X 0213に対応する予定はないのかな?
配列を含むテーブルをCで読もうとしているのですが、 列をフェッチするところまではいいのですが、配列をスライス するところでデータベースから切断されてしまいます。 SELECTのSQL文か?そもそもテーブルを作るときに間違っているのか? 何か心当たりのある方いらっしゃいませんか?
wikiあぼーん?
なんかアクセスできなくなってるね。 PHPのかなり致命的なセキュリティホールが見つかったから、それの対策中 なのかもしれないけど。
903 :
NAME IS NULL :2005/11/04(金) 17:28:53 ID:3D2dtNbh
バージョンアップは合ったみたいだけど復旧しないな アカウント持ってる人が気が付くかもしれないから上げておこう
お疲れ様です
906 :
NAME IS NULL :2005/11/07(月) 10:20:55 ID:zHI/s8ym
FB1.5の次ってFB2.0とFB3.0が同時に開発されてるけど、 オマイらどれ使うよ?
907 :
NAME IS NULL :2005/11/07(月) 15:31:56 ID:/YZ2kQcS
とある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とやらが行われていない状況なのでしょうか? 指揮者の方教えを頂きたいです。
>>908 ネタじゃないならgbakをお奨めする。
・・もう手遅れかもしれないけど。
自分の経験から言うと、gbakでエラー出た場合、gfixを行う。 でgbakを行いエラーが出た場合、gfixを行う。 と繰り返すと、何とかデータを吸い出せる。
>>909-910 ネタじゃないです。
書き忘れましたが、gbakでバックアップ→リストアで一発で治りました。
ただイメージとしてトランザクションがどんどん増えていって
アクセスできなくなるのかなーと。
なので
Generation、Oldest transaction、Oldest active、Oldest snapshot、Next transactionなどを
また0に戻すことってできるんですかね?
sweepを手動で実行しても0になりませんでした。
>ただイメージとしてトランザクションがどんどん増えていって アクセスできなくなるのかなーと。 クライアント側が氏ねば、トランザクション終了すると思うんだけど。 もっと状況カキコしる!
>>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
の値は接続を解除すると減り、通常は上がりっぱなしということは無いということでしょうか。
てっきり上記の値は増えていくのが普通で、何かリセット方法などがあると踏んでたんですが・・・(´・ω・)
とりあえず、トランザクションが200個放置されてる可能性は高い。 少なくともいくつか残ってしまってるのは確かだろう。 詳しくは gfix なんかで見ないと分からんが。 理由はわからんが、アクティブで放置かリンボ状態になってるんじゃね? これはスイープだけではなおらんだろう。 スイープはガベージコレクションなんだから。 gbakでもいいが、gfixで1回シャットダウンしてアクティブなトランザクション を終了させた後に、リンボになったトランザクションを強制的にコミットなり ロールバックしないとな。 (こっちからすると)思いもかけない結果になるかもしれないからバックアップを とった後でやったほうがいいけど。 いずれにせよ、ODBC経由だから色々微妙だよな。
自分ibphoenixサイトから落としたODBCドライバで、それらしいことは発生してないけど。 ODBCってM$にしてはガンガッテ安定させた方だおね。
>とりあえず、トランザクションが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などの値は増え続けていませんか?
プロはRDBの基本機能を無視するオートコミットなんてウソっぽいものは使わない。
>>917 手動でコミットする場合ODBCでは
Connect(トランザクション開始)
↓
Select、Update、Insert、Deleteなど(それまでのトラン終了、そしてトラン開始)
↓
Select、Update、Insert、Deleteなど(それまでのトラン終了、そしてトラン開始)
・・・
↓
Disconnect(トランザクション終了)
という認識で正しいでしょうか?
失礼しましたコミットが抜けてました。 Connect(トランザクション開始) ↓ コミット後、Select、Update、Insert、Deleteなど(それまでのトラン終了、そしてトラン開始) ↓ コミット後、Select、Update、Insert、Deleteなど(それまでのトラン終了、そしてトラン開始) ・・・ ↓ Disconnect(トランザクション終了)
PHPからの時しかわかんね PHPの場合は接続時はオートコミットで、その後にAPIでオートコミットをオフにすると トランザクション開始だ あとは普通に処理してコミットなりロールバックなりする 持続的接続使用の場合は特に注意が必要だ 性能的にどうしても必要でないなら、持続的接続はやめた方が良いかもしんない
921 :
909 :2005/11/10(木) 01:06:21 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のリリースノートを見てみたいと思います。
簡単に書くと、 StartTransaction(); try { 各種処理(SelectやInsert、Update、Delete) Commit(); } catch() { Rollback(); } ただし、StartTransactionというのはDBコンポーネントが用意しているだけでRDB本体には無い、と聞いた事がある(けど本当かどうか知らない
924 :
923 :2005/11/10(木) 10:58:26 ID:???
で、DB接続と切断は、理想はアプリの開始と終了時の1回。 ウェブサーバーだと、それはキツイかも。
アーキテクチャとして、IB/FBは「トランザクションがない」という状態はないよね 意識してなくても、常にデフォルトのトランザクションは走ってるから
あと
>>920 は、PHP で ODBC API 使用時の話だから
FirebirdネイティブなAPIをC/C++で使うときは、デフォルトのトランザクション
使用時でもコネクションを張った後に常に自分でトランザクションを開始しなくちゃ
いけないし
928 :
909 :2005/11/11(金) 00:36:09 ID:???
>>922 システムにもよるけど一週間で1億って多すぎじゃない?
更新多いっていっても1億行は書いてないっしょ
オートコミット状態でselect文1回実行しただけで1つ増えるから
そのせいじゃないかと思うんだがなぁ
ループの中でselect連発とか・・
使ったことないからわからんけど、いくらODBCでもトランザクション管理はできるんじゃないの?
ループの中でselectがあったらトランザクションを一つに纏めてみて。
きっとスピードも速くなるよ
IB/FBはマルチジェネレーションアーキテクチャで作られているからこういう仕様は
多かれ少なかれいつまでもありそうな気がする。
>>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時間稼動のシステムでも使えるのですが・・・
トランザクションが不要な用途なら MySQL が一番向いてるんだろうけどね。 履歴型アーキテクチャの問題でしょうがないと思うな。 トランザクション処理が高速なのと引き換えなんじゃないかと。 リセットにしても、トランザクションがまったくない状態じゃないと出来ない わけだろうから、そうなると実質的に停止状態となるような気がする。
いやだから、トランザクションはRDBの基本機能であって無視するならRDB以外を使うべし。
トランザクション番号が溢れそうになったらバックアップ/リストアしてね なんて変な仕様はRDBの基本機能とやらとは関係ないべ
2.0のβ版が出たな 春ぐらいには正式リリースになるのかな?
934 :
NAME IS NULL :2005/11/14(月) 17:25:10 ID:x5747fHo
トランザクションの数値ってFBの再起動で直るの?
直らない
936 :
NAME IS NULL :2005/11/15(火) 10:07:48 ID:p7egLgwt
じゃ、どうすれば直るの?
たかだか20程度前からの書き込みぐらいは自分で読んだほうがいいのでは...
Interbase5.6でバックアップを行い、 Firebird1.5.2にバージョンをあげてリストアしました。 訳あって元に戻そうと、Firebird1.5.2でバックアップして、 Interbase5.6でリストアするのですが、エラーが出ます。 ERROR: Expected backup version 1, 2, or 3. Found 6 バックアップリストアでいつでも戻せると思っていたのですが、 世の中なかなかうまくいかないものです。 gbakの-olオプションもだめみたいです。 何かよい方法はないですか。
データフォーマットが違うから無理なんじゃね?データ型も増えてるし。 そもそも、FBはIB6.01から派生してるし、新形式のファイルを古いバージョンに読み込ませるのは 出来ないのはしょうがないと思うが。 正攻法なら、Perlかなんかでアプリを組んで FB から SQL で吸い出して IB5.6 にSQL で 書き込むとかすればいいような。 もしくは、ファイルに吐き出してから、FB5.6 から外部ファイルとして読み込むとか。 こっちはやったことはないんで詳しく聞かれても困るが。
>>939 ありがとうございます。
FBのgbakに、旧式のフォーマットで行うオプションがあったりとか、
同じ問題に直面した人が変換ツールとか自前でgbakを作ったりとか、
だったら嬉しいんですが。
そのデータベースは構造が複雑だし、データ量も300MBほどあります。
抜き出して書き戻すのは自信がないので、出来ませんといって逃げます。
941 :
939 :2005/11/17(木) 19:22:26 ID:A1xwEgGN
>>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.
ということなので、今回は使えないようです。
>>940 え? バックアップ時に互換モードみたいなのあったよね?
ポータブルなんとかだっけ? あれでもダメ?
944 :
940 :2005/11/23(水) 18:03:05 ID:???
>>943 だめでした。
で、そもそもなぜ元に戻したかったかというと、
お客さんが遅くなったから戻してくれといわれたからなんです。
しかし、十分テストして速くなると確信していたから、
どうも納得がいかず、一時的にIB5.6に戻して、IB5.6時代に
バックアップしていたデータで、お客さんの環境でテストし
てみると、やっぱりFBのほうが、速かったのです。
で、推測です。
NT4.0だったのですが、FBを入れるときにエラーが出たので、
sp6aを入れたり、WindowsUpdateしたりしたので
(これではエラーの原因は解決できなかったのですが)
それが原因で遅くなったんじゃないかと睨んでいます。
しかし、どっちみち元には戻せないので、プログラム側を
高速化することで対応しました。
長文すんません。
945 :
NAME IS NULL :2005/11/25(金) 11:06:56 ID:JrmqA/XQ
すいません 超初心者のしつもんなんですが sysdbaのパスワードがわからなくなってしまいました。 パスワードを知る方法ってなにかありますか? わかるかたいたら教えてください、よろしくおねがいします
パスワードのヒント: 二人目の女房といった新婚旅行の場所は?
947 :
945 :2005/11/25(金) 13:23:15 ID:JrmqA/XQ
>>946 うーんむずかしいですね。自分は結婚したことがないので検討がつかないです。
FBをアンインストールして再インストールすると、MASTERKEYに戻ります。
パスワードも管理できないなら、プログラマーなんてやめちまえ。
ああ、あれだろ、3大喜劇王の一人だろ?
藤山 寛美?
江頭2:50?
>>948 最近のバージョンはmasterkeyじゃなくて自動生成したのがReadmeに入ってるんじゃなかったっけ?
Linuxだとインストールするときに入力を求めてくるよ 1.5.3は知らんけど
955 :
NAME IS NULL :2005/11/28(月) 09:36:42 ID:zyw9jz8R
そうか、めんどーになったね。 ところで、 パスワードがDBファイル内にあるんじゃなくて、マシンに設定される、 というのは変わってない?
956 :
NAME IS NULL :2005/11/28(月) 15:52:22 ID:j+Tz+pLh
マシン...というのは何を指してるかわからんが、アカウント情報は security.fdbなどの専用のデータベースファイルに格納されるな
957 :
955 :2005/11/28(月) 16:10:46 ID:zyw9jz8R
なら今までと一緒で、マシンに設定されてるね。 他のDBだと、実際のデータの入ってるファイルにアカウント情報入ってるような希ガス。
IBOConsoleで急に接続できなくなったんだけど、そういう経験のある人いる? ログインしようとすると「Cannot attach to services manager」という メッセージが出るんだけど。
>>959 動いてるんだが、駄目なんだよね・・・。
ファイル壊れたかなあ。
リモートサーバだと入れた・・・ (´・ω・`) 謎だ・・・。
962 :
NAME IS NULL :2005/12/02(金) 18:21:35 ID:s2vztZm+
別に驚くほど不思議ではないかも Windowsはローカルではソケットで通信してないよ (表示されない)Windowや共有メモリなどを使うから 何かの理由でその生成に失敗してるのか消えてるんじゃないの?
963 :
NAME IS NULL :2005/12/02(金) 21:28:34 ID:yG9ghYsw
>>958 ですが、マシンを再起動したら直りました。
>>962 あたりが正解だったか・・・。
ちなみにIBConsoleじゃなくてIB"O"Consoleです。
みなさん、コメントどもでした。
966 :
sage :2005/12/03(土) 21:12:27 ID:N8Q4KgSq
Forced WritesをDisabledにした場合、Windowsが落ちた時に書き込み前のデータが 保障されないこと以外に、何か気をつけることはあるのでしょうか?
967 :
NAME IS NULL :2005/12/08(木) 12:51:28 ID:VugBsy6p
家でWindows版使ってみようといれてみたが ・・・・ 殆どマニュアルもよめねぇ・・・ さすが英語はきついぜ ポスグレみたく日本語の解説サイトあると (*´Д`)y−~~~ウマー! なんだが まだあんま一般的にしられてないのかな? 日本ユーザ会の解説見てると カナリ魅かれるんだが
接続設定(ちょっと他のDBと違うとこあり。サーバーとファイルパス指定。パスワード設定)さえ終えれば、マニュアル全く読まないけどね。
970 :
NAME IS NULL :2005/12/08(木) 15:07:01 ID:VugBsy6p
>>968 英語版のクイックスタートが
2Ch風日本語に・・・
これ求めていたよ
ありがとう
会社から帰ったら早速やてみる
ノシ
40文字ぐらいの列名のテーブルが作れないのですがどうしたらいいですか 回答が無い場合はMySQLを使います。
Firebirdってリファレンスはフリーで公開されてないの? IB6.0しか見あたらないんだけど。
>>974 そうじゃなくてオフィシャルリファレンスマニュアルは無償では無いんでしょうか?
VARCHAR(10)で作成するとShiftJISの場合、全角10文字分確保されるのでしょうか?
やってみた方が早いんではないかと 確保されそうな気がするが
979 :
NAME IS NULL :2005/12/21(水) 16:55:22 ID:2Aj3iuId
Windowsのサーバーとクライアントで、 エラー「Unable to complete network request to host」が 出ます。 例外の登録で、プログラムの追加では上記のままで、 ポート3050を追加したところ、動作しました。 そういった事ってありました? 対処はそれでおkでしょうか? どうか宜しくお願いします。
3050は、TCP/IPで通信を行う場合のデフォルト設定のポート番号だな。
>>980 そのポートを空けるってのは良くやることですか?
>>981 普通インストーラが勝手に開けるんじゃない? 古いInterbaseでは手で開けてた気がするけど。
開けるって単にservicesに追加するって意味だよね。 だったらインストーラーがやってくれると思う。
最近はホスト別にファイアウォールもあるしそうでもなくなってきたが。