<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/brightwide/">
    <title>プログラミングお勉強 @Wiki</title>
    <link>http://w.atwiki.jp/brightwide/</link>
    <atom:link href="https://w.atwiki.jp/brightwide/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>プログラミングお勉強 @Wiki</description>

    <dc:language>ja</dc:language>
    <dc:date>2011-03-16T02:57:46+09:00</dc:date>
    <utime>1300211866</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/brightwide/pages/24.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/brightwide/pages/22.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/brightwide/pages/2.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/brightwide/pages/23.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/brightwide/pages/5.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/brightwide/pages/21.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/brightwide/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/brightwide/pages/20.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/brightwide/pages/18.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/brightwide/pages/17.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/brightwide/pages/24.html">
    <title>計画停電グループ一覧CSV</title>
    <link>https://w.atwiki.jp/brightwide/pages/24.html</link>
    <description>
      計画停電のグループ分け一覧をCSVにしたものです。    </description>
    <dc:date>2011-03-16T02:57:46+09:00</dc:date>
    <utime>1300211866</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/brightwide/pages/22.html">
    <title>プログラミングのお勉強Blog/2005年09月24日/PHP 5.0.4 から Firebird 1.5 へのアクセス環境構築</title>
    <link>https://w.atwiki.jp/brightwide/pages/22.html</link>
    <description>
      #blognavi

PHPはFirebirdへの接続機能が組み込まれているらしい。
ということで、環境を構築してみた。

** PHPバージョンの確認
まずは、test.php をつくりバージョンを確認。
  test.phpの内容：
  &lt;?php phpinfo(); ?&gt; 

test.phpを /var/www/htmlに保存する。
これでブラウザからtest.phpをアクセスすることで、
バージョンが5.0.4ということがわかる。

RPMコマンドで確認する場合は、下記のとおり。
  # rpm -q php
  php-5.0.4-10

** ソースパッケージのダウンロード&amp;編集
まずはこのPHPのソースパッケージをダウンロードする。

  # wget http://ftp.riken.go.jp/Linux/fedora/core/updates/4/SRPMS/php-5.0.4-10.3.src.rpm
  --16:05:10--  http://ftp.riken.go.jp/Linux/fedora/core/updates/4/SRPMS/php-5.0.4-10.3.src.rpm
             =&gt; `php-5.0.4-10.3.src.rpm&#039;
  ftp.riken.go.jp をDNSに問いあわせています... 134.160.38.1
  ftp.riken.go.jp[134.160.38.1]:80 に接続しています... 接続しました。
  HTTP による接続要求を送信しました、応答を待っています... 200 OK
  長さ: 6,078,201 [application/x-wais-source]
  
  100%[==============================================&gt;] 6,078,201      8.79M/s
  
  16:05:11 (8.78 MB/s) - `php-5.0.4-10.3.src.rpm&#039; saved [6,078,201/6,078,201]

次にソースファイルをインストール。

  # mkdir /usr/src/redhat
  # mkdir /usr/src/redhat/SOURCES
  # rpm -ivh php-5.0.4-10.3.src.rpm
     1:php                    ########################################### [100%]
  #

/usr/src/redhat/SPECS/php.spec を下記のとおり編集する
     %{?_with_ibase:--with-interbase=shared,/opt/interbase} \
上記を
  %{?_with_ibase:--with-interbase=shared,/opt/firebird} \

に編集。

ここでパッケージをリビルド
ところが、パッケージをリビルドするrpmbuildコマンドがインストールされていなかった。

** rpmbuild のインストール

下記コマンドでrpmbuildをインストール
  # yum -y install rpm-build
ログ

  Setting up Install Process
  Setting up repositories
  updates-released          100% |=========================|  951 B    00:00
  extras                    100% |=========================| 1.1 kB    00:00
  base                      100% |=========================| 1.1 kB    00:00
  Reading repository metadata in from local files
  Parsing package install arguments
  Resolving Dependencies
  --&gt; Populating transaction set with selected packages. Please wait.
  ---&gt; Downloading header for rpm-build to pack into transaction set.
  rpm-build-4.4.1-22.i386.r 100% |=========================|  13 kB    00:00
  ---&gt; Package rpm-build.i386 0:4.4.1-22 set to be updated
  --&gt; Running transaction check
  
  Dependencies Resolved
  
  =============================================================================
   Package                 Arch       Version          Repository        Size
  =============================================================================
  Installing:
   rpm-build               i386       4.4.1-22         updates-released  513 k
  
  中略
  Installed: rpm-build.i386 0:4.4.1-22
  Complete!

