Firebird関連スレ2at DB
Firebird関連スレ2 - 暇つぶし2ch160:NAME IS NULL
06/07/11 08:49:38
>>159
あれ? このDDEXって、Firebirdを
> ツール(T)→データーベース接続のデータソースで
使えるようにする奴だよね?

161:NAME IS NULL
06/07/11 10:02:37
>>160
Express版ってディフォルトアクセスとMSSQLだけだけど
設定方法あるの?

無料版って出来ないと思って調べてない知ってたら教えて

162:NAME IS NULL
06/07/11 10:14:31
>>161
いや、Express版だと無理だねえという話。

163:NAME IS NULL
06/07/11 13:51:04
2.0のWhat's New 日本語版ってどこかにない?

164:NAME IS NULL
06/07/28 02:41:14
FireBirdのチューニングについて解説しているサイトとかないのかな?
firebird.confのDefaultDbCachePagesとかSortMemBlockSizeとかいじると
もっと早くなるのかなと。。

165:NAME IS NULL
06/07/28 19:32:43
このスレをGoogleで発見して
某Webブラウザのことかと思って飛び込んだ俺はイッテヨシですか。。。

166:NAME IS NULL
06/07/29 09:02:26
ここがどこの板かを気にしなかった時点で

167:NAME IS NULL
06/07/31 21:52:28
>>164
wikiの方に設定項目の解説ならあるみたいよ。

でも、そもそもチューニングがいらないのがFirebirdのウリの一つだし
そんな劇的にパフォーマンスの変わる設定項目はないよ。

遅く感じるのはおそらく非効率なSQLを投げてるんじゃないかと。

168:NAME IS NULL
06/08/04 08:19:52 MlH2fmbS
>>164

パフォーマンス関連。これぐらいしか見たことない。
URLリンク(www.dotnetfirebird.org)

これにのってなくて、InterBaseと共通する部分についてならこれかな。
URLリンク(www.borland.com)

169:NAME IS NULL
06/08/04 21:31:51
D7+FB1.5.3+IBXで始めて開発してるんですが、TIBQueryで参照項目を設定すると
入力が極端に遅くなることがあるのですが、参照項目は使わないほうがいいのでしょうか。



170:NAME IS NULL
06/08/05 13:15:10
>>169
参照相手が巨大なテーブルの場合には遅くなるんじゃなかったかな?


171:NAME IS NULL
06/08/08 09:25:26
>参照項目

これって何?
select a,b,c
   ^^^^^^^
のこと?

172:NAME IS NULL
06/08/09 00:08:05
>>171
項目の新規追加で作るDelphi側の機能のじゃない?

>>168
BDEの頃試してみたけど、遅くてすぐに使うのやめたような・・。
TIBSQLMonitorで参照項目が実行しているSQLの数とかわからないかな?


173:169
06/08/09 20:05:26
ありがとうございます。
参照項目で参照されるマスター側をTIBQueryからTIBTableに変えたら
現象は解消しました。
参照項目でTIBTableを使うと遅くなるとか以前Interbaseのスレで読んだので使わなかったんですが
今のところ大丈夫なようです。




174:NAME IS NULL
06/08/11 01:18:21
firebird で mysqldump みたいなことをする方法ってありますか?

175:NAME IS NULL
06/08/12 09:20:17 zhXVD21p
>>174
IBExpert Personal (フリーウエア)で、できませんでしたっけ?

URLリンク(www.ibexpert.com)

176:NAME IS NULL
06/08/15 13:54:43 HdGLaFVe
インターベースと異なる進化を遂げてますか?

177:NAME IS NULL
06/08/15 18:52:42
どっちも独自に進化してると思うけど、
あっちは Firebird の良いところ(コード)もパクって機能強化してるんじゃね?
まあしゃあないけど。

178:NAME IS NULL
06/08/16 18:51:00
IB開発者はFBソースを参照できるけど、逆はできないしな。
ま、互換性はどんどんなくなるんだろうな。

まだMSSQLとSybaseほどには離れてないけど。

179:NAME IS NULL
06/08/17 15:26:12 2xhvp2ws
はじめまして。
udfを使用したく、isqlでInputコマンドでロードしたのですが、udf関数を使用すると

SQL実行中に以下のエラーが発生しました。
エラーコード:335544831 Access to UDF library "ib_udf.DLL" is denied by server administrator
SQLステータス:HY000

が出てしまい使用できません。アクセス権も設定しないとだめなんでしょうか?

180:179
06/08/17 18:26:20 2xhvp2ws
その後の調査で
DECLARE EXTERNAL FUNCTION abs
DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'IB_UDF_abs' MODULE_NAME 'ib_udf';

となっていたのを
DECLARE EXTERNAL FUNCTION abs
DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'IB_UDF_abs' MODULE_NAME 'ib_udf.dll';
と変えてみたのですが、今度は
エラーコード:335544343 invalid request BLR at offset 130
function ABS is not defined
module name or entrypoint could not be found

と出てしまいました。
なかなかうまくいきません・・・



181:NAME IS NULL
06/08/17 19:11:15
>>179-180
FirebirdのUDFフォルダの中にib_udf.dllがないんじゃない?

182:179
06/08/18 14:36:29
>>181
レスありがとうございます。自己解決しました。
一度まっさらにして180を実行したところうまくいきました。
デフォだと拡張子入ってないからそれが原因だったのかなあと・・・


183:NAME IS NULL
06/08/20 03:04:54
Firebird 使ってる売り物って TKC 以外で何がある?

184:NAME IS NULL
06/08/21 11:10:01
delphiでデータを大量に削除した後にデータベースファイルのサイズも小さくしたいんですが
どうすればいいですか。
データを削除しただけではファイルサイズは変わらないようなので。

あとdelphiからバックアップ、リストアのやり方も教えてください。

環境はD7+IBXです。

185:NAME IS NULL
06/08/21 18:40:27
Delphi + Firebird で UNICODE データを扱う必要が出てきましたが,
どこか良い情報がまとまっているところ,有りませんでしょうか

186:NAME IS NULL
06/08/21 23:19:19
>>184
バックアップ・リストアをしないとサイズを小さくする事はできません。
大量に削除したならパフォーマンス落ちてるからパフォーマンス回復の意味でも
バックアップ・リストアした方が良いと思うよ。

Delphi7は持ってないからわからないけど、「TIBBackupService」と「TIBRestoreService」って
コンポーネントない?
あればそれでできそうな・・。
サンプルはDelphiのインストールフォルダに入ってないかな?



187:NAME IS NULL
06/08/21 23:26:40
>>184
wiki の gbak のところ読んでみれ。
URLリンク(firebird.skr.jp)

>>185
何をしたい?
unicode 使ってるヤシは少ないと思うが。

188:NAME IS NULL
06/08/22 00:11:40
> unicode 使ってるヤシは少ないと思うが。

時代に取り残された感じのソフツですね。

189:NAME IS NULL
06/08/22 08:34:58
>>186
スイープでは小さくならない?

190:NAME IS NULL
06/08/22 08:51:15
>>185
TntWare Delphi Unicode Controls
URLリンク(www.tntware.com)
これで必要十分だと思います。フリーですよ。


191:NAME IS NULL
06/08/22 09:02:13
>>188
日本語でおk

192:NAME IS NULL
06/08/22 11:46:32
>>189
スイープだけでは小さくならないよ。


193:NAME IS NULL
06/08/22 13:37:39
> unicode 使ってるヤシは少ないと思うが。
それは IB/FB では少数派。ということですか?

TnT は既に使用しています。
DBExpress では UNICODE_FSS は手作業で WIdeStrin に変換しなければいけないわけですが
そういったことを面倒見てくれるライブラリが無いかな。と。

194:NAME IS NULL
06/08/22 15:56:52
>>192
そうなのか。さんくす。

195:NAME IS NULL
06/08/23 10:22:52
>>193
その程度のことなら自分で作っちゃえばいいじゃん。

196:NAME IS NULL
06/08/31 00:59:06
PSUのキャラクター保存用のデータベースにFirebirdが使われるみたいですね。
URLリンク(www.4gamer.net)

197:NAME IS NULL
06/09/01 17:31:41
OracleのSQLをそのまま移行したところ、SUM関数の戻りが極端に遅い気がします。
Indexも同じように貼っているのですがこれは仕方ないことなのでしょうか?

198:NAME IS NULL
06/09/01 21:35:25
>>197
同じマシン環境で? 極端にっていうのがどのくらいかわからんけど、
俺のこれまでの体感では同じくらいだなぁ。2倍遅いくらいなら
Oracleのチューニングがうまくいってたから、とかかもね。

199:NAME IS NULL
06/09/02 18:10:28
>Indexも同じように貼っているのですがこれは仕方ないことなのでしょうか?
Firebirdでもそれと同じIndexが使われるとは限らないと思うが。

あとは使用機がSMPとかハイパースレッディング有効/無効とかによって
パフォーマンスに大きな差が出たりするんじゃない?
できればいろいろな環境で試してみたら如何でしょうか。

200:NAME IS NULL
06/09/04 17:18:36 GNeWJ5x6
キャッシュの量の設定もあるよね
FB/IBってメモリの使用量もデフォルトだと控え目だし

201:NAME IS NULL
06/09/05 13:50:48 DWXKTRAH
Firebird イン ブラジル
URLリンク(www.itmedia.co.jp)

202:NAME IS NULL
06/09/08 11:09:00 EVRlL+hx
既に作ったテーブルのフィールド名を変更したいのですがどういうSQLを書けばいいですか?

1個目ってフィールドでやったら1と個目がバラバラに認識されるようで
SQLが通りません

203:NAME IS NULL
06/09/08 14:46:45
URLリンク(firebird.skr.jp)
ここからリファレンスガイド→Firebird SQLリファレンス→ALTER TABLEとたぐれ

204:NAME IS NULL
06/09/12 10:30:35 JuC3GRrG
すみません。delphiでParadoxを使っていたのですが、FireBirdに変えようと思います。
FireBirdでは、フィールド名に日本語を使えますか?

205:NAME IS NULL
06/09/12 21:23:00
Linux-amd64用の1.5ビルドって前出てたと思うけど、今はないの?

206:NAME IS NULL
06/09/13 00:37:50
>>204
今のところ使えないはずです。

>>205
ここにないかな?
URLリンク(prdownloads.sourceforge.net)


207:205
06/09/13 02:37:31
>>206
サンクス。1.5.3は無いようですね。1.5.2を試してみます。

208:NAME IS NULL
06/09/13 10:15:18
>>196
そのせいか、PSUは今ヤバイことになってる

209:NAME IS NULL
06/09/13 14:36:30 JIzm7yR3
kwsk

210:NAME IS NULL
06/09/13 15:16:10 tm8OTJgB
LinuxにFireBird1.5.3をインストールする場合、glibc2.3以上が必要でしょうか?

211:NAME IS NULL
06/09/14 14:27:52
>>206
wikiの Q&A にも書いてあったけど、一応は使えなかったっけ?
""で囲んで。随分前に試した覚えがあるけど大丈夫だった記憶がある。
URLリンク(firebird.skr.jp)
本来は日本語のためじゃなくて、予約語と同じ名前などを列名につかうために
名前のチェックを外す機能なんで、色々問題起きる可能性があるから使わない
ほうがいいみたいだけど。

212:NAME IS NULL
06/09/14 18:09:01
WindowsVistaRC1にFirebird1.5.3入れてみたんですが、
LocalServerに接続できなくてお手上げです。
どなたか情報お持ちでないですか。

213:NAME IS NULL
06/09/14 18:15:38
Oracle8 R8.0.6
まだ使っている人いる?

214:206
06/09/14 21:23:48
>>211
""で囲んで1.5の始めの頃はできた気がするね。
変なバージョンでスマンが手元にあった2.0のαではダメだったよ。
詳しくは調べてないから詳しくはわからんです。

>>212
127.0.0.1:C:\database.fdb
みたいなローカルループバックでどう?


215:NAME IS NULL
06/09/15 09:20:50
>>213
使ってるけどなぜここで聞く?

216:NAME IS NULL
06/09/15 10:03:53
スマソ。すれ間違った。

217:212
06/09/15 10:08:23
>>214
THX。接続できますた。
でもこれって不具合?
M$に報告しておいたほうがいい?

218:206
06/09/15 22:54:17
>>217
情報とかまだみかけないから不具合かどうかはわからないな
Vista側の設定で変わるかもしれないし、
そもそも原因がわからないと・・。


