InterBaseを使いこなすスレ

このエントリーをはてなブックマークに追加
801林田:03/09/14 22:16
>800 早速三楠。

isqlは例のfirebird本に付いていた、日本語対応改造済みの奴。
接続を新規作成するときにデータベース名とかユーザ名とかパスワードとか入力するところでS-JISと定義したはずなんだけど。
>>801
SET NAMES SJIS;
やらにゃあかんよ
803デフォルトの名無しさん:03/09/29 20:27
InterBase7.1のサーバーパックの購入を検討しているのですが
データーベースアプリの購入は初めてなんでライセンスがよくわかりません。
同時接続1ユーザーライセンス(4セッション)とはどういう意味なんですか?
>>803
そういうシビアな問題を2chで聞くのはどうかと思うぞ。
間違ったことを教えてもらってトラぶってもだれも責任とらんし。

で、漏れの解釈では・・・
単純なC/Sアプリなんかではユーザの1接続で1セッションしか
発生しないから同時に接続したいユーザ数分のライセンスを購入
すればOK。アプリが複雑で1ユーザが複数のセッションを必要と
する場合、それが4セッションを超えなければ上記と同じ。超える
場合は追加が必要。たとえば同時3ユーザで一人あたり5セッション
確保する必要がある場合、6ユーザライセンスが必要。

訂正あればだれかよろしく。

実際には合計セッション数がオーバー(ライセンス数×4を超える)
すると接続時にはねられる。同時ユーザ数とかはどうだかしらん。
つまりすぐ接続を切れば何ユーザー増えようがOK?

ってことじゃないな。セールスサポートにTELしてみれ。
>>803
InterBase4.21から伝統的に1ユーザー=4セッションとなっているが
1セッションしか使用しないアプリの場合、1ユーザーライセンスで
4人同時接続まで可能。
807803:03/10/01 16:39
>804
>806
そうなんですか!今はFirebirdで開発中なんですが、将来的に製品版がほしいのです。
C/Sといっても小規模なんでサーバーパックだけでもいけそうですね。
2ch情報ではありますが、検討材料にさせていただきます。
ありがとうございました。
808デフォルトの名無しさん:03/10/06 08:53
>>807
Firebirdのままでは駄目なの?
809sage:03/10/06 17:17
IB6.0SSをカーネル2.4系のLinux上で動かしています。
INET/inet_error: select in packet_receive errno = 9
とうエラーを吐きまくっているのですが、どういったエラーなのかがわからず困っています。
どなたか教えていただけませんか?
1テーブルのフールドの数に制限ありますか?
1テーブルのプードルの数は制限ありますか?
812デフォルトの名無しさん:03/10/09 10:20
アプリから、データベースファイルに障害が発生して無いかチェックする、
みたいなことは可能ですか?
IBXで出来るとポトペタなんだけどな...
>>812
DOS窓でコマンドラインを渡してやるっちゅうのは、どうだい?
必要があればコードうぷできるけど(ただし、DBチェックじゃなくて
バックアップ/リストアだけど)。
>>813
アプリに内蔵するなのDBで、ユーザにはIBを意識させないようにしたいでつ。
(ファイルとして意識させる程度なら良いですけど)
>>814
CreateProcessでDOS窓を立ち上げて、コマンドラインを渡してみる。
DOS窓はCreateProcessの StartupInfo構造体に適当な値を渡せば
非表示もしくはアイコン化できるので、ユーザーはIBを意識することはない。

漏れIBアプリでこの方法でIBを隠蔽したんだけど、汚ったねえコードで
よければサンプル出してみよっか(Delphiだけど)?
816814:03/10/09 15:17
ソースおながいします。>>815
817815:03/10/09 16:08
>>816
長いので、こちらを参照してください。
わかりやすいように「ぬるぽ」と言う名前で発言しています。

ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/index.html
の「質問の解答用ソースを貼るスレ」の4番目くらい。

なお、これはバックアップ用のサンプルなので、データベースの検査に関しては
gbak.exe.ではなくて、gfix.exeを使用して、適切なパラメータを自力で
設定してみてください(これは、やったことがないので説明できない)。
また、SIのパラメータを調整するとDOS窓を非表示にできるのだが、この引数も
忘れちまったスマソ。でも、結果を取得するにはあえてDOS窓を表示したほうが
いいかもしれない(DOS窓に結果が表示されるかもしれない)。