これでインストールされた。

**PHPパッケージのリビルド
下記コマンドでパッケージのリビルドテスト
  # rpmbuild -bc /usr/src/redhat/SPECS/php.spec
  cat: /usr/include/httpd/.mmn: そのようなファイルやディレクトリはありません
  エラー: Failed build dependencies:
          bzip2-devel is needed by php-5.0.4-10.3.i386
          curl-devel &gt;= 7.9 is needed by php-5.0.4-10.3.i386
          db4-devel is needed by php-5.0.4-10.3.i386
          expat-devel is needed by php-5.0.4-10.3.i386
          gmp-devel is needed by php-5.0.4-10.3.i386
          aspell-devel &gt;= 0.50.0 is needed by php-5.0.4-10.3.i386
          httpd-devel &gt;= 2.0.46-1 is needed by php-5.0.4-10.3.i386
          libjpeg-devel is needed by php-5.0.4-10.3.i386
          libpng-devel is needed by php-5.0.4-10.3.i386
          pam-devel is needed by php-5.0.4-10.3.i386
          libstdc++-devel is needed by php-5.0.4-10.3.i386
          openssl-devel is needed by php-5.0.4-10.3.i386
          pcre-devel &gt;= 4.5 is needed by php-5.0.4-10.3.i386
          libtool &gt;= 1.4.3 is needed by php-5.0.4-10.3.i386
          gcc-c++ is needed by php-5.0.4-10.3.i386
          krb5-devel is needed by php-5.0.4-10.3.i386
          libc-client-devel is needed by php-5.0.4-10.3.i386
          cyrus-sasl-devel is needed by php-5.0.4-10.3.i386
          openldap-devel is needed by php-5.0.4-10.3.i386
          mysql-devel &gt;= 4.1.0 is needed by php-5.0.4-10.3.i386
          postgresql-devel is needed by php-5.0.4-10.3.i386
          unixODBC-devel is needed by php-5.0.4-10.3.i386
          libxml2-devel is needed by php-5.0.4-10.3.i386
          net-snmp-devel is needed by php-5.0.4-10.3.i386
          libxslt-devel &gt;= 1.0.18-1 is needed by php-5.0.4-10.3.i386
          libxml2-devel &gt;= 2.4.14-1 is needed by php-5.0.4-10.3.i386
          ncurses-devel is needed by php-5.0.4-10.3.i386
          gd-devel is needed by php-5.0.4-10.3.i386
          freetype-devel is needed by php-5.0.4-10.3.i386

これだけのパッケージが足りないらしい。。。。。。。
それぞれyumでインストール。
  例) # yum -y install bzip2-devel

パッケージのリビルドにはFirebird(interbase)のオプションが有効になるようにしなくてはならないがSPECファイルの内容からどう引数を書けばよいかがわからなかった。
そこで、探したのが下記。
https://bugzilla.redhat.com/bugzilla/long_list.cgi?buglist=164286

ここを参考に下記コマンドでリビルド

  # rpmbuild --define &#039;_with_ibase 1&#039; -bb /usr/src/redhat/SPECS/php.spec

ここで約30分程度かかった。

/usr/src/redhat/RPMS/i386 の下にRPMファイルが作成される。
php-interbase-5.0.4-10.3.i386.rpm も作成されているので成功しているようだ。

** パッケージのインストール

まずは、依存関係の問題等があるといやなので、インストール済みのPHPをアンインストールする。

  # yum remove php

OK。つぎにリビルドしたパッケージをインストールする。

  # rpm -ivh /usr/src/redhat/RPMS/i386/php*.i386.rpm
  
  エラー: Failed dependencies:
          libfbclient.so.1 is needed by php-interbase-5.0.4-10.3.i386
エラー発生。libfbclient.so.1が無いというエラー。
しかし、実際は存在している。

  # find / -name libfbclient.so.1
  /opt/firebird/lib/libfbclient.so.1
  /usr/lib/libfbclient.so.1

libfbclient.so.1の参照もとのlibfbclient.so.1.5.2 に実行権限が無いので実行権限を付与。
  # cd /opt/firebird/lib
  # chmod guo+x *