219:NAME IS NULL
06/10/05 12:54:46
>Vista
多分、これのせい。
URLリンク(www.microsoft.com)

220:NAME IS NULL
06/10/06 09:39:53 PcsFiZiV
>LocalServerに接続できなくてお手上げです。

>Vista 多分、これのせい。

kwsk


221:NAME IS NULL
06/10/07 10:57:46 60B4CM0w
メッセージを使ってサービスと通信できなくなってるんだ。
中見てないからわかんないけど、Windows では設定に通信用ウィンドウの設定が
あるからローカルサーバとの通信ではメッセージ使ってそうだよね。

222:NAME IS NULL
06/10/11 09:22:55 k5F24cJg
>メッセージ

WinからアプリへのWM_???メッセージのこと?

WM_USER+X、みたいな香具師?

223:219
06/10/11 13:26:10
>>220
ソース。
URLリンク(archive.netbsd.se)

今の所、ローカルの場合はループバックアドレス使うしかないかも。

224:NAME IS NULL
06/10/15 01:26:35
なんでstdevがないんだ。UDFでも作れんし。なんとかしてくり

225:NAME IS NULL
06/10/17 14:55:53
FB1.0.3 を XP以降で使える様にするソースって不要でしょうか?
必要な方がいればアップしようと思うのですが。

226:NAME IS NULL
06/10/19 18:11:00
>FB1.0.3 を XP以降で使える様にする

使えないんだ?

227:NAME IS NULL
06/10/19 18:36:27
>>226
普通に使える。
今でも現役で動いている。
ただ彼の環境がおかしいだけ。

228:NAME IS NULL
06/10/20 11:36:00
>>227
1.0.3はXP以降でも動くけど接続と切断が遅いのです。
実用的な速度にならないアプリもあります。
もしかしたらBDE接続アプリだけの問題なのでしょうか?

229:NAME IS NULL
06/10/20 11:39:07
>>228
BDEは使いものにならん。
あれは遅すぎる。
まぁ、チューニング次第である程度のスピードは出るけど
そんな事するぐらいなら一日かけてIBX等のコンポつかったほうがマシ。

230:NAME IS NULL
06/10/20 13:28:53
遅いとか以前に、いつまでもBDEを延命させるのは勘弁してほしい。

231:NAME IS NULL
06/10/20 14:29:39
BDEの代わりに何使うわけ?

IB/FB以外の場合。

232:NAME IS NULL
06/10/20 14:31:27
>>231
dbExpressかねぇ?
つか、親和性もとめるなら素直にIBやFBを使ったほうがよくね?

233:NAME IS NULL
06/10/20 18:20:26
俺ならIB/FB 以外の場合は ADO 使うと思う。

234:NAME IS NULL
06/10/20 22:59:31
>>229
BDEってそんなに遅い?
少し遅いくらいだと思うんだけどな。


235:NAME IS NULL
06/10/20 23:53:57
>>228
"拡張子がGDB"だというオチじゃないんですよね。

236:NAME IS NULL
06/10/21 21:12:08
gdbだと遅いの?

237:NAME IS NULL
06/10/21 21:25:22
>>236
遅い。
システムの復元関係でね。
ぐぐれば症状と解決策がわかる。

238:225=228
06/10/22 07:58:34
>>235
拡張子の変更は実施しています。

ネット上の情報(システム復元停止、拡張子変更、isc4.gdb対策)では
不具合を解消するに到りませんでした。

結局、以下のfb1.5 ChangeLog.txt を見て
--
2003-02-12 23:57 arnobrinkman

* firebird2/src/jrd/: cch.cpp (1.28), jrd.h (1.35), vio.cpp (1.30):

Stripped implementation of events used by garbage_collection() &
cache_writer() procedures. This will fix known delay with
connecting/disconnect on at least WinXP. Also are the
connecting/disconnecting delays while debugging in MSVC6 gone.
--
ソースの変更を思い立ったのです。

239:225
06/10/22 08:21:16
能書き言っても何もならないですよね。
転載、改変は自由にして下さい。

URLリンク(bebe.run.buttobi.net)
DLKey = firebird



240:225
06/10/22 09:16:57
バイナリ8種。
icc9.1でプロファイルによる最適化を実施していますので
公式配布の1.0.3.972より速いと思います。(2%~5%)
転載、配布は自由にして下さい。

URLリンク(up.magic3.net)
DLKey = firebird

241:NAME IS NULL
06/10/22 13:46:18
TIMESTAMPフィールドから1分引くにはどうやればいいんですか?

242:NAME IS NULL
06/10/23 15:07:43
標準添付のUDFを組み込んでそのための関数を使う

243:NAME IS NULL
06/10/23 15:22:17 1k/ArfC+
>>241

tsがTIMESTAMPフィールドとして、n分引くには以下でいいはず。

ts - ((n * 60) / 86400e0)

244:NAME IS NULL
06/10/25 11:13:24 yGeIcbEV
.NETでFirebirdって、どうやって使うんですか?orz

245:NAME IS NULL
06/10/25 14:38:03
>>244
普通に本家にあるじゃん。

246:NAME IS NULL
06/10/26 12:26:51 8x3u01xA
>>244

あとはここらへん見てちょ。英文だけど。
URLリンク(www.dotnetfirebird.org)

247:NAME IS NULL
06/11/02 23:55:03
UTF8使えますか?

248:NAME IS NULL
06/11/03 21:31:56 zPf3PLLR
>>247

つかえまーす。

249:NAME IS NULL
06/11/04 08:57:08
>>248
ありがとう。
どうやれば使えますか?

250:NAME IS NULL
06/11/05 14:25:58 Bz8nqO54
キャラクタセットを設定する

251:NAME IS NULL
06/11/06 16:40:23
>UTF8使えますか?
UTF8ってコードのエリアがASCIIと変わらないから使えないというのはありえない。

>キャラクタセットを設定する
キャラクタセットNONEでも使えるお。

252:NAME IS NULL
06/11/06 18:58:56
>>251
ありがとう。
CREATE TABLEのときの文字数との関係とかNCHARとは何?とかが
いまいちよく分からなくて・・・・

253:NAME IS NULL
06/11/07 10:08:49
DBのカラムから過去のライブラリまで、charのまんまいけるのが、UTF-8の利点じゃね?

254:NAME IS NULL
06/11/07 16:15:19
キャラクタセットって指定しなくてもなんでも入るけどさ、
指定してるときとそうでないときでソートの順序がちがうよね?

255:NAME IS NULL
06/11/07 18:30:18
>>254
その点は数字同士とかアルファベット同士とかかな同士で正しければあまり問題ないです

256:NAME IS NULL
06/11/07 23:43:55
ソート順よりもLIKE条件の方が痛いなー。

257:NAME IS NULL
06/11/08 15:47:43
SQLのLIKEってそんなに役立つ?
LIKEの判定をオーバーライドできるわけでなし。

258:NAME IS NULL
06/11/11 09:50:42
>>225
発言を今見ました。まだ見ていたらお手数ですが
再アップしてもらえませんか。
1.03+XPでは確かに接続切断に時間がかかる現象が発生します。
(BDEじゃなく、PHPの関数で接続でも発生します)
バイナリとできればソースの両方あると安心です。
よろしくお願いします。

259:NAME IS NULL
06/11/11 12:47:39
>>258
拡張子の問題じゃないの?

260:NAME IS NULL
06/11/14 15:39:16
2.0がやっとリリースされたので、早速入れてみたところ、
なんか遅い。。。
バックアップからリストアしてODSが11.0になったのも確認したんだけど。。

なんか、プランが1.5よりも悪い気がする。
ほかの人はどうですか?

261:258
06/11/14 18:03:07
>>259

>>238
・・・やっとアク禁解除。

262:NAME IS NULL
06/11/15 17:57:47 p7BgIwN1
WindowsでFirebird2.0を使っているのですが、
MysqlやPostgresやSQL Serverでいう、インフォメーションスキーマってありますか?

システムカタログみたいなテーブルがあったら、それでもいいのですが。
どうぞよろしくおねがいします。

263:225
06/11/16 06:18:45
>>258

ソース
URLリンク(bebe.run.buttobi.net)
DLKey = firebird

バイナリ8種類
URLリンク(up.magic3.net)
DLKey = firebird

お役に立てれば。

264:258
06/11/16 18:22:49
>>263 =225
今しがた、いただきました。
取り急ぎ、お礼まで。
開発環境がよくなりますです。ありがとう。

265:NAME IS NULL
06/11/17 16:26:16
えーと、2.0になって何が出来るようになったんだっけ?
FROM句サブクエリーぐらい?

266:NAME IS NULL
06/11/17 16:53:25
FB1.5.3でレコード追加順に連番を振る項目を追加したいんですが、トリガーとジェネレータは判ったんですが
既存のレコードに連番を振るようなSQLってどう書けば良いんでしょうか。


267:NAME IS NULL
06/11/17 17:06:21
>>266
GET_ID() の解説みてみ
URLリンク(firebird.skr.jp)


268:NAME IS NULL
06/11/17 17:15:17
>>266
連番になるとは限らないから。(欠番が出ちゃだめなら使わない方がいいよ)

269:NAME IS NULL
06/11/17 18:17:16
>>267
>>268

どうもです。うまくいきました。
別に欠番があっても問題ないのでとりあえずこれで行きます。


270:NAME IS NULL
06/11/18 03:53:46 kObfcDfE
>>262

あります。英文で1.5のときのものですが、以下のURLで以下のセッションをダウンロードしてみてください。
URLリンク(www.ibphoenix.com)
INTRN-A202-R The Firebird system tables Martijn Tonies

271:NAME IS NULL
06/11/18 04:07:37 kObfcDfE
>>265

ここらへん。
URLリンク(www.firebirdsql.org)

272:NAME IS NULL
06/11/18 11:30:36
ぎゃあぁああ、2.0ではOPEN,CLOSEは予約語か!
こりゃ随分手を入れないとダメだなあ…orz

273:262
06/11/19 00:00:49
>>270
色々と探してはいたのですが、これは知りませんでした。
私が取得したい情報は、これで何とかなりそうです。

ありがとうございました。

274:NAME IS NULL
06/11/19 19:38:15
>>272
ありゃりゃ....

Firebird 2.0 新しい予約語
URLリンク(www.firebirdsql.org)

あれ、でもInterBaseの予約語の表ではすでにOPEN, CLOSEは入ってますね。
URLリンク(www.ibphoenix.com)

275:NAME IS NULL
06/11/22 09:35:13
>>272
ダブルクォーテーションで囲む、予約語回避機能では通らないかな?

276:NAME IS NULL
06/11/22 19:04:08
2.0の差分はリリースノートでわかるけど、2.0に対応したリファレンスマニュアルはない?

277:NAME IS NULL
06/11/23 20:33:40
>>276

英文ですが、Fyracleを販売しているJanus Softwareで一部公開されています。
URLリンク(www.janus-software.com)

PSQL, Admin tool, PHPです。

278:NAME IS NULL
06/11/29 14:23:27
完全なマニュアルってIB6.0のものしかないよね?
なんでマニュアルつくらないの?

279:NAME IS NULL
06/11/29 15:13:14
>>278
おまえが作らないのは何で?

280:NAME IS NULL
06/11/29 18:16:49
>>279
はぁ?俺が言ってるのはFoundationで成り立ってるプロジェクトなんだから、
無償ボランティアや他企業がマニュアルつくるまで誰も作らないなんて変だろ、
っていうことなんだけど。

281:NAME IS NULL
06/11/29 18:19:20
>>280
( ゚Д゚)ポカーン

282:NAME IS NULL
06/11/30 10:50:06 jaelGuvj
>>280

マニュアルつくってないというか、非常に遅いだけです....
Using Firebird (work in progress)
The official Firebird manual is slowly being built up.

URLリンク(www.firebirdsql.org)

IB6.0 Open editionのソースは自由に使えたけど、ドキュメントは使えなかったため
それをベースに作成、ということができなかったようです。

283:NAME IS NULL
06/11/30 11:20:31
オフィシャルなユーザ会があるのに、相変わらず国内の情報で一番まとまってるのが
ユーザ会とは全くの無関係の>>1のWikiという現状はいつまで続くのか。