gfixの引数はInterbaseマニュアル「操作ガイド」の第6章 データベースの環境設定と保守
のp125-138付近を、CreateProcessに関してはMSDNあたりを参照してください。
あとは自力で工夫してみて。
>>815
どこかにIBConsole.exeのソースコードがあったような気がしたんだけど、
(FireBirdのHPだったような気がするけど、失念。どこかには確かにあった)
それを探してソース解析すれば一発じゃねえの?
819818:03/10/09 18:31
あったわ。
ttp://www.twise.co.jp/download_m.html

の「FireBird 1.0(ファイナル)日本語版」のところで
IBConsoleの日本語化ソースコード(Delphi 5)ちゅうのがあった。
漏れも中身見てないけど、IBConsoleはデータベースの検査をやっているので
その部分のコードをパクッ(略)ば、>812の要求は満たせるんじゃないの?
案外>817とほとんど同じかもしれないが。
820ビギナー:03/10/13 16:48
FireBird-1.5RC6のインストールって、ダウンロードしたファイルを解凍した
だけでOKでしょうか?

一度もFireBirdをインストールした事がないマシンに入れるのに、gogleなん
かで検索しても、今一それらしい情報にヒットしなかったんで。

Marathonを使ってみたくて、FireBirdを入れようと考え、どうせ入れるなら
最新版と思って色々探しても結局判らずじまい。
821ビギナー:03/10/13 16:54
FireBird-1.5RC6のインストールって、ダウンロードしたファイルを解凍した
だけでOKでしょうか?

一度もFireBirdをインストールした事がないマシンに入れるのに、gogleなん
かで検索しても、今一それらしい情報にヒットしなかったんで。

Marathonを使ってみたくて、FireBirdを入れようと考え、どうせ入れるなら
最新版と思って色々探しても結局判らずじまい。
Firebird スレがあるのになぜここで?

解凍しただけじゃだめ。以下の作業が必要になる。
例えば展開先を C:\Program Files\Firebird にした場合で説明すると、
(以下コマンドプロンプトで作業)
1) カレントディレクトリを C:\Program Files\Firebird\bin にする
2) instreg.exe install "C:\Program Files\Firebird"
3) instsvc.exe install "C:\Program Files\Firebird" -guardian
4) fbclient.dll と gds32.dll を Windows システムディレクトリにコピー

でいいと思ったが。詳しくは doc\InstallNotes.txt を参照
823デフォルトの名無しさん:03/10/16 12:13
プログラムでシステムテーブルを参照するにはどうすれば良いですか?
テーブルやビューの名前を取り出したいのですが。

Oracleでは
select table_name from all_tables

でテーブル名を参照できるらしいけど。
824823:03/10/16 12:33
どうも。解決しました。
825823:03/10/16 13:02
解決してないっつの
どっちやねん
解決しています。ありがとう。

近頃はどの質問スレも荒れてますね。
>>827
蛇足って俺もお願い気味なんすが
解決しただけじゃなくてどうやったら解決できたってのが
欲しいな。
他の御仁にもわからんことあるだろうしさ

ってか本音いうと俺もしっときたいんです・・・ハイ
829823:03/10/17 15:49
>>824,>>827 は偽者。
解決してないです。
解決していれば方法を書きます。
830デフォルトの名無しさん:03/10/20 10:08
IBXで、IBTransaction->AddDatabaseして正常に動作する場合と、
ついでにIBDatabase->DefaultTransaction = IBTransactionもしとかないとエラーになる場合があります。

基本は、両方設定でつか?
テーブル&ビュー一覧取得SQL
select RDB$RELATION_NAME from RDB$RELATIONS
>>830
いつも両方設定してる。
833830:03/10/20 11:00
thanx>>832
IBXはTQueryより設定多くてソース直すの怖かったんですけど、そうします。
834823:03/10/20 13:08
どうも。解決しました。