再度インストールしたが同様のエラー。
そこで、ちょっと乱暴だが、依存性を無視してインストールしてみる。

  # rpm -ivh --force --nodeps /usr/src/redhat/RPMS/i386/php*.i386.rpm

これで一応インストールだけは出来た。
次にApacheを起動する。
  # cd /etc/init.d
  # ./httpd start
  httpd を起動中:                       [  OK  ]
  #

前にバージョンチェックした test.phpに再度アクセス。無事バージョンが表示される。

次にsample.phpを作成。
内容：
  &lt;?
  $host=&quot;localhost:/opt/firebird/examples/employee.fdb&quot;;
  $user=&quot;SYSDBA&quot;;
  $password=&quot;Password&quot;;
  $command=&quot;SELECT * FROM JOB&quot;;
  $conn = ibase_connect ($host,$user,$password);
  $result = ibase_query ($conn,$command);
  while ($row = ibase_fetch_object ($result)) {
    print &quot;$row-&gt;JOB_CODE, $row-&gt;JOB_COUNTRY, $row-&gt;JOB_TITLE, $row-&gt;MAX_SALARY&lt;br&gt;\n&quot;; 
  }
  ibase_free_result($result);
  ibase_close ($conn);
  ?&gt;
これで無事interbaseオプションが有効になっていれば、sample.phpは動くはず。

ブラウザから、sample.phpにアクセス。
下記の結果が表示される。
  CEO, USA, Chief Executive Officer, 250000.00
  CFO, USA, Chief Financial Officer, 140000.00
  VP, USA, Vice President, 130000.00
  Dir, USA, Director, 120000.00
  Mngr, USA, Manager, 100000.00
  Mngr, USA, Manager, 60000.00
  Admin, USA, Administrative Assistant, 55000.00
  Admin, USA, Administrative Assistant, 40000.00
  Admin, England, Administrative Assistant, 26800.00
  PRel, USA, Public Relations Rep., 65000.00
  Mktg, USA, Marketing Analyst, 80000.00
  Mktg, USA, Marketing Analyst, 50000.00
  Accnt, USA, Accountant, 55000.00
  Finan, USA, Financial Analyst, 85000.00
  Eng, USA, Engineer, 110000.00
  Eng, USA, Engineer, 90000.00
  Eng, Japan, Engineer, 9720000.00
  Eng, USA, Engineer, 65000.00
  Eng, England, Engineer, 43550.00
  Eng, USA, Engineer, 35000.00
  Doc, USA, Technical Writer, 60000.00
  Doc, USA, Technical Writer, 40000.00
  Sales, USA, Sales Co-ordinator, 70000.00
  Sales, England, Sales Co-ordinator, 46900.00
  SRep, USA, Sales Representative, 100000.00
  SRep, England, Sales Representative, 67000.00
  SRep, Canada, Sales Representative, 132000.00
  SRep, Switzerland, Sales Representative, 149000.00
  SRep, Japan, Sales Representative, 10800000.00
  SRep, Italy, Sales Representative, 168000000.00
  SRep, France, Sales Representative, 591000.00

OK!
一部依存関係のところが解決できていないが無事に
PHP5.0.4からFirebird1.5へアクセスできた。

依存関係等無事にクリアした方がいらしたら是非コメントをいただけると助かります。

以上。







#right{
カテゴリ: &amp;#x5b;[[Firebird&gt;プログラミングのお勉強Blog/カテゴリ/Firebird]]&amp;#x5d; - &amp;trackback() - 2005年09月24日 20:05:00
}
- ランキングのお誘い &amp;br()お勉強BLOGЯanK &amp;br()http://obenkyo.1gr.jp/ &amp;br()珈琲ブレイクに気軽に立ち寄れるランキング目指し中?  -- 博士  (2009-09-26 11:45:25)
#comment(nostyle,nsize8,size30)
#blognavi    </description>
    <dc:date>2009-09-26T11:45:25+09:00</dc:date>
    <utime>1253933125</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/brightwide/pages/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/brightwide/pages/2.html</link>
    <description>
      *カテゴリ
[[Fedora Core &gt;プログラミングのお勉強Blog/カテゴリ/Fedora Core]]
[[Firebird&gt;プログラミングのお勉強Blog/カテゴリ/Firebird]]
[[プランニング &gt;プログラミングのお勉強Blog/カテゴリ/プランニング]]