日本語マニュアルがないのはFirebird日本ユーザ会の責任。
作ると手を挙げてからダラダラと引き延ばしてる。
URLリンク(sourceforge.jp)
もう三年以上経ったというのに成果物は皆無も同然。

作らないのならはっきりと「作るのやーめた」って言わないとダメ。
そうしないと「じゃあ俺が作る」って人も出てこないし、出てこられない。

284:NAME IS NULL
06/12/01 13:04:16
FB1.5.3で既存の列をnot nullに変更したいんですがSQLでは出来ないんでしょうか?


285:NAME IS NULL
06/12/01 21:09:41
wikiのSQLリファレンス見るとわかるけど、ALTER TABLE で出来るのでは?
表制約追加できるみたいだし

286:NAME IS NULL
06/12/01 21:40:35
>>284
IBExpertでやったらこんなSQLが出てきてたよ。

update RDB$RELATION_FIELDS set
RDB$NULL_FLAG = 1
where (RDB$FIELD_NAME = 'フィールド名') and
(RDB$RELATION_NAME = 'テーブル名');

not nullを外すときは、1がnullになっていた。

287:NAME IS NULL
06/12/01 23:44:56
>>285
wikiには書いてないんですよ。

>>286
私も同じでした。
それであれっと思って調べてもやりかたが見つからなかったので質問したんです。



288:NAME IS NULL
06/12/02 15:10:04
>>283
いや日本語マニュアルなんてどうでもいい。英語のマニュアルでいいから
2.0完全版がほしい。いつまでも6.0マニュアル+リリースノートではきつい。

289:NAME IS NULL
06/12/04 01:05:12
Firebird Worldwide Conference初日にFirebird 2.0がお披露目
URLリンク(www.itmedia.co.jp)

290:NAME IS NULL
06/12/04 01:18:26
>>287

SQLでは変更できない。
IBExpertが作成したSQL文のように、システムテーブルを直接更新するか、
それがいやなら、NOT NULLのDOMAINを作成して、それへのALTERをするしかない。

SQL> create table t1(c1 char(1));
SQL> create domain newc1 as char(1) not null;
SQL> show table t1;
C1 CHAR(1) Nullable
SQL> alter table t1 alter column c1 type newc1;
SQL> show table t1;
C1 (NEWC1) CHAR(1) Not Null

291:NAME IS NULL
06/12/04 23:16:58
>>290
ああ、やっぱり変更できませんか。
ドメインを使うってのは盲点でした。
ありがとうございました。


292:NAME IS NULL
06/12/06 23:16:25
誰かDBまるごとSSDにつっこんで運用してる人っている?
やっぱ速ぇーのかな?

293:NAME IS NULL
06/12/09 09:54:42
>>292
ソフトウェアRAM DISKに500MB未満のをブチ込んでるが
やっぱりHDDとは天と地の差。
金に余裕が出来たら・・・って100万くらいか?

294:NAME IS NULL
06/12/15 13:49:21
>>292

USBメモリや、メモリカードにつっこむとか....

295:NAME IS NULL
06/12/15 14:26:48
フラッシュは遅いし書き換え回数制限があるんじゃなかったか?


296:NAME IS NULL
06/12/15 21:35:12
ってかFirebirdって遅くね?
PostgreやMySQLに比べてどうよ?

一概には比べらんね・・・ってのはナシね
経験者の感覚的なもので良いので
ベンチマークとってみた暇人でも良し
意見をくれ

297:NAME IS NULL
06/12/16 10:28:55
人の主観を聞いたり人にやらせることに何の意味があるんだろ・・・

298:NAME IS NULL
06/12/16 16:03:47
>>283
ドキュメントには肝心の
「トランザクション回数には限りがあり、そのたびにバックアップ・リストアをしてね。」
が抜けてるな。

299:NAME IS NULL
06/12/20 11:23:31
>>296
postgresも使ってるけどfirebirdが特に遅いとか感じたことはないけど、
何を根拠にそう感じるのか書いてくれない?ぜひ参考したい。
ただ、firebirdはフリーで使えるレプリケータがないから俺は最近
postgresに移行しつつある。
それはそうと日本語情報少ないのがfirebird普及の大きな妨げになってるよね。

300:NAME IS NULL
06/12/20 11:35:50
資料がなくてもそこそこ使えるってのがメリットでもありデメリットになってるって
感はあるかな

301:NAME IS NULL
06/12/20 21:41:00
URLリンク(benchw.sourceforge.net)

こんなのあった

302:296
06/12/20 23:23:35
>>299
では経験上の話・・
特に更新が多発するアプリケーションで、1つのテーブルに
100万~200万レコードが入り出したあたりから急にinsertやdeleteが遅くなると思う。
ストアドプロシージャとトリガーを多用するとさらに顕著。
それとクライアントからの接続プロセスが多いと悲しいほど検索/更新が落ちる時がある。
あと、どんどんレコードバージョンが増えるにつれてインデックス性能が落ちるような気が。
バックアップ/リストアすればいいんだが、24/7のシステムではリストアが難しく実運用が困難だなぁ・・と。

Firebirdで開発する前にきっちりと検証したほうが良いね。当たり前だけど。

>>301
参考にさせてもらいます。
postgreは8.1と8.2でパフォーマンスが良くなっているらしいから、さらに差が出るという事か・・。


303:NAME IS NULL
06/12/21 20:37:35
>>296
会計関係のわりと単純な案件だったけど Firebird 使った時、
試しに出納明細 470 万行以上つっこんで集計したりしたが、
ストレスなく動いたんで安心して納品しました。

304:NAME IS NULL
06/12/24 04:14:28
Vista対応はどうなってんの?


305:265 ◆v8todlW3ks
06/12/26 06:53:47
>>305
Vistaに1.5.3入れたらコントロールパネルを開くとExplorerが死ぬようになった。
さらにサーバーマネージャが正常動作していないっぽい。
Vistaで使うなら2.0を入れた方がよさそう。

2.0でもVista上ではローカル接続ができない(セッション0問題?)。
localhostや127.0.0.1でのループバックアドレスによる接続は可能。

306:NAME IS NULL
06/12/26 09:14:17
ガーン。2.0に強制逝行か。

アプリの修正無しでいけるかなぁ?
IBX使ってるんだけど。

307:NAME IS NULL
06/12/26 10:54:38
>>305
インストールしたのはSSですよね?
CSでも同じ状況になるのでしょうか?

308:NAME IS NULL
06/12/26 12:07:10
>>305
インストール時にコンパネの追加チェックを外せば大丈夫です。

309:NAME IS NULL
06/12/26 13:49:41
>>308
それだけの問題なんだ。

ところで2.0だと問題が発生しないのはなぜ?
2.0開発がVi$ta対応だからってこと?

310:NAME IS NULL
06/12/26 14:41:53
Firebird2Control.cpl の作成方法が変わったんじゃない?
それか、インストールシールド?を変えたとか。

311:NAME IS NULL
06/12/26 16:02:38
それならFB1.5のインストローラーも直して欲しいおね。


312:NAME IS NULL
06/12/26 22:00:20
しかしVistaって糞だな

313:NAME IS NULL
06/12/26 22:43:13
>>306
IBXはちゃんと動作しますよ。
IBConsoleも正常、Delphiで作ったアプリも正常動作しています。
もちろん再コンパイル/手直しなしで。

>>308
普段コンパネ使ってないから外しても問題ないですね。
いい事を教えて頂きました。

>>311
1.5系の次期バージョン1.5.4で直るといいんですが。
URLリンク(www.firebirdsql.org)
# ユーザ会もサイトで情報流せばいいのに、何故ML?

>>312
重要な変更点があるのにあまり知られていませんよね。
雑誌は提灯ばっかで問題点は取り上げないし。

# すいませんねぇ...通りすがりだったのをすっかり忘れて
# 某所のトリップ付けたままでした。

314:NAME IS NULL
06/12/27 10:05:09
某スレで見たんですが、皆さん
URLリンク(fblib.altervista.org)
って使ってますか?

サンプルコードもうpしてくれたようです。 → URLリンク(vipdelphi.run.buttobi.net)


315:NAME IS NULL
06/12/27 15:37:22
「某スレ」って BDS2006 のスレかな?

FBLib、面白そうだけど、ソースを見る限り文字列の受け渡しはことごとく
String でやっていて、WideString は一切考慮していないようだ。
UNICODE_FSS のデータベースには FBLib は使えそうにない。

俺は現時点では Delphi + Firebird での案件を複数製造中だが、今のところ
SJIS_0208 で作っているので IBX でやっている。でも近いうちに FIBPlus の
ライセンスを購入して UNICODE_FSS の世界に行くと思う。


316:NAME IS NULL
06/12/28 08:46:49
>FIBPlus

FreeIBComponentsの派生なんだ。

やっぱ、Plus側が正式にFBをサポートしているってことかな?



317:315
06/12/28 11:16:14
FIBPlus は正式に Firebird 2.0 をサポートしている。もちろん UNICODE_FSS の
読み書きもできるし、配列も使える。1 ライセンス 235 ユーロ(約 35,000 円)
もするが、本格的に Firebird を使って商用プログラムを作るのであれば元は
取れるんじゃないかな。ただし英文マニュアルやサンプルコードを読むことを
厭わないのが条件かと。

管理ツールは IBExpert のパーソナルエディションがあれば、ほかは何も
いらないと思う。

フリーの Firebird コンポーネントでユニコードの読み書きができるものは
俺は知らない。


318:NAME IS NULL
06/12/29 00:28:44
データベースがunicodeであろうとsjisであろうと
操作するクライアント側のキャラクタエンコーディングは
クライアント側の処理系に合わせれば別にいいんじゃない?
サーバ側がデータベース保存時に変換してくれるわけだから。
delphi(win32) 使ってるんなら sjis で特に問題はないと思うけど違う?

319:NAME IS NULL
06/12/29 00:52:06
変換が完璧じゃないからって理由じゃないのかな?

1.5.4のRC1が出たようだね。

320:NAME IS NULL
06/12/29 09:22:49
315はユニコードのことがあまり分かってない気がするのは俺だけ?

321:NAME IS NULL
06/12/29 15:43:05
>>296

こんなのもあった。
URLリンク(www.sqlite.org)

322:315
06/12/29 16:25:57
>>318 >>320
俺、何か勘違いしている? 例えば「?」(U+33A5)のように SJIS でコードが
割り当てられていない文字を SJIS_0208 のデータベースには入らないし、
Delphi の string では扱えないから WideString で受け渡しする必要が
あるよね?

何かヘンなことを言っているようなら指摘をお願い。

323:315
06/12/29 16:27:00
うが、書き込み確認画面ではちゃんと表示されたのに。「例えば」の後ろに
書いた文字は立方メートルです。

