2010-12-04 16 views
1

Windows 7を実行している新しいコンピュータでFirebirdをインストールしています(v1.5.5 - 古いですが動作します)。サービスとして従来のバージョンをインストールしました。 Firebirdサイトの文書によると、IPCNameがglobal \ FirebirdIPIになるようにfirebird.confファイルを変更しました。サービスが実行されていない間に私はこれをしました。Firebirdを実行できません

私のすべての努力にもかかわらず、私はISQLを介してこの新しいコンピュータにコピーしたデータベースにアクセスできませんでした。 FWIW、EMS SQL 2005マネージャプログラムはデータベースへのアクセスに成功していますが、このプログラムにはfbclient.dllを必要としない直接的な方法があるようです。

他に何を確認する必要がありますか?


更新日から数日後に更新されます。 Windows 7で大量の時間を浪費した後、コンピュータをダウングレードしてXPを実行することにしました。 FB 1.5.5のスーパーバージョンをインストールした後、自分のプログラムを実行し、に保存されているデータベースにアクセスできます。ネットワーク上に接続された他のコンピュータからデータベースにアクセスしようとすると、さまざまなエラーメッセージが表示されませんでしたが、通常は '!firebird!\ db \ q400.fdbファイルの入出力エラー'のようなものです。

ネットワーク上の人々が引き続きデータベースにアクセスできるように、私はNTサーバを復活させ、Firebirdサービスを開始しました。すべてのプログラムはこれらのデータベースにリモートコンピュータから正常にアクセスできます!問題を単純化するために

、ネットワーク上の3台のコンピュータがあります。

  1. NTサーバー(「zorcomp」)、Firebirdのサービスを実行しています。 fdbファイルはこのコンピュータ上の 'db'というディレクトリにあり、 'firebird'という共有ディレクトリの下にあります。
  2. 'kivserver'と呼ばれる、 'firebird'という共有ディレクトリがあり、その下にXPを実行しているコンピュータ「プログラム」と呼ばれるディレクトリ。すべてのfdbファイルのコピーは、 'db'というディレクトリにあります。
  3. \ zorcomp \ firebirdをディスクL:にマップし、\ kivserver \ firebirdをディスクTにマッピングするコンピュータ。このコンピュータから、T:\ programsにあるプログラムを実行して、ファイルに正常にアクセスできるようにしますL:\ dbに座っています。 zorcompでFBサービスを停止してkivserverで同じサービスを開始すると、同じプログラムはT:\ dbにあるファイルにアクセスできません。

これは十分明確です。私の人生では、\ kivserver \ firebirdに存在するすべてのファイルと\ zorcomp \ firebirdにあるファイルとの間に違いは見られませんが、どういうわけか違いがあります。

明らかに、私はこの取り決めを続行しないことを望んでいます.NTサーバーは敬意をもって廃止されなければなりません。

さらに編集します。私は今、 'kivserver'(NT)でfirebirdサーバーを稼働させています。私はデータベースファイルをローカルにアクセスできます。

Win7を実行しているコンピュータは、接続文字列\\ kivserver \ firebird \ db \ database.fdbを使用してこれらのデータベースファイルにアクセスできるようになりました。

IIRC wisqlは\\ kivserver \ firebird \ db \ database.dbで成功しましたが、XPを実行しているコンピュータはこれらのデータベースファイルにアクセスできません。

NTサーバがネットワークから切断されました。 TIA、 いいえ

+0

私の答えにもかかわらず、私はWindows 7でFirebird 2.1を使用していると言いたいと思います。それを動作させるために何かを触れたことはありません...あなたはまだFirebird 1.5を使いたいですか? Firebird 1.5で直接Firebird 2(ODS)を開くことはできますが、テストする人はいません。 – jachguate

+0

私が本当に欲しいのは、自分のプログラム(Delphiで書かれている)がデータベースにアクセスできることです。彼らはFirebird 1.5で動作するコンポーネントを使用します。 –

+0

@jachguate、これはうまくいくかもしれませんが、可能性のある破損を避けるため、より高いFirebirdバージョンの下位ODSファイルを開かない方が好きです。あなたができる最良の方法は1.5バージョンのgbakユーティリティを使用してデータベースをバックアップし、gbak 2.0で復元して2.0データベースファイルを取得することです。 –

答えて

0

数ヶ月後、NTサーバーは、誰かが偶然に突然起動した後に再起動すると「MBRエラー」と表示されて、やや突然停止しました。だから私は選択肢がなく、「kivserver」でFirebirdサーバプログラムを起動することになった。接続の問題が返されました。

結局、私は次の接続文字列10.0.0.202がIPである

10.0.0.202:e:\firebird\db\manager.fdb

で問題を解決することができましたサーバーのアドレス、およびe:\ firebird \ dbは、サーバー自体に関連して、データベースが置かれているディレクトリです。

私は、他の誰かがこの情報を参考にしてくれたらと願っています。

0

AFAIK EMS SQLは、fbclient.dll(またはそれを囲むラッパー)を使用します。

データベースにアクセスするだけであれば、ローカルプロトコルの代わりにTCPプロトコルを使用することをお勧めします。あなたがTCPまたはマシンを回避している場合を除き有効にローカルインタフェースを持っていない、それはあなたのための作業を行います

c:\>isql localhost:c:\path\to\db.fdb -u sysdba -p masterkey 

:それを行うには、次のように接続します。

0

データベースに接続するためにこれを使用してみてください:

ホスト名:ドライブ:\完全なパス\ filename.fdb

またはホスト名\ドライブ\

\完全なパス\ filename.fdb

使用しているコンポーネントが分かりますか?

+0

私はこれを昨日無事に試しました。文字列 't:\ db \ q400を使用する場合。fdb '(ファイルの場所は、ローカルコンピュータの' t 'としてマップされたネットワークディスクのディレクトリ' db 'にあります)、エラーメッセージは' i/o error for file '\!firebird!\ db \ q400.fdb' 。 '\ kivserver \ firebird \ db \ q400.fdb'という文字列(\ hostname \ drive \ completeパス\ filename.fdb)を使用すると、結果は「不明なデータベース」でした。私は自分自身のプログラム(dbExpressコンポーネントを使用している)と 'mywisql'というプログラムを試していますが、これはおそらく同じです。 –

+2

@ No'am Newman:Firebirdデータベースファイルはサーバーに対してローカルでなければなりません。それはドキュメントにあります、私はちょうどそれにハンドルを持っていません。 – jachguate

0

あなたのクライアントは、Windows 7であれば、あなたは\\ホスト名を使用しようとする可能性があり、\共有名\ filename.fdb代わりのドライブ:\ filename.fdb接続文字列。

関連する問題