答えは「できません」だそうです。
どうも。
835831:03/10/20 13:22
>>834
いいかげんしつこいんじゃないの?
836823:03/10/20 16:21
>>831
ありがとうございました。

>>834は偽者です。
837デフォルトの名無しさん:03/10/22 16:56
deadlock update conflicts with concurrent update

デッドロックみたいですが、これってどういう意味で塚?
どう対処しろということなのかなあ。
838デフォルトの名無しさん:03/10/25 10:02
同じキーを持つレコードを更新しようとしたんでわ?
試行回数を決めて一方が更新をキャンセルするようにするとか、
レコードロックのレベルを上げて誰かが更新中は触れなくするとか。
839デフォルトの名無しさん:03/11/02 01:35
なんでこのSQLエラーなんですか?
SELECT A.*, B_1.NAME FROM A LEFT OUTER JOIN B AS B_1 ON A.KEYCD = B_1.KEYCD
Table名にASって使えないのね・・・
>>839
単にASがいらないだけでは?
841デフォルトの名無しさん:03/11/04 13:15
Interbase7.1でIBRepication Server使っている人いますか?
「指定したファイルが見つかりません」などと訳の解らないエラーメッセージが表示されて
レプリケーションサーバが立ち上がってくれません。
ライセンスキーは入っています。
使えている人がいるなら私の使い方がまずいのかもしれませんのでお訊ねしている次第です。
でも、私の使い方が間違っているとは到底思えないのでござます。
どうしたらよいのやら。とほほ。
842デフォルトの名無しさん:03/12/23 09:24
FirebirdのUDFの関数名エイリアスなんですが、一度RDB$FUNCTIONSから
削除すると二度とそのエイリアス名が使えないようなんですが、使えるように
する方法、またはエイリアス名の登録記録を参照、削除する方法をご存知の方、
お教えください。
843デフォルトの名無しさん:03/12/25 17:53

そういや、もうInterBaseの5.6のライセンス購入が終わったんだよね
・・・・という事で上げ
844デフォルトの名無しさん:03/12/26 12:37
>>842
そのテーブルだけじゃなく別のテーブルにも情報が残ってる可能性
があるからDROP EXTERNAL FUNCTIONで消したほうが安全じゃないかな。
>>842
RDB$を直接弄るのはやめた方がいいよ。漏れもはまったことがある。
極めたのならいいけど、通常はGenerator以外は基本的に弄る必要はないはず。

DROPつかえ。
846デフォルトの名無しさん:04/01/02 07:18
あのバカみたいな質問なんですが
srever_nameってどういうもん入力すればいいんですか?
ipアドレスですか?
海外掲示板用オフラインリーダーを作るスレ
http://pc2.2ch.net/test/read.cgi/tech/1072883528/

海外でよく使われていうる掲示板スクリプト
専用のオフラインリーダー作って下さい。

必要な条件はID、PASSを管理できること、
OpenJaneみたいな三面型の見た目。
簡単にローカライズできるように言語ファイルを採用
848デフォルトの名無しさん:04/01/22 17:44
すいません、今IBをServletから呼び出して
簡単な掲示板を作っていたのですが

interbase.interclient.CommunicationException: [interclient] Communication
error: An IO exception occurred while trying to send data to server
192.168.1.1.
The message of the IOException is "Broken pipe".
See API reference for exception
interbase.interclient.CommunicationException

というようなエラーが1日に1回くらいでてWEBサーバーからDBサーバーに
接続できなくなってしまうのですが
このような現象はどんな時にでるのでしょうか・・・
また回避方法ってのはどうすればいいのでしょうか
849848:04/01/22 17:46
すんません、環境かきわすれましたが
Tomcat3.2.3
JDK1.3.1
Redhat6.2 です
まずサーバーのログを調べるのが先じゃないか?
851デフォルトの名無しさん:04/01/30 09:08
InterBase Adminコンポーネントの、
IBBackupServiceとIBRestoreServiceを行うと、
壊れてない綺麗なデータベースが出来ますか?