324:NAME IS NULL
06/12/30 01:56:35
そもそも表示できない文字なら(ry

325:NAME IS NULL
06/12/30 10:35:53
>>322
「WideString=ユニコード」ではないとだけいっておこう

326:NAME IS NULL
06/12/30 17:42:45
WideString = UTF-16
UNICODE_FSS = UTF-8
ってことでしょ。

327:NAME IS NULL
07/01/04 09:09:34 XbcnlGt1
>>319
>1.5.4のRC1が出たようだね。

Vi$taでの動作報告キボン。


328:NAME IS NULL
07/01/10 22:44:14 nlkGW7YX
Firebird-generalによると、Firebird 2.0の日本語インストーラの
開発しているんだって。まだテスト版だけど。

テスト版のアップ先
URLリンク(www.geocities.jp)



329:NAME IS NULL
07/01/12 00:46:09
a.gdbとb.gdbがあってa.gdbの中のtableAののデータをb.gdbのtableAにコピーしたいのですが
IBExpertとかのツールを使って出来ますか?
プログラムを書かないと無理でしょうか。


330:NAME IS NULL
07/01/12 03:12:44
>>329

FBCopyなどいかがでしょうか?
URLリンク(fbexport.sourceforge.net)

331:NAME IS NULL
07/01/12 20:49:27
>>329
IBExpertならメタデータの抽出かTableDataComparerでできると思うよ



332:NAME IS NULL
07/01/12 21:34:37
>>330
どうもです。
コマンドラインツールですか、後でr試して見ます。

>>331
テーブルを開いてスクリプトのエクスポートでinsert文の羅列を作ってコピー先のデータベースでスクリプトを実行してできました。


333:NAME IS NULL
07/01/14 23:43:16
Javaアプリから動的にCREATE DATABASAEしたいんですが、
もしかしてできませんか? jdbc:firebirdsql:ほにゃらら
で存在しないDBは指定できませんよね?

334:NAME IS NULL
07/01/15 16:27:31
C#2005を使おうと思うのだが、.Net Data Provider2.xは
どのFirebird対応?
1.5.x?2.0.x?

335:NAME IS NULL
07/01/16 17:18:37
当方
  VS 2005 C#
  .NET Data Provider 2

Firebird 1.5 でも Firebird 2.0 でも動いてます。


336:NAME IS NULL
07/01/16 19:02:23
両方対応?
もうバージョンがありすぎてわけわかめ
とりあえずFirebird1.5.4で動いてるからいいか・・・

337:335
07/01/17 21:36:49
今、開発中の案件で、去年年末まで
    VS 2005 C#
    .NET Data Provider 2
    Firebird 1.5
で開発してて、年末 Firebird 2.0 正式リリースしたから
試しに差換えてみたら問題なく動いたからそのまま開発続行。

ところで .NET Data Provider 2 だけど、リファレンスどうりに
FirebirdSql.Data.FirebirdClient.FbTransaction の
    .BeginTransaction()
    .Commit()
    .Rollback()
やってみるんだけど、なんかちゃんと排他の
トランザクションしない。
336 さんはそういう必要があったら気をつけて下さい。

長文、失礼しました。

338:NAME IS NULL
07/01/18 00:28:22
>>337
まじ?

ホントにそうなら気をつけようがないよ....

339:NAME IS NULL
07/01/18 15:11:26
>>337
トランザクションしないのは1.5?2.0?それとも両方?

接続文字列のIsolationLevelとか
BeginTransactionメソッドの引数のIsolationLevel、FbTransactionOptionsとか
関係ありそうだけど

たぶん実装されてないんじゃない?

340:NAME IS NULL
07/01/18 17:47:14
>>333
こうするとできるらしい。

FBManager fbManager = new FBManager("PURE_ JAVA");

fbManager.setServer (DB_SERVER_ URL);
fbManager.setPort( DB_SERVER_ PORT);

fbManager.start( );
fbManager.setForceC reate(true) ;
fbManager.createDat abase(DATABASE_ PATH, DB_USER, DB_PASSWORD) ;

341:NAME IS NULL
07/01/18 22:59:26
>>339
>>たぶん実装されてないんじゃない?

んな馬鹿な?
だって、それぞれトランザクション制御のAPIを内部で呼ぶだけでしょ。
実装しない理由がわからない。

>>337
詳細求む

342:NAME IS NULL
07/01/19 00:05:18
>>6

ここから始まるスレッドが参考になるかも。
URLリンク(groups.yahoo.co.jp)

Linuxも、ということなら、Truecryptも使えるかな?
URLリンク(www.truecrypt.org)

343:335
07/01/19 19:52:36
なんかアクセス規制かかっててレスできませんでした。
で、> 337 は、ちょっと説明不足でした。

コミット、ロールバックは普通にできるんですけど
テーブル ロック、レコード ロックができなかったんですよね。

排他処理用テーブルをテーブル ロックなりレコード ロックなりして
悲観的排他制御しようとしたらできなかったから、
別の方法で悲観的排他やって今回はすませました。

それ以外の動きは私は困りませんでした。

    .NET Data Provider 2
    Firebird 1.5
で試した時の話なんで
    .NET Data Provider 2
    Firebird 2.0
なら、もしかしたら大丈夫なのかな?
今度、時間があったら試してみますかね。

339 さんの言うように、ひょっとして実装されて
ないのかとも思ったんですが、リファレンスには
パラメータの事とかちゃんと書いてあるし・・・・・

どなたか、もし試す機会があって、ちゃんとできたら
どういう設定とプログラムでできたか教えてもらえますか?

344:NAME IS NULL
07/01/20 01:35:34
>>340
サンクス!

FirebirdのサイトでFBManagerで検索したらFAQにありました!
Sample Web Apps なんてタイトルじゃ見つけられらないよ・・・。

345:NAME IS NULL
07/01/29 10:14:22
Firebird 2.0.1 RC1が出た模様。
URLリンク(www.firebirdsql.org)

346:NAME IS NULL
07/01/30 17:01:25 eM5iBTh+
FB1.5を使ってた方はFB2.0に移行するもんなんでしょうか?

347:NAME IS NULL
07/01/30 17:07:57
個人的にはまだ移行してない

348:NAME IS NULL
07/01/31 07:58:07
>>346

既存のアプリで、速度的にも、機能的にも問題ないのなら
わざわざ移行しなくてもいいんじゃない?

349:NAME IS NULL
07/02/01 08:01:06
>>313

1.5.4では、まだ直っていません。バグトラッカーに登録されています。
URLリンク(tracker.firebirdsql.org)

350:NAME IS NULL
07/02/03 00:55:43
>>343

そもそもテーブルロックってFirebird自身に機能がないんじゃない?
どんなSQLが発行されるのを想定してる?

351:NAME IS NULL
07/02/03 15:44:08 p4r1nQO3
一応、SQLレベルではできるんだけどね

URLリンク(firebird.skr.jp)
これの、テーブルの予約というやつ。(RESERVING 節)

記憶なんで確かじゃないけど、BCC付属のやつで発行したら効かなかった覚えがある。
多分、APIレベルでトランザクションが実装されてるので、チェックしてるのか、
もしくは、内部的な SQL の発行方法によるのかも。
そのときは、isqlでは間違いなく動いたよ。

352:NAME IS NULL
07/02/08 06:20:22
>>351

isqlではできますね。
内部的には、isc_start_transactionのisc_tpb_protectedを指定するので、
通常のRDBMSが、以下の順番で指定するのとは対照的に、APIの引数を準備するために
(2)->(1)の順番で指定するか、(1),(2)を同時に指定する必要がありますね。

(1) トランザクションスタート
(2) テーブルロック
(3) コミットorロールバック

プロバイダー、まだ入れてないので、入れたらみときます。

353:NAME IS NULL
07/02/13 12:34:11
JaybirdでFirebird2.0に接続してるんですがちょっと変な現象になります。

デフォルトキャラクタセットSJIS_0208のDBにCHAR(1) CHARSET ASCII
のフィールドを作って、lc_ctype=SJIS_0208で接続すると、getStringで取れる
値が2バイトになってしまいます。1.0でも1.5でも1バイト取れてたんですが、
2.0では2バイトになります。

なんかの仕様変更でしょうか?

354:NAME IS NULL
07/02/20 11:15:24 HIBuGGic
みんなVi$taで使ってますか?

355:NAME IS NULL
07/02/20 16:31:34
>>354

ロシア人が言うには、こんな感じ。
URLリンク(ibdeveloper.blogspot.com)

356:NAME IS NULL
07/02/21 12:54:41
訳きぼん

357:NAME IS NULL
07/02/22 00:45:31
簡単だけど訳してみた。

「FirebirdはWindows Vistaでは動くの?」
はい!動きますよ。

358:NAME IS NULL
07/02/22 12:56:21
>>354

ていうか、Vi$ta自体使ってない。

359:NAME IS NULL
07/02/26 09:06:13 gv7eFO9d
ここで質問していいのかわからないのですが、
FirebirdのSQLで下記サイトのようにfrom句の後にselectを使用することは出来ないのでしょうか?
出来ないのであれば、Firebirdで他に同様の方法がありますでしょうか。
URLリンク(www.techscore.com)

やりたいことは集計関数で得た行を、更に別条件で集計したいのです。

360:NAME IS NULL
07/02/26 12:40:06
>>359

Firebird 2.0ならできるよ。Firebird 1.5以前は無理。

361:NAME IS NULL
07/02/26 21:45:11
1.5までどうしてもやりたいなら、ストアドでも組まないと駄目だね
ストアド内で生成した文字列をSQLとして解釈して実行する機能を使うとかすれば
わりと色々できるけど、面倒ではある

362:359
07/02/27 08:11:34
>>360-361
ありがとうございます。
まだストアド使ったことなかったので、昨日色々調べてストアドでやってみました。
結果、うまくいきました。どうもありがとうございました。

363:NAME IS NULL
07/03/02 08:22:08
Pascal Data Objects
URLリンク(pdo.sourceforge.net)

364:NAME IS NULL
07/03/02 11:07:10 0ZTZtv0+
Firebirdでrdb$relation_nameとかのrdb$・・・・の解説ってどこかにありますか?

365:364
07/03/02 13:24:10
すいませんInterbaseのマニュアルをDLして自己解決しました。

366:NAME IS NULL
07/03/06 12:40:42
viewについて教えてください。
SQLのSELECT文で普通のテーブルとビューを組み合わせて使用すると
結果が返るまでにとても時間がかかるのですが、
解決方法ありますでしょうか。

367:NAME IS NULL
07/03/06 17:35:37
>普通のテーブルとビューを組み合わせて使用すると

ビューになってねー

368:367
07/03/06 17:36:09
ヒント:ビューの作り直し

369:366
07/03/06 17:52:15
あれ...なんか使い方おかしいですかね?
select T1.CODE,V1.VALUE
from TABLE1 T1 left join VIEW1 V1 on (V1.CODE=T1.CODE)
みたいな使用方法なんですが。

370:NAME IS NULL
07/03/08 16:34:30
ビューとテーブルをJOINするとビュー側はインデックス使わないんじゃない?
出したい結果を出すビューをあたらしく作った方がいいよ。


371:366
07/03/09 12:27:48
そうですか。ところでちょっと気になったのですが、
select V1.CODE,V1.VALUE from VIEW1 V1
とやるとすぐに結果は返りますのでビュー自体の反応は悪くはないです。
>>369 の例をやると、T1のレコード件数に比例して遅くなるような気がします。
つまり、T1の件数分だけV1のオープンクローズを繰り返している感じがするのです。
これが事実だとしたら、抑制するようなスイッチとかあるのでしょうか。

372:NAME IS NULL
07/03/09 12:40:14
手間をかける方向性が間違ってるな。
そんなこと調べてる間にVIEW作り直した方が早いじゃん。

373:NAME IS NULL
07/03/09 18:37:37 05+kEELh
>>抑制するようなスイッチとかあるのでしょうか。

未だかつて、見たことないっす。

374:370
07/03/09 23:46:07
>>371
えと、だからですね・・・。

VIEWの中身はただのSELECT文だからその中ではインデックスは使われている
わけですよ。だからVIEW自体の表示は早い。ところがVIEWの出力結果は
インデックスのないテーブルみたいなもんなので、VIEWとTABLEをJOINすると
VIEWの全件検索が行われるわけです。>>369の例でいえば、V1.CODEは
元になるフィールドはおそらくT2.CODEみたいな何かのテーブルの主キーだと
思いますのでVIEWの中ではインデックスが有効に働いていますが、VIEWとして
出力された時点ですでにT2.CODEではなくインデックスのないV1.CODEになって
いるわけですからT2.CODEのインデックスは使われない。その結果どこにT1.CODE
と同じ値を持つV1.CODEがあるのかわからないため全件なめて探し出すことになって
遅くなる。だから、VIEWはあくまで最終出力用として使うべきで、SQLをスリム
に見せるためのグループ化として使うのはパフォーマンスという観点から見ると
好ましくない、と言うことです。

対策としては、VIEWの中身がT2とT3のJOINだとしたら、あたりまえにT1とT2とT3を
直接使ってSQLを書く。VIEWにしたいんならその結果をVIEWとして出力する。
もしくは場合によっては結果セットを返すストアドにするとかいう方法も有効
かもしれない。

俺の理解ではそういうことです。間違ってたら他の人フォローよろ。

375:NAME IS NULL
07/03/11 20:41:33 kknmZXvK
>>356

ここにあった。
URLリンク(blog.kimuradb.com)

376:NAME IS NULL
07/03/14 00:53:54 jSDKBnm7
ユーザー会のページに書いてあったが、FlameRobinの日本語版だって・・・
まだ途中のようだが。

URLリンク(www.geocities.co.jp)

377:NAME IS NULL
07/03/15 00:00:16
こんなんもあるみたいよ。
URLリンク(blog.so-net.ne.jp)
メニューとか日本語じゃないけど

378:NAME IS NULL
07/03/16 00:02:56
Windows版なんだけど、一般ユーザーでも使えるようにするにはどうすればいい?
もしかして管理者権限ないと駄目なのかな・・・

379:NAME IS NULL
07/03/16 03:10:07
どういうこと? 一般ユーザでインストールできるかどうかってこと?
だったらAdministratorsの権限がないとインストールが出来ないのは
Windowsのサービスなら当然だと思うよ。

DBへの接続の話なら一般ユーザでもできるよ。

380:NAME IS NULL
07/03/21 11:34:56
管理ツールはIBExpert一択で良いと思うんだけど、なんでまた
次から次へと出てくるんだろ?

381:NAME IS NULL
07/03/21 14:50:26 hV0DLcWl
テーブル名を変更するには、どういう SQL 文を使えば良いですか?
alter table hoge rename to hoge2 だとエラーになりますが

382:NAME IS NULL
07/03/21 20:22:29
>>380

マルチプラットフォームで動かしたい→Flamerobin
同一GUIで各種DBで動作させたい→DBWorkbench
クライアントをUnicodeで動作させたい→BlazeTop

その他いろいろと思惑があって、次から次へとでてきてます。

383:NAME IS NULL
07/03/22 10:57:11
>>381
URLリンク(firebird.skr.jp)
alter table でテーブル名の変更はできないはず。新しい名前でテーブルを
作って、insert into ~ select でデータをコピーして、古いテーブルを
drop するしかないと思う。

384:NAME IS NULL
07/03/22 18:37:46
>>383
ありがとうございます。
やっぱできないんですね。

385:NAME IS NULL
07/03/23 10:36:24
ここで質問していいのかちょっと不安なのですが、よかったらご教授下さい。

現在自社(中小)でFirebird1.5+Delphiで簡単な生産管理を行っています。
社員の要望を受けているうちに機能が増えて徐々に使用するユーザーが増えてきました。
しかしFirebirdのサーバーを入れているマシンは貧弱なPen3-550でOSもWinXPです。
ハードは新しくしようと思うのですが、OSをどうしようか悩んでいます。
WinXPでは当然接続数の上限から、この先不都合が発生すると思われますが
WindowsSrver2003を導入するほどのスキルも無いし、コスト的にもちょっと大袈裟かと思ってます。
同時接続は最大で20クライアント程度ですが、この程度の規模であればサーバーは
どういったものが適切なんでしょうか?

386:NAME IS NULL
07/03/23 15:41:56
>>385
確かにWindowsXPだとライセンス上、10台までしか接続できないけどそういう話?
単にパフォーマンス上の懸念なら、その規模ならWindowsXPでも問題ない。

WindowsServerって言ってもドメインだのADだの構築するんでなけりゃ、必要となる
スキルはXPと変わらない。
コストがかかるのが嫌ならLinuxや*BSDにするのがベスト。

でも動かしてるのが業務上クリティカルなアプリケーションで、かつ自分にサーバ構築の
スキルが無いという自覚があるなら、アウトソースしる方向で考えないと自分の首絞めるよ。

387:385
07/03/23 16:05:53
>>386
同時接続数について詳しくないのですが、DBサーバーやWebサーバーへの
接続についても10接続を超えると、それ以上接続できなくなるのでしょうか?
それともライセンス違反というだけですか?
一応Linuxも視野に入れて検討しており、とりあえず別のハードで試験運用して
みようかなと思ってます。


388:NAME IS NULL
07/03/23 16:35:12
>>387
ライセンス違反と言うだけ。実際に接続できないなんて事はないよ。

389:385
07/03/23 16:38:24
>>388
そうなんですか?んじゃライセンスを守るという意味で
接続数をどうやって管理すればいいんだろ・・・
実際の運用では同時に10人以上の接続はかなり稀なケースなんで
ハードだけ増強してOSはそのままでもいいか。

390:NAME IS NULL
07/03/23 19:58:38
>>387

WinXP SP2からTPC/IPのドライバレベルで、10に制限されるようになったから、
SP2にして運用していれば、少なくともライセンス違反にはならないとおもうよ。
URLリンク(itpro.nikkeibp.co.jp)

391:NAME IS NULL
07/03/24 00:57:27
>>385
スキルがないと言われるとどうしようもないが、XPProはありえないと思うよ。
金がないから本格的なサーバは立てられないしオーバースペックってこと?

DBのサイズがわからんけど、数100メガ程度だと仮定すると、俺なら
OSなしでスッピン10万程度のミドルタワーのショップブランドPC
(AMDでいうと4000+程度)にメモリを2Gくらいにして、HDDをOS用×1、
データ用×2(オンボードRAID1)にして合計15万くらい。それにLinux入れる。
よっぽど予算が厳しいならCPUは落としてもいいと思う。メモリはDBサイズ次第。

Firebirdはデュアルでも効率はあまりあがらないから、金がないならデュアル
CPUはもちろんデュアルコアである必要性もあまりない。2003Serverは
使ったことないからわからんが、リモート管理できるのかな? 2000Server+
PcAnywhereでやってたことあるけど何かとめんどくさいし、Firebird専用ならば
Windowsにこだわるメリットは特にないからね。スキルだけか。

392:NAME IS NULL
07/03/25 15:03:56
デュアルの場合、CS入れるとパフォーマンスも少しは上がるかな?
接続は遅くなるかもしれないけど

393:NAME IS NULL
07/03/25 21:13:10
>>392
そう思って前にやってみたけど変わらんね~。
SMPでの性能向上は3.0とかその後に期待かな?

394:NAME IS NULL
07/03/29 00:54:30
1st Firebird Japan Conferenceだって。
参加者には日本語CD-ROMを提供だとさ。
URLリンク(tech.firebird.gr.jp)


395:NAME IS NULL
07/04/02 19:55:21
へぇ。まだ何かやる気あったんだ>ユーザ会

396:NAME IS NULL
07/04/02 21:15:24
>395

今の理事長は毎月セミナーやっているぞ。多少はやっているらしいぞ


397:NAME IS NULL
07/04/03 20:55:17
でもユーザ会のトップページ左側のメニューには「What's new in Firebird v1.5」。
ページ左上のカウンタはページビューではなくユーザ会員のアカウント数か?
そんなものを表示しておく意味が分からない。
トップページ右上のお知らせは 2006/1/6、「Firebird の特徴 (Factsheet)」
ページ右上のお知らせは 2005/12/4。もう 4 月なのに。
ダウンロードページは 2.0RC1 が最新で、おまけにページ右上は「Firebird 1.5.3 が
リリースされています」と来たもんだ。

あのページをどうにかする気はないのだろうか。普及させるにはまずウェブ上の
文書リソースが大切なのはオープンソースでは常識だと思うのだが。それとも、
とにかく有料サービスに引き込もうとしているのか。

誰か、今月のカンファレンスに行って、「国内で一番詳しいドキュメントが
2ch 有史が作った Wiki であることをどう思いますか」って聞いて来てくれ。

398:397
07/04/03 20:57:15
s/有史/有志/

# 俺も Firebird を便利に使わせていただいている一人なので、
# よさがもっと認識されてほしいと思っているんよ。
# 気を悪くしたらゴメンよ。> ユーザ会の中の人

399:NAME IS NULL
07/04/04 00:26:14
おれもユーザー会には頑張ってほしいと思ってる。

ただ企業系の人中心なせいか、他のオプソコミュニティとの
温度差というか空気の読めなさというかスノッブな雰囲気を
感じるのでもっと考えて仲良くしてほしい。オプソは連携が要だから。
あと、流行るまでは商売の匂いは消す努力をしたほうが・・・。
その辺はユーザー会以外に別のFirebirdコミュニティが立ち上がって
しまうと手遅れだから、その前になんとかしてほしいとせつに願う。

400:NAME IS NULL
07/04/04 10:53:28
日本語インストーラなどの開発もやり始めたし、多少はまともに
活動始めたと少し評価しているところかな。>ユーザー会

401:NAME IS NULL
07/04/06 21:35:54
日本医師会のオープンソース医療ソフトでFirebirdのユーザーが1万4000に
URLリンク(itpro.nikkeibp.co.jp)

402:NAME IS NULL
07/04/09 03:56:11
日本医師会、開発ソフトウェアにオープンソースDB「Firebird」を採用
URLリンク(www.atmarkit.co.jp)

403:NAME IS NULL
07/04/10 13:12:16
interbaseのスレが見当たらないのでこちらで質問させてください。
IB4.2でNULL値のフィールドを0として扱ううまい方法はないでしょうか。
例えば、
SELECT A.CODE,(A.DATA - B.DATA) DATA FROM A
LEFT OUTER JOIN B ON B.CODE=A.CODE
WHERE (A.DATA-B.DATA)>100
のようなSQLでBにレコードがない場合WHERE条件に引っかからないのでB.DATAがNULLの場合
0として計算させたいのです。

404:NAME IS NULL
07/04/10 13:28:14
ibどころかfb初心者だからうまい方法は知らないけどそのまま安易に
a.data - case when b.data is null then 0 else b.data end
は使えないのかな

405:NAME IS NULL
07/04/10 14:10:32
nvlって無かったっけ?

406:NAME IS NULL
07/04/10 14:10:52
>>403
COALESCE

ソースはfirebird nullでググれば出てくるよ

407:NAME IS NULL
07/04/11 00:53:48
俺の記憶によると>>405-406のアドバイスはIB4.2には
無効じゃないかと思った。素直にストアドじゃないかな。

408:NAME IS NULL
07/04/11 07:35:29
>>407

っか、ストアドじゃなくてUDFだろ。
4.xならrFunc使ってくれ、
URLリンク(rfunc.sourceforge.net)

409:NAME IS NULL
07/04/11 11:38:14
>>404-408
どうもありがとうございます。
caseとかnvlとかCOALESCEはIB4.2には無いのでできませんでした。
408さんのUDFを試してみることにします。



410:NAME IS NULL
07/04/11 16:37:47
>>409
WHERE (A.DATA - B.DATA) > 100 OR (A.DATA > 100 AND B.DATA IS NULL)

でも可
そもそも計算に使用する項目はnot nullであるべきだと思うのだけど。

411:407
07/04/12 01:08:27
>>408
いやUDFも互換性の問題あってIB4でうまくいくかどうかわからんから
ストアド書いて、中でIF文で分岐してSUSPENDすればいいんでない
って思ったんだ。

412:408
07/04/12 09:06:39
おー、そういうやりかたもあるね~。
うっかりしてた。スマソ。

413:NAME IS NULL
07/04/16 09:31:33
「オープンソースDBMSのFirebirdを約200サーバーで使用」---1st Firebird Japan Conferenceより
URLリンク(itpro.nikkeibp.co.jp)

カンファレンスに行った人、レポートきぼんぬ。

414:NAME IS NULL
07/04/16 12:50:36 TFgXspdw
Firebird2.0SuperServerを業務で使用したいと考えています。
「同時接続ユーザー数」に関して、具体的な数値として把握したく、
ご教授いただけませんでしょうか。
または、資料のあるHPを教えていただけませんか?

なおサーバーOSはWindowsServer2003です。
ユーザー数はOSのクライアントライセンスは今回は除外し、DBのみです。

よろしくお願いします。

415:NAME IS NULL
07/04/16 15:51:10
特に、使用に関してライセンスの制限というのはないと思うんだけど。
というか、wiki の FAQ に書いてあるしソースへのリンクも張ってある。
URLリンク(firebird.skr.jp)
あとは、メモリやOS等の制限によるのでは?
大量につなぐと、マシンパワーも足らなくなってきて加速度的に重くなってくるだろうし。

416:NAME IS NULL
07/04/16 22:01:24
「オープンソースDBMSのFirebirdを約200サーバーで使用」---1st Firebird Japan Conferenceより
URLリンク(itpro.nikkeibp.co.jp)

417:NAME IS NULL
07/04/16 23:21:27
Firebirdで3つ上のレスを検索する方法は無いのでしょうか

418:NAME IS NULL
07/04/17 01:56:02
レスって?

419:414
07/04/17 08:53:40
>>415
ありがとうございます

420:NAME IS NULL
07/04/17 22:55:51
>>414
URLリンク(groups.yahoo.co.jp)


421:NAME IS NULL
07/04/17 22:58:30
>>416
記事中に「FireBird」だの「Firbird」だのという記述があちこちにあるなあ。
記者の名前に反して信頼できない記事だ :-)

