ここ三日ほど参考書片手にInterBaseデベロッパやFireBirdを入れては消して、がんばったのですが、よく分からないので教えてください。
サーバーにログインまでできるんですが、その先から鶏が先か卵が先か、みたいに思えてどこから手を付けて良いかわかりません。
エイリアスをつくるにはgdbファイルが必要で、gdbをCreateDataBaseで用意しようとすると、テーブルファイルが必要ですよね。
テーブルファイルを作ろうと、データベースデスクトップでBDEテーブルの流用を新規保存しようとすると、保存するためのエイリアスがない。
堂々巡りみたいで、頭打ちです。
参考書は、サンプル用のgdbを使うような書き方をしてるんですけど、一から真っ新でデータベースを作成するにはどうしたらいいんでしょうか?
みなさんの手順を教えてください。
↑IBConsoleの話です。
IBConsoleなら
1.[サーバ]にぶら下がっている[データベース]を選択
2.右クリックで「データベースの作成」
で新規作成できます。
http://homepage1.nifty.com/ht_deko/junkbox.html#IBCONSOLE
データベースを選択するんじゃなくて、任意のファイル名とパスを入力するんですね。
ところで、ここから普通はSQL文でCreateTableで作成されるんでしょうけど、できればデータベースデスクトップを使って設計したいんで、いろいろ試してたんですけどなかなか上手くいきません。
エリアスマネージャメニューで、作ったデータベースのパスを指定して、新規作成からBDEの流用で保存しようとしたんですけど、保存できません。
「テーブル作成要求が不正です」となります。
保存ダイアログに表示されるエリアスをエリアスマネージャで登録したところに変更したりしたんですけど…。
いくつか、問題のあるテーブル設計だとわかりました。
フィールド名に「USER」予約語?としたり、BDE流用でデフォルト変換されたTimeStamp型が悪かったみたいです。
しょうもないこと聞いてすいませんでした。m(。_。; ))m
本業が忙しくてあんまり勉強できてないんですが、
とりあえず、FireBirdではデータベースデスクトップで、
TimeStamp,Data,Time,Arrayの設計ができないことがわかりました。
理由はわかりませんが…。
でもやっぱりCreateTableが面倒なんで、データベースデスクトップでいきます。
Floatあたりで代用した方が便利そうだし。
Interbase付属のIBConsoleは殆どの事をGUIで行うことができますよ。
# Firebirdには使えませんが。
プログラムから新しいデータバースは
下記の方法で作成できますよ。
--IBDatabase1--を貼り付けた後
procedure TForm1.Button1Click(Sender: TObject);
begin
IBDatabase1.DatabaseName := ExtractFilePath(Application.ExeName) + 'test.fdb';
IBDatabase1.Params.Text := 'USER "SYSDBA"' + #13#10 + 'PASSWORD "masterkey"';
IBDatabase1.CreateDatabase;
end;
ただしパスに日本語が入っている場合は?です--注!
作成後に必要なディレクトリにコピーします。
また、user の作成を忘れずに。
XP D7 FireBird 1.0 1.5 にて確認済み
ツイート | ![]() |