試してみようにも、壊れたデータベースファイルがまだ無いので...
852デフォルトの名無しさん:04/02/04 09:03
database is not found みたいなエラーが出るんですが、何が原因でしょう。
>>852
おまえ
>>852
たぶん、データベースが見つからないんだと思います(w
855http://chbox.com/:04/03/13 22:55
InterBaseを使いこなすスレ (プログラム技術@2ch掲示板)のまとめ

http://pwiki.chbox.com/pukiwiki.php?interbase
856デフォルトの名無しさん:04/03/24 23:23
>>797
>別スレッドのトランザクションが、勝手にCommit/Rollbackして干渉しちゃいますよね?

気になってるんで教えて欲しいんですけど、上のようなことってあるんですか?
あるとすると、スレッド内からInterBaseにアクセスってどうやるんでしょう?
BDE使ってSession張る?

DB使うようなプログラム書くの慣れてないんで、的外れな質問だったらすみません。
857補完:04/03/31 18:42
>>856
こっち(Firebirdスレ)のこの辺参考にしてみてください。

http://pc2.2ch.net/test/read.cgi/tech/1058992146/136-

参考にならんかったらすんまそん。
858補完:04/03/31 19:18
>>857
情報ありがとうございました!
おかげで見えてきました。
ストアドのデバッグってどうやるの?
IBExpertにデバッグ機能があるが使いかたがわからんので漏れは
デバッグ用のテーブルつくってそこにデバッグ情報出力してる。
860>
thnx
全然分からないけど参考にさせて貰います。
862デフォルトの名無しさん:04/09/11 23:31:57
863860:04/11/30 02:27:57
>>861
激しく遅レスだが、ログ吐き出し用テーブルを作ってそこに値を
インサートするってことです。

CREATE TABLE DEBUG_LOG(
CODE INTEGER,DEBUG_STR VARCHAR(256))

みたいなのつくっといて、ストアドでところどころ

INSERT INTO DEBUG_LOG(DEBUG_STR) VALUES(:LOCAL_VAR);

みたいな。
864デフォルトの名無しさん:05/01/08 21:03:07
少し前から、IB6を使い始めた者なんですが、
>483のやり方って、具体的にはどうやればいいのでしょうか?
865デフォルトの名無しさん:05/01/09 02:17:09
>>864
Excelのマクロでワークシートから
INSRET INTO (FIELD1,FIELD2,FIELD3) VALUES(1,'AAA','abc');
INSRET INTO (FIELD1,FIELD2,FIELD3) VALUES(2,'BBB','def');
INSRET INTO (FIELD1,FIELD2,FIELD3) VALUES(3,'CCC','ghi');
みたいなテキストファイルを書き出してISQLで実行。

もちろんワークシートをコピーして秀丸か何かでやっても良い。

ちょっと考えればわかるよね。
866デフォルトの名無しさん:05/02/19 05:27:35
IBって無料なの?
867デフォルトの名無しさん:05/02/19 23:38:25
InterBase6 OpenSource:
・無料 ・海外でのみ公開され、付属IBConsoleは英語のもの

InterBase6 有償版:
日本のBorlandから発売され、IBConsoleの日本語版がついている。
日本語版のマニュアルがあるので、マニュアルだけでもあると便利
でも、もう売っていないかも。

InterBase6.5系:
海外でのみ発売されたInterBaseのバージョン。詳しくはしらない。

InterBase7系:
InterBaseシリーズの最新版。
有料のものしかない。

-------------------------------------------------
Firebird1系:
InterBaseの無料版が6のみだったので、公開されたIB6のソースコードを
元に、オープンソースデータベースとして派生したもの。
InterBase6と100%互換らしいのと、InterBase6 OpenSourceにあったバグ
が少し修正されているようなので、InterBase6 OpenSourceを使うよりは
こっちのほうがお勧め。

Firebird1.5系:
コードをC++ベース?に書換え、機能強化したもの。
無料のもので使いたいのならこれが一番良いかも。
InterBase用の接続ドライバなどで繋いでもだいたい大丈夫。


なにか間違っていたらすまそ。
868デフォルトの名無しさん:05/02/19 23:44:31
基本的に6からわかれて別物とおもっていい
7の新機能群は便利にみえる
安いしねぇ
869デフォルトの名無しさん:05/02/20 04:16:11
FBは1系を業務で使ったことあるけど、ロクなSQL書けなくて散々な目にあった記憶が。
インラインビューが使えないのはイタすぎです…
7系はどう?少しはマシになってるの?
870デフォルトの名無しさん:05/02/20 12:18:09
俺は5だったかから入ったけど、SQLの制限は多いよ
ただ、多機能なDBというよりはとにかくコンパクトで早い、扱いやすいDB
という位置づけだから納得して使った

いまどきメモリ32Mとかで満足な速度で動くDBも珍しいと思う
組み込み向けには最適だね

7はJDBC方面がいいね
871デフォルトの名無しさん:05/03/04 14:47:35
gdbファイルの更新日付が変わらないことってありましたか?
今、その現象が出て困ってます。
アプリは正常に動作していてCOMMITもかかってるはずなのに・・・
872デフォルトの名無しさん:05/03/04 18:13:37
拡張子がgdbだとシステムファイル扱いされるWindows問題ならありましたが。
873デフォルトの名無しさん:05/03/05 03:07:54
>>871
すべてのクライアントが切断しないと変わらないんじゃなかったっけ・・?
874デフォルトの名無しさん:05/03/07 15:25:37
>>871

>>873 さんの行っている事が正解だと思う。
gdbファイルのタイムスタンプはリアルタイムでは変わらない。
当方、IB5 for win で確認。
875naka:2005/03/23(水) 23:32:09
firebird 2.0 alpha-1 がリリースされました。
http://firebird.sourceforge.net/
876デフォルトの名無しさん:2005/04/15(金) 12:00:02
InterBase 7.5の新機能
http://onigiri.s3.xrea.com:8080/delphi/index.php?InterBase%2F7.5

Multi-Instance
Global temporary tables
CASE, COALESCE, and NULLIF
877age:2005/04/29(金) 09:28:21
7.5の日本語版って出ないの?
878デフォルトの名無しさん:2005/04/29(金) 11:52:10
そのうち出るんじゃない。
879デフォルトの名無しさん:2005/04/29(金) 12:27:55
InterbaseもFirebirdと同じように大規模な書き換えが行われているのかなあ。
880デフォルトの名無しさん:2005/06/15(水) 10:22:05
7.5.1アップデート(英語版)地味ーにリリース
http://www.borland.com/downloads/registered/download_interbase.html
881デフォルトの名無しさん:2005/06/15(水) 10:24:48
SET TRANSACTION NO SAVEPOINTとパフォーマンス・モニタの改良修正
882デフォルトの名無しさん:2005/08/16(火) 15:51:15
Interbase7を使っています。シャドウファイルについてお尋ねいたします。

シャドウファイルをネットワークドライブに割り付けたいのですが出来ないことは承知しております。
どうしても出来なのでしょうか?

ローカルドライブにシャドウファイル作成出来ても、そのマシン自体が死んでしまったらシャドウファイルもくそもないので
シャドウファイルは別コンピュータに作りたいのです。
883デフォルトの名無しさん:2005/08/16(火) 20:00:43
シャドウは非同期だぞ。
バッチ処理でコピーでいいじゃん。
884デフォルトの名無しさん:2005/08/16(火) 21:11:08
>>882
物理的に別なディスクをつないでそこにシャドウを作ればほとんどの場合大丈夫じゃない?
落雷や地震とかで全ディスクやられたりしたらダメだけど、その場合は定期的なバックアップで対応。

Linux系でNFS?ならできるかもしれないけど、ネットワーク越しだと信頼性がかなり落ちてしまうんじゃないかなぁ


>>883
前にもどこかで非同期だって見たような気もするけど、本当にそうなの?
非同期なシャドウって作る意味あるのだろうか・・・。
885デフォルトの名無しさん:2005/11/06(日) 19:13:20
みなさん質問があります。ご助力お願いいたしまする候。

現在InterBase6 OpenEditionとDelphi5で開発してますが
ANSI SQLに準拠しなさ過ぎていて、
たとえば、CASE文が無いためNULLを空文字や0に変換できないとか
また、情報が少なくユーザ定義関数を作るにも作り方が分からないとか
その他もろもろ等々。
こんなつまらない事・簡単なことで結構こまっていたりします。

そこでFireBird1.5がInterBase互換でANSI SQLに準拠してると聞いて
FireBird1.5に乗り換えようか検討しています。

単純にInterBase6をアンインストールして
FireBird1.5をインストールするだけで、
現在開発中のものが、そのまま動作するものなのでしょうか?

どうか平に平にご助力お願いいたしまする候。
886デフォルトの名無しさん:2005/11/10(木) 08:22:51
>>885
使用中のDBをバックアップして(gbkファイルにして)
IB6をアンインストールして、
もしC:\Windows\System32の中にgds32.dllが残ってたら手動で削除。
そしてFirebird1.5をインストール
バックアップしておいたファイルからリストアすればOK。

互換性はほぼあるけど、微妙な違いはあるから作成したプログラムを
一通り動かすといいよ。
887デフォルトの名無しさん:2005/11/10(木) 16:11:42
>>886
ご助力誠に有難き候。

なるほどそうでしたか
もぅInterBase6の非力さに堪忍袋の緒がはちきれんとばかり
でしたので本当に助かりました。

ところで、ユーザ定義関数の作り方はお解かりになられますか?
もしくは、詳しく解説されているページをご存じないでしょうか?

どうか平に平にご助力お願いいたしまする候。
888886:2005/11/11(金) 07:22:08
>>887
オープンソースなんだから非力かどうかは貴方しだい
嫌なら使わなきゃいいだけ。

ttp://www.moriq.com/firebird/links.html
ttp://www.borland.co.jp/interbase/tech/ib_udf/index.html
889デフォルトの名無しさん:2005/11/15(火) 11:53:39
>>888
良いサイト教えていただきましてありがとうございます!
金輪際InterBase6は使わない方向で検討しております。
どうもありがとうございました!
890デフォルトの名無しさん:2005/11/16(水) 20:34:30
俺はIBやFBはSQL方言が少なくていいRDBMSだと思っているけど。
ORACLEやSQL Serverなどの重量級に比べ扱いやすくて入門用には最適だと思う。管理の手間も少ないし。
891デフォルトの名無しさん:2005/11/17(木) 01:22:33
>>890
同意。
もっと入門書があれば人気でるんだろうけどね
892デフォルトの名無しさん:2005/11/17(木) 11:35:55
>>885
下調べもせず開発してるの?
893デフォルトの名無しさん:2005/11/17(木) 14:14:31
2005年の現在においてFBもありますし
リソース(資源)気にするほどマシンパワーが
ないわけでもないから、IB6使う利点は少ないかと。
894デフォルトの名無しさん:2006/02/22(水) 16:42:12
interbase4.xをwindows2003serverで動かしたことある人居ませんか?
頼まれてNTで動いていたシステムをマシン入れ替えで2003serverにしたらクライアントアプリが非常に遅くなりました。
入力画面表示するのに3分くらいかかります。
クライアントはXp Home、アプリはDelphi3+BDE5.2です。
サーバーのハイパースレッディングはオフにしてあります。
895デフォルトの名無しさん:2006/02/26(日) 02:19:48
IB4じゃあServer2003どころかXPでも駄目だろ。
IB7.x(とD5以上)にしないと。
あとはVMwareでNT on Server2003/XPっていう考え方もあるが。
896デフォルトの名無しさん:2006/03/03(金) 20:55:31
>>894
ハイパースレッドのプロセッサ上で稼動させると遅くなるらしいです。
BIOSでOFFにすれば直るらしい。
897デフォルトの名無しさん:2006/03/04(土) 00:19:27
オフにしてるって書いてるじゃん・・。

IBやめてFB1.5にするとか・・・
895の言っているようにVMWareも良さそうだな
898895:2006/03/04(土) 21:05:53
あとはまぁFirebirdに乗り換える(金がかからないからね)という考え方も。
それとBDE経由だとD3のままでもよかったかも。
899894:2006/03/08(水) 15:22:30
サーバーをFireBirdに変更したところ動くようになりました。
今のところ不具合は出てないようです。
ありがとうございました。
900デフォルトの名無しさん