422:NAME IS NULL
07/04/18 09:15:40
>記者の名前に反して

ワロ

423:NAME IS NULL
07/04/18 11:13:26
IB4.2で作成したDBファイルをFB1.0でcreate table, alter table等の修正を加えてデータを追加し
またIB4.2環境に戻したところ、修正を加えた部分のデータがみれない(テーブルは見えているが中身が空)のですが
FBで修正をしたらIBには戻せないのでしょうか?
修正はdelphi付属のSQLエクスプローラ+BDE5.01で行いIB環境はIB4.2+BDE4..0です。


424:NAME IS NULL
07/04/18 14:08:13
IBで同じ構造のテーブル作ってBatchMoveでGoだ

425:NAME IS NULL
07/04/18 16:01:22
手元にIB5.6以降しか無いので検証できないけど、
FB1.0.3はIB6.01互換って事になってるから
仮に、同じIB同士だとしても4.2と6.0ぐらい離れていたら
そういう現象が起きてもおかしくない気がする。

426:NAME IS NULL
07/04/18 18:35:37 9dJ+PvZg
Windows Vista のコントロールパネルでエラーがどうこうっていうの、
どうやったら発生させることが出来ますか?

やっとVi$ta入手したので、FB1.5で発生するか見てみます。
FB1.5も複数バージョンあったり、FB2.0にすれば回避できるのかとか、
調べることいっぱいですね。
まとめサイトとかあれば。。。