* コメント
[[コメントを頂ける方はこちらへ&gt;BrightWideへのコメント]]

*更新履歴
#recent(10)    </description>
    <dc:date>2005-09-24T03:29:52+09:00</dc:date>
    <utime>1127500192</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/brightwide/pages/23.html">
    <title>プログラミングのお勉強Blog/2005年09月24日</title>
    <link>https://w.atwiki.jp/brightwide/pages/23.html</link>
    <description>
      -[[プログラミングのお勉強Blog/2005年09月24日/PHP 5.0.4 から Firebird 1.5 へのアクセス環境構築]]
#blognavi    </description>
    <dc:date>2005-09-24T03:16:59+09:00</dc:date>
    <utime>1127499419</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/brightwide/pages/5.html">
    <title>プログラミングのお勉強Blog</title>
    <link>https://w.atwiki.jp/brightwide/pages/5.html</link>
    <description>
      ***プログラミングお勉強ブログ

最近かなりプログラミングから離れてしまったので、気合を入れてお勉強してみようと思っています。

どうせやるならすべてオープンソースを使ってお勉強する予定です。あまり時間が取れない中でちょっとずつ前に進んで行きます。
当面はオープンソースで開発環境作るだけになっています。まだまったくプログラミングについてアップしていません。。。
----

#weblog(1)
#counter    </description>
    <dc:date>2005-09-20T01:14:53+09:00</dc:date>
    <utime>1127146493</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/brightwide/pages/21.html">
    <title>BrightWideへのコメント</title>
    <link>https://w.atwiki.jp/brightwide/pages/21.html</link>
    <description>
      * BrightWide へのコメント

このページを書いているBrightWideです。

オープンソースに関することをBlogとして書いています。
ぜひみなさんと情報を共有してよりオープンソースを活用できる環境を作りたいと思っていますので、何かありましたらなんなりとBrightWideまでコメントを下さい。
----
#bbs()    </description>
    <dc:date>2005-09-20T01:12:12+09:00</dc:date>
    <utime>1127146332</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/brightwide/pages/19.html">
    <title>プログラミングのお勉強Blog/2005年09月05日/Firebirdにおける行ロックを考える</title>
    <link>https://w.atwiki.jp/brightwide/pages/19.html</link>
    <description>
      #blognavi

とりあえず、Firebirdは動くようになり、管理ツールも使えるようになった。というところで、気になったのは、行ロックの制御がどれくらいできるのかということだった。

DBで行ロックの制御がちゃんとできないとプログラム側での労力が大きい。
SQL Server でも ORACLEでも変わらないと思っている人も結構いるようだが、やはりDBの機能差は上位アプリを開発する上ではかなり影響する。ORACLEの機能を有効に使うことでだいぶコードは減るものだ。
という点の一つ大きいところがこのロック制御に他ならない。

** Firebirdへの接続
DBに接続。
  SQL&gt; connect &quot;/opt/firebird/examples/employee.fdb&quot;
  CON&gt; user &#039;sysdba&#039; password &#039;welcome&#039;;
  Database:  &quot;/opt/firebird/examples/employee.fdb&quot;, User: sysdba
CUSTOMER表の構成を見る。
  SQL&gt; show table customer;
  CUST_NO                         (CUSTNO) INTEGER Not Null
                                  CHECK (VALUE &gt; 1000)
  CUSTOMER                        VARCHAR(25) Not Null
  CONTACT_FIRST                   (FIRSTNAME) VARCHAR(15) Nullable
  CONTACT_LAST                    (LASTNAME) VARCHAR(20) Nullable
  PHONE_NO                        (PHONENUMBER) VARCHAR(20) Nullable
  ADDRESS_LINE1                   (ADDRESSLINE) VARCHAR(30) Nullable
  ADDRESS_LINE2                   (ADDRESSLINE) VARCHAR(30) Nullable
  CITY                            VARCHAR(25) Nullable
  STATE_PROVINCE                  VARCHAR(15) Nullable
  COUNTRY                         (COUNTRYNAME) VARCHAR(15) Nullable
  POSTAL_CODE                     VARCHAR(12) Nullable
  ON_HOLD                         CHAR(1) Nullable DEFAULT NULL
  CONSTRAINT INTEG_61:
  Foreign key (COUNTRY)    References COUNTRY (COUNTRY)
  CONSTRAINT INTEG_60:
    Primary key (CUST_NO)
  CONSTRAINT INTEG_59:
    CHECK (on_hold IS NULL OR on_hold = &#039;*&#039;)
  
  Triggers on Table CUSTOMER:
  SET_CUST_NO, Sequence: 0, Type: BEFORE INSERT, Active
CUSTOMER表を検索してみる。
  SQL&gt; select cust_no,customer from customer where cust_no=1001;
  
       CUST_NO CUSTOMER
  ============ =========================
  
          1001 Signature Design
  
  SQL&gt;

** ロックを発生させる。
TELNETでA,B2箇所からfirebirdに接続する。

Aで実行。
  SQL&gt; select cust_no,customer from customer where cust_no=1001 for update;
  
       CUST_NO CUSTOMER
  ============ =========================
  
          1001 Signature Design
  
  SQL&gt;

Bで実行。ここでロックを発生させる。
  SQL&gt; select cust_no,customer from customer where cust_no=1001 for update;
  
       CUST_NO CUSTOMER
  ============ =========================
  
          1001 Signature Design
  
  SQL&gt;

と、どちらもSELECTできてしまい、ロックがかからなかった。

次にUPDATE句で実行する。
Aで実行。
  SQL&gt; update customer set contact_last=&#039;TEST&#039; where cust_no=1001;
  SQL&gt;
Bで実行。
  SQL&gt; update customer set contact_last=&#039;TEST&#039; where cust_no=1001;

これでBではロックがかかっている為、WAITになる。

次に、SELECT FOR UPDATE句でのロックを再度確認。
「with lock」をつけることでロックをつけられた。

  SQL&gt; select cust_no,customer from customer where cust_no=1001 for update with lock;
  
       CUST_NO CUSTOMER
  ============ ========================= 
  
          1001 Signature Design
  
  SQL&gt;
これをBでも実行するとロックのためのWAITになる。
またBで1002を検索すると、ロックを取得できる。
  SQL&gt; select cust_no,customer from customer where cust_no=1002 for update with lock;
  
       CUST_NO CUSTOMER
  ============ =========================
  
          1002 Dallas Technologies
  
  SQL&gt;
これでUPDATE及びSELECT FOR UPDATEで行ロックがちゃんとかかる。

*** NO WAITのテスト。
次に、NO WAITのテスト。プログラムの中ではロック解除を待たずにエラーで返してくれる方が良い場合もある。ということで、ロックしているデータの場合は即エラーで返す設定を確認する。

Aで上記と同様でロックをかける。
Bで下記を実行。
  SQL&gt; set transaction no wait;
これでロック時にはWAITをかけずにエラーする。
  SQL&gt; select cust_no,customer from customer where cust_no=1001 for update with lock;
  
       CUST_NO CUSTOMER
  ============ =========================
  Statement failed, SQLCODE = -901
  
  lock conflict on no wait transaction
  -deadlock
  -update conflicts with concurrent update
  SQL&gt;

***デッドロックチェック
次にはデッドロックの場合どのようなエラーを返すか確認する。

Aで下記を実行。
  SQL&gt; set transaction wait;
  SQL&gt; select cust_no,customer from customer where cust_no=1001 for update with lock;
  
       CUST_NO CUSTOMER
  ============ =========================
  
          1001 Signature Design
このとき、Bで下記を実行する。
  SQL&gt; set transaction wait;
  SQL&gt; select cust_no,customer from customer where cust_no=1002 for update with lock;
  
       CUST_NO CUSTOMER
  ============ =========================
  
          1002 Dallas Technologies

これでAがCUST_NO=1001、BがCUST_NO=1002をそれぞれロックしている。
このときに、Bで下記を実行。

  SQL&gt; select cust_no,customer from customer where cust_no=1001 for update with lock;

これでBはロック待ち状態に入る。

Aでデッドロックを発生させる。
  SQL&gt; select cust_no,customer from customer where cust_no=1002 for update with lock;

これでデッドロック完成。すると1,2秒後に下記のエラーが発生。
       CUST_NO CUSTOMER
  ============ =========================
  Statement failed, SQLCODE = -913
  
  deadlock
  -deadlock
  -update conflicts with concurrent update

上記でロック系の確認を一通りした。
フリーのDBということでロックについてはあまり期待していなかったが結構実用に耐えうるものと思えた。



#right{
カテゴリ: &amp;#x5b;[[Firebird&gt;プログラミングのお勉強Blog/カテゴリ/Firebird]]&amp;#x5d; - &amp;trackback() - 2005年09月05日 00:25:25
}
#comment(nostyle,nsize8,size30)
#blognavi    </description>
    <dc:date>2005-09-05T00:59:46+09:00</dc:date>
    <utime>1125849586</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/brightwide/pages/20.html">
    <title>プログラミングのお勉強Blog/2005年09月05日</title>
    <link>https://w.atwiki.jp/brightwide/pages/20.html</link>
    <description>
      -[[プログラミングのお勉強Blog/2005年09月05日/Firebirdにおける行ロックを考える]]