427:NAME IS NULL
07/04/19 09:55:31
>>424
そうします。

>>425
そうですか、FBはIB互換だから大丈夫かなと思っていたのですが
今後は気をつけないといけないな…

ありがとうございました。

428:NAME IS NULL
07/04/19 10:16:55
遅レスだが、gdbそのものはいったん新しいバージョンで開いたら
古いバージョンでは開けなくなる。これはIBとFBをまたがってる
からという問題じゃなくて、IB同士やFB同士でも同じ。

FB1.0でバックアップ、IB4.2でリストアすればいけるハズ。

429:NAME IS NULL
07/04/19 10:31:01
>>426
vistaでFB1.5を普通にインストールするとコンパネが開けなくなります。
インストーラでコンパネに追加のチェックを外すだけで回避できます。


430:426
07/04/19 10:58:05
サンクス>>429

今ちょうどやってたところでしたが、その通りでした><

FB2.0にすれば良いのかなぁ。

431:NAME IS NULL
07/04/19 11:30:43
FBでクライアント何台くらいまで実用的に使える?
お前らの手がけたシステムで最高何台?


432:NAME IS NULL
07/04/19 15:02:22
>>430
ユーザー会が配布している日本語版インストーラの1.5.4ならOKだよ

433:430
07/04/19 17:34:51
サンクス>>432

英語も必要なんでFB2.0にします。


ところで、FBに限らず古いアプリでコントロールパネルにインストロールするアプリは結構エラー出てないですか?
ノー●●先生とか。
FBみたくアンインスコメニューが無い場合、コンパネが開けないからアンインスコできないんですが、どうしたら良いんでしょう?

434:433
07/04/19 18:37:08
ごめんなさい、勘違いでした。
ノー●●先生は悪くありませんでした。
やっぱ、FBのコンパネ操作がエラー起こすわ。

435:NAME IS NULL
07/04/19 18:47:19
>>431
うちはコネクションの数でいうと40~50くらい。Linux-SS。
そのうち20くらいはコネクションプールで待機中。
10くらいはC/Sで接続したまま何もしてない。
残りの10~20くらいがトランザクションを実行中。
DBのサイズは2G弱。

436:NAME IS NULL
07/04/21 23:59:11
Firebirdってこんなに使われてたんだ

 オープンソースソフトウェア(OSS)のデータベース(DB)と言えば、「MySQL」と「PostgreSQL」が有名だ。
しかし米企業によるワールドワイドの調査の利用シェアではPostgreSQLが11%、MySQLが40%となってお
り、MySQLと対抗する勢力として「Firebird」が39%ものシェアを獲得しているという。

URLリンク(japan.zdnet.com)

437:NAME IS NULL
07/04/22 11:29:36
へえ、そんなに使われてるんだ
僕は以前、どのDB使うか検討したときに
ユーザ会のHPしょぼいんでFirebird使うのやめたけどw
こっちにすればよかったかな、開発はDelphiだったし

438:NAME IS NULL
07/04/22 12:03:04
IBから結構乗り換えてるじゃないかな?
IBは商用のデータベースとしては古いし安かったから、米国でも中小企業では結構使われ
てたみたいだよ

439:NAME IS NULL
07/04/23 08:55:53
IBといえばロシアだろ常考・・・
って認識は古いのか?

440:NAME IS NULL
07/04/23 09:46:44
>IBといえばロシアだろ常考・・・

kwsk

441:NAME IS NULL
07/04/23 11:16:26
Delphiと言えばロシアだからな、IBが幅を利かせるのは必然だわな

442:NAME IS NULL
07/04/23 14:21:09
>Delphiと言えばロシアだからな

いや、その通りだけど、日本だって、うわさでは中国だってDelphiだお。
シェアがどうこうじゃなくて、多く使われてるよ。

443:NAME IS NULL
07/04/23 15:28:48
ブラジルもDelphiだよ。まだまだ粘る。

444:NAME IS NULL
07/04/23 17:40:46
大阪民国だってDelphiだぜ

445:NAME IS NULL
07/04/23 19:04:58
DELPHI関連でぐぐってるとロシア、中国、英語ではない何かばかり引っかかるんだよな。


446:NAME IS NULL
07/04/23 22:05:52
英語圏では別の愛称があるから当然じゃん

447:NAME IS NULL
07/04/24 09:34:59 /YVJSirh
391-393でマルチコアとかマルチCPUの話があったけど2.0は未対応?
資料を探してるんだけど見当たらないorz

448:NAME IS NULL
07/04/24 09:50:06
>英語圏では別の愛称

kwsk

449:NAME IS NULL
07/04/24 09:51:30
>>447
リリースノートに思いっきり書いてあると思うが…

Classicは対応、Superserverは未対応

450:NAME IS NULL
07/04/24 11:18:05
>449
いまいち見つからない・・・スマソ
2.0.0リリースノートの10/151ページの「64-bit Support」なのかな?


451:NAME IS NULL
07/04/24 11:38:25
>>450
すまん、Quick Start Guide の4ページ目

452:NAME IS NULL
07/04/24 11:44:55 2lVze+Pb
>Classicは対応、Superserverは未対応

これって、SuperserverはIntel Dual Coreに未対応ってことですか?????

453:NAME IS NULL
07/04/24 11:56:20
●Classic Server
SMP (symmetrical multi-processor) support.
Better performance in case of a small number of
multiple connections that do not influence each
other.

SMP(対称形のマルチプロセッサ)サポート。
互いに影響しない少数の複数の接続の場合にはより良いパフォーマンス。

●Superserver
No SMP support. On multi-processor Windows
machines, performance can even drop dramatically
as the OS switches the process between
CPUs. To prevent this, set the CpuAffinityMask
parameter in the configuration file
firebird.conf.

SMPサポートでない。マルチプロセッサウィンドウズマシンで、
OSがCPUの間でプロセスを変えて、パフォーマンスが劇的に落ち
ることさえできること。Toはこれを防ぎます。そして、構成ファ
イルfirebird.confでCpuAffinityMaskパラメータを課されます。


SMPってマルチプロセッサらしいけどマルチコアも含まれるのかね?


454:452
07/04/24 14:47:52
>OSがCPUの間でプロセスを変えて、パフォーマンスが劇的に落ちることさえできること。

つまり、マルチプロセッサで異常終了したりデータを壊したりといったことじゃなくて、
パフォーマンスが落ちるってことね。

ちょっと安心しました。

455:NAME IS NULL
07/04/24 16:05:22
クラッシックサーバの場合は、1コネクト1プロセスでメモリ空間も別になるから
OSがデュアルコアでの複数プロセス同時実行をサポートしてるかどうかになる
のではないかな?
スレッドレベルまでの対応だと駄目だよね。

456:NAME IS NULL
07/04/24 21:57:59
ちょっと教えて下さい。

CpuAffinityMaskはいくつに設定したら良いですか?

wikiには1番目のCPUのみ使用するなら"1"を設定します。 1番目と2番目ならば"3"
って書いてるけど、SMP非対応だからデュアルCPUでも結局1つ分しか
使えないんですよね。

"1"でも"3"でもFirebirdの速度は変わらないけど、"3"にしておいた方が
他のプロセスの邪魔になりにくいって事なのでしょうか?


457:NAME IS NULL
07/04/25 10:38:00
1にしといてください。

458:NAME IS NULL
07/04/25 16:27:44
XMLデータを格納するときはどのデータ型が良い?
VARCHARだと長さ指定しないといけないから向かない気もするけど
BLOBとかかな?

459:NAME IS NULL
07/04/25 21:28:09
BLOBしかないでしょう。
ただオープンソースデータベースはXML関連の処理には向きません。

460:456
07/04/25 23:17:20
>>457
サンクス。

SMP対応になるまでは1にしときます。


461:NAME IS NULL
07/04/26 09:10:12
>459
thx

プログラムの設定をシリアライズしてDBに取っておきたいだけなんだけど何かやり方考えるか・・・
一定の長さでぶった切って保存するだけならそんな難しく無いだろうけどね

462:NAME IS NULL
07/04/26 09:17:29
XMLじゃないけど、扱うサイズに大きなムラがあるデータは、DBにはファイル名を格納して
内容はファイルで別格納しちゃうとかいうのもわりとやられてるよね

463:NAME IS NULL
07/04/26 09:52:34
>462
XMLと言いつつ実態はテキストファイル保存したいだけだからそれで良いのかも

ただ、個人的にはバイナリもDBに登録したい気もする
画像ファイルとかをDB入れない?って言ったら上の人間に
「やったこと無いからNG」
って却下されたw

あんまりBLOBって使わないほうが良いのかね?

464:NAME IS NULL
07/04/26 09:58:49
>>463
>「やったこと無いからNG」
そんな考えの会社は発展しないだろうね。

465:NAME IS NULL
07/04/26 10:18:22
>464
まぁ自分の会社じゃないから良いけどw

LOBとファイル共有&パス保存はどっちが扱いやすいのかは気になる所


466:NAME IS NULL
07/04/26 10:23:37
64KB以下のサムネイル程度の画像なら
BLOBでもいいんじゃないの。
やってみたことないし、サイズの根拠もないけど。

467:NAME IS NULL
07/04/26 10:31:50
BLOBの最大のネックは、
・標準SQLの範疇におさまらず、DBライブラリを結構意識する
・ODBCドライバにバイナリサイズが規定されておらず途中で無言でちょん切るODBCドライバが存在
ってことかなぁ。

でも、RDBにバイナリを入れる技術は持っといてもおk。

468:NAME IS NULL
07/04/26 10:50:17
>466,467
thx
業務のほうはやり方を少し考えてみるとして、BLOBはちょっと試しておいてみよう


469:NAME IS NULL
07/04/26 19:55:21
大きな画像だと圧縮ライブラリの使用とか考えないといけないしファイル共有の方がいいのかな。
ただファイル管理を考えないといけなくなるけどな。

>>466
その数字はひょっとしてメモ型の制限から?メモ型もBLOBのサブタイプだったし。

470:NAME IS NULL
07/04/27 21:26:33
ファイルで保存すればいい物をDBに突っ込むのにメリットは感じないなあ。
結局テンポラリファイルとして吐きだした後でクライアントに渡すのなら本末転倒だし
直接クライアントにデータを送る場合でもストリーミングやバイトサービングのような
配送機構が使えない場合もある。
そもそもファイルを扱うのはファイルシステムに任せるのが最も効率がいい。

また、Firebirdのように一つのデータベースを複数のファイルに分割できないDBMSでBLOBを
使うのは拡張性を考慮すると避けたい。

471:NAME IS NULL
07/04/28 06:55:00
分割できるけど、それとは別の話なのかな?

関係ないけど、DBのBLOBってInterBaseが発祥なんじゃなかったっけ。
大昔読んだIB関係のドキュメントでそんなのがあった記憶がある

472:NAME IS NULL
07/04/28 22:20:00 p8udZbFt
最近ファイル管理が面倒になってきたので、自宅鯖でDB導入しようとしています。
Firebirdが気になっているんですが、これって以下のスペックで何とか動きますか?
たまーにCGI(sh-script)からキー+順序指定で参照が来る位です。joinなし。レコード数も100件程度。
今後も同様の構造で~10000件程度のテーブルがいくつか増える程度。