#blognavi    </description>
    <dc:date>2005-09-05T00:58:02+09:00</dc:date>
    <utime>1125849482</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/brightwide/pages/18.html">
    <title>プログラミングのお勉強Blog/2005年09月03日</title>
    <link>https://w.atwiki.jp/brightwide/pages/18.html</link>
    <description>
      -[[プログラミングのお勉強Blog/2005年09月03日/IBOConsole をインストール]]
#blognavi    </description>
    <dc:date>2005-09-05T00:24:00+09:00</dc:date>
    <utime>1125847440</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/brightwide/pages/17.html">
    <title>プログラミングのお勉強Blog/2005年09月03日/IBOConsole をインストール</title>
    <link>https://w.atwiki.jp/brightwide/pages/17.html</link>
    <description>
      #blognavi

GUIの管理ツールであるIBOConsoleをインストールしてみた。

http://xdip.com/sylph/index.php?sylph_xsite=222 から、
IBOConsoleをダウンロード。
解凍して「IBOConsole.exe」を実行。

すると画面が上がってきたので、
ツールバー→サーバー→サーバーの登録 でサーバーを登録。
&amp;ref(http://www5.atwiki.jp/brightwide/?cmd=upload&amp;act=open&amp;pageid=15&amp;file=RegisterServer.png)

すると、下記のエラーが発生。
&amp;ref(http://www5.atwiki.jp/brightwide/?cmd=upload&amp;act=open&amp;pageid=15&amp;file=error.png)  

gds32.dll がないというエラー。確かにクライアントには無い。
ということで、とりあえず、Windows版Firebirdをダウンロードしてみることにした。

http://www.firebirdsql.org/index.php?op=files  から、Firebird-1.5.2.4731_win32.zip をダウンロード。

解凍すると、binフォルダに「fbclient.dll」があるので、それを「gds32.dll」に別名コピー。
そしてこのgds32.dllをc:\winnt にコピー。
(C:\winnt にPATHが通っている必要あり。もしくは任意の場所におき、PATHをそこに通してあげればOK。)

これで再度IBOConsoleを実行。
再度サーバー登録
これで無事登録され、下記のようなコンソールが表示された。
&amp;ref(http://www5.atwiki.jp/brightwide/?cmd=upload&amp;act=open&amp;pageid=15&amp;file=Console.png)

サーバーに接続できたら、次はデータベースに接続しないといけない。
下記のとおりデータベース情報を登録。
&amp;ref(http://www5.atwiki.jp/brightwide/?cmd=upload&amp;act=open&amp;pageid=15&amp;file=RegisterServer2.png)
OK。
これで下記のようなコンソールが表示される。
&amp;ref(http://www5.atwiki.jp/brightwide/?cmd=upload&amp;act=open&amp;pageid=15&amp;file=Console2.png)

ORACLEで使える ObjectBrowserライクなことは結構できるようだ。

データ表示画面：
&amp;ref(http://www5.atwiki.jp/brightwide/?cmd=upload&amp;act=open&amp;pageid=15&amp;file=datasample.png)

SQL実行画面：
&amp;ref(http://www5.atwiki.jp/brightwide/?cmd=upload&amp;act=open&amp;pageid=15&amp;file=SQL.png)

以上。

#right{
カテゴリ: &amp;#x5b;[[Firebird&gt;プログラミングのお勉強Blog/カテゴリ/Firebird]]&amp;#x5d; - &amp;trackback() - 2005年09月03日 16:57:05
}
#comment(nostyle,nsize8,size30)
#blognavi    </description>
    <dc:date>2005-09-05T00:24:00+09:00</dc:date>
    <utime>1125847440</utime>
  </item>
  </rdf:RDF>