CPU: PentiumPro 200MHz
Mem: 384MB (64MBx6)
OS: FreeBSD 4.10-STABLE

つーか、Firebird2 のビルドが gpre_static 作るとこでコケてる原因も調べなきゃあかんが…。

473:NAME IS NULL
07/04/29 06:24:31
キャッシュの量を調整すれば大丈夫では?
コンパクトなのも特徴のひとつだし

474:NAME IS NULL
07/05/01 11:32:53
>そもそもファイルを扱うのはファイルシステムに任せるのが最も効率がいい。

これは間違いだな。
Windowsでもファイル数が1万になるとエクスプローラーもまともに動かなくなる。
バックアップもままならない漢字。

というか、1ファイルを1ファイルとしてファイルシステムに任せるんならRDBの存在が消滅。

475:NAME IS NULL
07/05/01 12:04:10
>>474
> Windowsでもファイル数が1万になるとエクスプローラーもまともに動かなくなる。

そりゃファイルシステムじゃなくてシェルの実装方法の問題でしょうが…

476:NAME IS NULL
07/05/01 14:23:54
>そりゃファイルシステムじゃなくてシェルの実装方法の問題でしょうが…

違うだろ、エクスプローラーを使えるかどうかで運用できるかできないかが関わってくるだろ。

477:NAME IS NULL
07/05/01 15:32:14
言ってる意味がさっぱりわからん…orz

478:NAME IS NULL
07/05/01 15:48:29
477=バカで想像力貧困

479:NAME IS NULL
07/05/01 16:16:17
475はシェルの実装というかWinのエクスプローラの作りがタコと言いたいのでは

476はそれを読み取れず運用うんぬん言ってるから噛み合ってない気がする
それともWinのファイルシステム=エクスプローラだと思ってるのか・・・

とりあえず476の方がバカで想像力貧困だとおもふ

480:NAME IS NULL
07/05/01 16:21:43
>475はシェルの実装というかWinのエクスプローラの作りがタコと言いたいのでは
>476はそれを読み取れず運用うんぬん言ってるから噛み合ってない気がする

残念、間違いです。
エクスプローラーの作りがタコってことはどーでもいー問題。
しかし、エクスプローラーが動かなければ運用上困るという問題。

問題意識が無い477はふよー。


481:NAME IS NULL
07/05/01 17:19:26
>480
スレ違い

482:NAME IS NULL
07/05/01 17:57:46
>>480
> エクスプローラーが動かなければ運用上困るという問題。

Explorerが動かないというのが具体的に何を指すのか、またそれで運用上困るというのが
どういう事例なのか、その辺りがまったく想像が付かない

で、そこでなぜ
> 1ファイルを1ファイルとしてファイルシステムに任せるんならRDBの存在が消滅。

と、RDBMSの存在意義へと繋がっていくのか、何もかもがさっぱり意味不明。

483:NAME IS NULL
07/05/01 18:10:03
>>482
ごめん、自分で考えて。

その内容の詳細は企業秘密だから。

484:NAME IS NULL
07/05/01 18:11:02
>Firebird V2.1
>Downloads and related downloads and information regarding Firebird V2.1.
>Firebird V2.0
>Downloads and related downloads and information regarding Firebird V2.0.
>Firebird V1.5
>Downloads and related downloads and information regarding Firebird V1.5.
>Firebird V1.0x
>Downloads and related downloads and information regarding Firebird V1.0x.

 ↑

FB2.1とFB2.0は枝分岐しちゃったんですか?

485:NAME IS NULL
07/05/01 22:12:10
2.1はまだ正式リリースではないのでは?

486:NAME IS NULL
07/05/01 22:54:43
まだαです。>>2.1

487:NAME IS NULL
07/05/02 08:44:10
1.0と1.5、2.0が枝分岐したように、2.1も分岐するの?

488:NAME IS NULL
07/05/02 14:12:09
2.1と2.0はコア部分の変更はないので、分岐しないと思います。

489:NAME IS NULL
07/05/02 15:31:45
>>476

実装方法といっても、Win32でファイルの一覧取得して破綻するようじゃ、しかたねぇべ。

490:NAME IS NULL
07/05/02 15:32:57
まちがえた。

>>475

実装方法といっても、Win32 APIでファイルの一覧取得して破綻するようじゃ、しかたねぇべ。

491:NAME IS NULL
07/05/02 16:57:24
いくらWinとはいえ常識的に1万ファイル程度でこけるわきゃないと思うが・・・
とりあえずXPで試してみたけどエクスプーロラもプログラムからファイル一覧の取得も普通に動く

そして板違い

492:NAME IS NULL
07/05/02 17:45:02
>>474
ハードディスクにおそらく100万ファイル程あるけど
Explorer使っても特に問題ない。
ファイル数に関係なくXPのバグ?でたまにおかしなときがあるけど。

493:NAME IS NULL
07/05/02 17:59:06
>>492
それをエクスプローラーでコピー&ペーストしてみ

494:NAME IS NULL
07/05/02 18:09:21
>ハードディスクにおそらく100万ファイル程あるけど

これは全く事態が違う。

1フォルダを参照したところ、その下に1万フォルダ(か1万ファイル)あると、動きが止まる。

495:NAME IS NULL
07/05/02 18:17:03
>1フォルダを参照したところ、その下に1万フォルダ

もの分かりの悪い人が居るのでもっとハッキリ書くけど、直下に1万ファイルある場合ね。

例えば、1日に40ファイル登録すると1年(250日として)で1万ファイル。

496:NAME IS NULL
07/05/02 19:02:02
>>490
> Win32 APIでファイルの一覧取得して破綻する

ウソ付け、どんなやり方してるんだよ。
ちょうど一万ファイルあるフォルダに対してdirコマンド叩いてもなんの問題もない。

Explorer使う代わりに自前でインターフェイス作ればいい話だろ。
RDBMSなどまったく何の関係もない。

497:NAME IS NULL
07/05/02 19:37:32
人間に手動でエクスプローラを使って1万ファイルをコピペさせるってどんなシステムだ…
運用方法がそもそも腐ってる


498:NAME IS NULL
07/05/02 22:01:41
話がBLOBからどんどんそれていくな・・w

499:NAME IS NULL
07/05/04 16:28:00
ファイルに格納する時の命名規則とかちょっと大変そうだな。
時系列分割して別フォルダに保存とかした方が良さそうかな。
アップローダーとかどうしてるんだろ?

こういう場合の運用方法を考えとくのもDA、DBAとしては必要だからあながちそれてはいないか。

500:NAME IS NULL
07/05/04 17:06:25
ジェネレータがあるから、それを上手く使えば非常に面倒というほどではないのではないかと

501:NAME IS NULL
07/05/07 08:39:03
>ジェネレータがあるから、それを上手く使えば

非常に面倒だ罠

502:NAME IS NULL
07/05/07 17:45:14
リストアでDBファイルを分割しようとしてるんだけど

バックアップファイル:test.fbk 5MB

gbak -c "c:\test.fbk" "c:\test1.fdb" 3m "c:\test2.fdb"

でエラーが出る。↓
「size specification either missing or incorrect for file c:\test1.fdb」

サイズの指定がおかしいのかな?それともファイル名?

503:NAME IS NULL
07/05/07 20:02:47
サイズ指定が省略できるのは1番最後のファイルだけでは?
wikiのリファレンス見る限りでは。

504:NAME IS NULL
07/05/07 20:09:07
あっと、勘違いでした。
最初のはソースの指定か。

505:NAME IS NULL
07/05/07 22:39:30
>>502
リストア時のサイズ指定はページ数じゃないかな。

gbak -c -p 4096 "c:\test.fbk" "c:\test1.fdb" 768 "c:\test2.fdb"

ではどう?


506:502
07/05/08 08:51:14
>>505
ほんとだ・・・ちゃんと3M(4096byte*768page)でできた・・・(n’∀’)n
IBOConsoleのリストアもpagesって指定になってますね

ありがとうございました。

507:NAME IS NULL
07/05/09 09:44:41
WinXPのエンベデッドからCHARACTER SET指定でcreate database実行したら
「attach or create database CHARACTER SET SJIS_0208 is not defined」
って言われたんだけど何か設定するか入れないといけない?


508:NAME IS NULL
07/05/09 10:49:23
NONE っていうのはあるお。

509:507
07/05/09 11:00:01
SJIS指定したい場合は何かやんなきゃだめ?

510:507
07/05/09 17:14:34
サービス上げてisqlからならちゃんと発行できるのだが・・・
組み込みの場合は何か手順があるのかな

511:NAME IS NULL
07/05/09 17:53:52
>>507

「WinXPのエンベッド」ってWinXP Embeddedから?
それともWinXPでFirebirdのEmbedded Serverを使うの? どっち?

512:507
07/05/10 09:03:08
>511
FirebirdのEmbedded

513:507
07/05/10 14:57:07
自己解決、intlフォルダをコピー忘れてたとか言うつまらないオチでした


514:NAME IS NULL
07/05/10 16:12:22
DBの容量見積もり式ってどっかある?


515:NAME IS NULL
07/05/10 23:27:21
できないというのが定説。

516:NAME IS NULL
07/05/10 23:57:02
ORACLEみたいに最初に確保するタイプじゃないからな。
容量計算不要というか出来るだけ余裕のあるドライブにマップしとく、じゃないか?

517:NAME IS NULL
07/05/11 08:55:13
データ件数が結構多いみたいだからどれくらいになるか見たかったけど無理でつか
実際にデータ突っ込んでみた実績で測るしかないか

518:NAME IS NULL
07/05/11 14:36:58
そですね。insert時はアル程度予測可能か。

更新時や削除時は無理っぽい。

519:NAME IS NULL
07/05/14 00:12:20
スイープで自動的に未使用域は回収されるから二割増ぐらいで考えてればいいと思うよ。

520:NAME IS NULL
07/05/14 15:51:49
質問なんですがストアドの中でトランザクションって切れないんでしょうか?
WikiのSQLリファレンス見る限りCOMMITとかはPSQLが書いてないんですが・・・

よろしくお願いします


521:NAME IS NULL
07/05/18 09:31:08
たぶん切れません。セーブポイントもだめ。

開始時に内部的なセーブポイントは発行されているので、例外処理機能で、そのストアド内をロールバックすることはできます。

URLリンク(firebird.skr.jp)

522:NAME IS NULL
07/05/18 19:56:55
2.1aのmergeがまともにうごかねーぞ

523:NAME IS NULL
07/05/20 02:05:18
α版のソフトに文句いってもね....

524:NAME IS NULL
07/05/21 08:57:58
>521
なるほど、ありがとうございます

525:NAME IS NULL
07/05/21 18:14:03
先週turbo delphiを購入し、付属のInterBase7.5もインストールしました。
Oracle等の経験それなりにはありますが、InterBaseはど素人です。
で、困ってるんですが・・・
ローカルサーバとしていじってるときはうまくいっていたのですが、
本来の目的であるリモートサーバを登録しようとして、IBConsoleで色々
やってみたんですが、「対象のコンピュータによって拒否されたため、接
続できませんでした。」というエラーになってしまいます。
付属のPDFドキュメントを読んでその通りにやってるんですが・・・
接続設定の診断ツールのTCP/IPタブでみると、Pingは成功しますが、
gds_db(3050)とspecify port-3050は、「socketエラー10060接続が拒否
されました」となってしまいます。
どういうことでしょうか? ポートの使用可否の設定みたいなものがある
んでしょうか。ちなみにOSはwin2000serverです。
誰か助けてください。

526:NAME IS NULL
07/05/21 19:31:26
つ[Windowsファイアウォール]

527:525
07/05/21 20:03:35
>>526
帰宅してしまって自宅からのレスなので、Windowsファイアウォールを
使う環境がありません。、明日確認してみます。
レスありがとうございます。

528:NAME IS NULL
07/05/21 23:57:07
クライアントがXPでサーバが2000かな?
もしWindowsファイアウォールでなければ
サーバのservicesに3050が書かれてないとか。

529:525
07/05/22 10:13:54
Windowsファイアウォールって、LANのプロパティにある「TCP/IPフィルタリング」のことでいいですか?
”すべて許可する”になってます。
「IPセキュリティ」のほうは”IPSECを使わない”に設定されてます。

>>528
>サーバのservicesに3050が書かれてない
とはどういうことでしょうか?
サービスにはInterBase 7.5 gds_db Server、InterBase 7.5 (gds_db) Guardianがあります。
どちらも、サービスを開始しようとするとエラーになってしまいます。

わけわかりませんw 

530:NAME IS NULL
07/05/22 10:19:07
ヒント:TCP/IPのポートを空ける

531:525
07/05/22 11:39:02
>>530
うー、正直この辺りは素人同然なんです。
MSDNにある、”IPSec をポートのフィルタリングと認証に使用する方法”
URLリンク(msdn.microsoft.com)
とやらを参考にすればよいでしょうか? 一度を通読してみます。
見当違いだったらご指摘いただけると助かります。
教えて君状態で情けないやら申し訳ないやらw

532:NAME IS NULL
07/05/22 11:52:32
C:\WINDOWS\system32\drivers\etcのservicesファイルに3050を追加かな?
Win2kだとWINNTフォルダか

うちはこんなのが追加されてました
gds_db 3050/tcp #Borland InterBase Server

533:525
07/05/22 12:07:15
>>532
確認したらうちも同じものが追加されてました。
でも動かない。 泣けてくる~

534:NAME IS NULL
07/05/22 12:15:03
netstat -a でlistenしてるか確認
してるならどこかでブロックされている

かな?

535:NAME IS NULL
07/05/22 12:25:34
サーバからサーバ(自分自身)にリモート接続ってできてるのかな?

536:525
07/05/22 12:35:55
>>534
netstat -aに3050はでてきませんでした。

>>535
だめなんですか?
InterBaseのインストール時にサーバとクライアントを両方入れますよね?

537:535
07/05/22 12:54:16
できていない?

538:525
07/05/22 13:23:09
できてません。

539:NAME IS NULL
07/05/22 14:39:31
>>529
> どちらも、サービスを開始しようとするとエラーになってしまいます。
つーことは繋がらないんじゃなくてそもそもサーバーが起動してないんじゃないの?


540:525
07/05/22 14:51:01
>>539
これは
URLリンク(support.codegear.com)
に従って解決しました。今はサービスは開始しています。

541:NAME IS NULL
07/05/22 17:01:39
自分にリモート接続できないのならFWとかのネットワーク絡みじゃない感じがする

InterBaseは使ったこと無いから分からんけどサービスがちゃんと上がってないんじゃまいか
イベントログとか何も出てないのかな

542:525
07/05/22 17:14:03
リモートサーバの登録でサーバ名をlocalhostにすると動く。
つまりどういうこと?わけわからん。

Windows+inteBaseのよい解説書があったら教えてください。
amazonだとlinuxとかkylixの本しかヒットしない。
日本語のわかりやすいサイトでもいいですが。
もうお手上げっす。

543:NAME IS NULL
07/05/23 07:33:53
そこで、InterbaseからFirebirdにリプレイスだ

544:NAME IS NULL
07/05/23 12:06:36
IPを直で打ち込んだら通ったり・・・しないよね

545:NAME IS NULL
07/05/23 12:39:21
インストしたのがlocal InterBaseだったとか、クライアントのライセンスが無いとかじゃないよね?


546:NAME IS NULL
07/05/23 14:34:54
(Turbo Delphi に)同梱されているデータベース
InterBase 7.5.1 Developer Edition ― ユーザー数最大20 名、論理的なローカル接続数最大80まで



ローカルでしか使えないんじゃねえの?
所詮おまけソフトなんだし。

547:NAME IS NULL
07/05/23 22:41:19
InterBase 2007 Developer Editionでも使ってみたら?


548:NAME IS NULL
07/05/24 20:09:00
何このアホな展開

549:NAME IS NULL
07/05/29 10:46:08
1.5系で、ある程度のトランザクション数(かなり大きな数だったと思うけど)に達すると
データベースが壊れるみたいなことをどこかで見た記憶があるんだけど、詳しく
解説してあるところ知りませんか?

550:NAME IS NULL
07/05/29 16:36:23
トランザクション数というより、ポスグレとかと一緒で、トランザクションIDの枯渇のことでわ?

551:NAME IS NULL
07/05/29 20:23:48
それって割と特別な状況なんでしょうか。
トランザクション作るたびにID更新されたりしたら、
いつかは壊れるときが来ると思うんですが。

552:NAME IS NULL
07/05/29 22:21:03
>>551
一度バックアップ&リストアするとリセットされる。

うちの場合は盆と正月にメンテで必ずリストアし直すんだけど
トランザクションID的にはそんなことしなくても全然余裕。

枯渇する環境はかなり特殊かと。

553:NAME IS NULL
07/05/29 22:29:49
>>551
たしかIntegerの最大値だから21億くらいで枯渇。
普通のクラサバシステムなら十分な期間運用できると思うよ。


554:NAME IS NULL
07/05/30 10:34:01
へ~、そうなんだ。と思い試してみた。
>gstat -H mydb.fdb
で表示される、Next transactionが次回トランザクションIDなんだよね?
isqlの中だとshow databaseでも同じ値が確認できるな。

>gfix -sweep mydb.fdb
で強制スイープ掛けてもリセットされなかったが

>gbak -r backup.fbk mydb.fdb
では確かに低い値に戻った。

で、問題はコマンド投入タイミングの取得なんだが、トランザクションIDは
残念ながらシステムテーブルでは取得出来ないみたいだ。
プログラム的にはisc_database_info関数を使用する必要あり?


555:NAME IS NULL
07/05/30 11:09:54
えーっ、スイープで戻らないんですか?
確かある回数のトランザクションに達すると自動スイープがあったと
思ったけど、それでリセットされるかと期待したんですけど…。
なんかMLでは1.5.4でも直ってないという情報もあった記憶が。

556:NAME IS NULL
07/05/30 12:52:50
コネクションがあってトランザクションが進行中でも
スイープしたりバックアップが取れたりするのがFB&IB
の特徴だから途中でIDが変わってしまってはマズイというのは理解できる。
何しろ戦場でも使える管理不要DBが売りだからな。

値が循環してくれてれば良かったのだが。21億前のトランザクションが残っているとも思えないし。
でも超人気サイトのバックエンドDBでも無い限りまずはそうそうあり得ないか。
そういう所ではORACLEだろうし。

557:NAME IS NULL
07/05/30 18:36:54
21臆を越えたあたりでメッセージを表示するようにしておけばいいのさ
そしたらgbak

558:NAME IS NULL
07/05/30 19:46:10
まぁトランザクション回数に制限があるから不安はあるね。
バックアップリストアしないとリセットできないから
24時間常時アクセスのシステムでは使わない方が無難。

559:NAME IS NULL
07/05/30 19:59:32
やっぱり年次や月次の定型処理でやっててもよさそうな。

560:NAME IS NULL
07/05/30 21:53:24
夜とかシステムを止められる時間があるならやった方が良いよね。
でもスクリプトやプログラムで自動化するのは少し怖いな…。


561:NAME IS NULL
07/05/31 09:54:54
>21臆を越えたあたりで

何の数?

562:NAME IS NULL
07/05/31 10:30:23
トランザクションの数

563:NAME IS NULL
07/05/31 10:45:16
>>1からとは言わないが、十数レスほどさかのぼって読んでみてはいかがかな。

564:NAME IS NULL
07/06/01 15:12:06
なんかFBもだんだん使いにくくなってる気がするのは俺だけかな。
2.0系からはIBOConsoleで接続するとなんか動作怪しいし(すぐ切れる)。
もうIBXは使えないのかな?gpreはDelphiじゃ使えたもんじゃないし、
困ったのう。

565:NAME IS NULL
07/06/01 15:57:05
>もうIBXは使えないのかな?

動作はしてるお?
でもVi$ta64bitとか考えるとガクブル。

>gpreはDelphiじゃ使えたもんじゃないし、

これって何だっけ?

566:NAME IS NULL
07/06/01 21:20:08
埋め込みSQLをAPIコールに展開してくれるプリプロセッサじゃないか?
ORACLEのPRO*CやPRO*COBOLみたいな奴。

567:NAME IS NULL
07/06/02 00:41:22
>>564
SJIS0208で機種依存文字が使えないのが一番辛いな。
その問題が直るまでは1.5.4で様子見です。

IBOConsoleはいろいろと怪しい部分ある気がするよ。


568:NAME IS NULL
07/06/02 14:11:13
IBOConsoleってFB2.0に対応してるの?
されてないからFlameRobin日本語バージョン作ったんじゃない?

569:NAME IS NULL
07/06/04 22:30:47
>>568
されていないと思うよ。うちの環境でも問題起きるし。
FlameRobinに移行した方が安心だよ。

570:NAME IS NULL
07/06/05 00:10:33
IBExpertじゃダメなの?

571:NAME IS NULL
07/06/05 01:46:23
とうぜんOK>>IBExpert

572:NAME IS NULL
07/06/05 13:04:39
IBXに変わるDelphiのコンポーネントって何がいいのかな。
フリーで良いのないかな。


573:NAME IS NULL
07/06/05 16:01:44
>>527
これなんかどう?
FBLib Firebird Library
URLリンク(fblib.altervista.org)


574:NAME IS NULL
07/06/05 20:11:37
>>564
IBOConsoleはIBO(IBObjects)使ってるからIBXとは関係ないよ。
IBConsoleはIBX使ってるけれど。

>>572
後はフリーだとMDO(Mercury Database Objects)
URLリンク(sourceforge.net)
くらいかな?

575:NAME IS NULL
07/06/11 14:54:50
FirebirdでAccessのクロスクエリ的なSQLって発行できないですかね?
分析で使えると便利なんだけど検索しても出てこないし標準じゃ無いのかな・・・

576:NAME IS NULL
07/06/12 10:51:55
>>575
Accessでいうクロス集計クエリの構文(TRANSFORM...)はFirebirdにはないですね。


577:NAME IS NULL
07/06/12 11:35:07
>576
thx
自分で処理組むか・・・

578:NAME IS NULL
07/06/21 19:55:37
うpしてね

579:92
07/06/22 09:09:55
C#で良ければ・・・

580:NAME IS NULL
07/06/22 09:11:08
他スレの名前が残ってて鬱だ
○rz=3

581:NAME IS NULL
07/06/22 09:38:44
//CREATE TABLE NEW_TABLE1 (COL1 TIMESTAMP NOT NULL,COL2 SMALLINT NOT NULL,COL3 SMALLINT);
//ALTER TABLE NEW_TABLE1 ADD PRIMARY KEY (COL1,COL2);
private void button1_Click(object sender, EventArgs e)
{
  FbConnection con = null;
  try
  {
    //接続
    con = new FbConnection("server type=Default;initial catalog=c:\\test.fdb;data source=localhost;character set=SJIS_0208;user id=SYSDBA;password=masterkey");
    con.Open();
    
    //SQLの生成と発行
    FbCommand cmd = con.CreateCommand();
    cmd.CommandText = "select col1,col2,col3 from new_table1 order by col1,col2";
    FbDataReader dr = cmd.ExecuteReader();
    
    //格納先DataTableの生成
    DataSet dtSet = new DataSet("TEST");
    DataTable dtTable = dtSet.Tables.Add("TEST_TBL");
    DataRow dtRow = null;
    dtTable.Columns.Add("Date", Type.GetType("System.DateTime"));
    
    while(dr.Read())
    {
      //1行目はdtRowがないので生成する
      if(dtRow == null)
      {
        dtRow = dtTable.NewRow();
        dtRow[0] = dr[0];
      }
      
      //行のキー(1列目)が変わったら行を追加し、次行のキーを設定
      if (dtRow[0].ToString() != dr[0].ToString())
      {
        dtTable.Rows.Add(dtRow);
        dtRow = dtTable.NewRow();
        dtRow[0] = dr[0];
      }
    
      //対象の列(2列目の値が列名)が存在しない場合は列を追加
      string sColName = dr[1].ToString();
      if(!dtTable.Columns.Contains(sColName))
        dtTable.Columns.Add(sColName,Type.GetType("System.Double"));
      
      //値セット
      dtRow[sColName] = dr[2].ToString();
    }
    //最終行の書込み
    if(dtRow != null)
      dtTable.Rows.Add(dtRow);
    
    //グリッドに表示
    dataGridView1.DataSource = dtTable;
  }
  finally
  {
    if (con != null) con.Close();
  }
}



次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch