2

開発環境で IB XE7 のデスクトップ バージョンを使用したかったのですが、接続できません。

元のアプリは IB のフル サーバー バージョンを使用していましたが、低コストのシングル PC タイプのアプリケーションでアプリを実行したいと考え、IB デスクトップ バージョンを選択しました。

Rad Studio 10.1 Berlin は、W7 64 ビット仮想マシンで実行されています。FireDac はデータベース接続コンポーネントです。IB XE7 デスクトップは、開発用 PC 上のデータベース サーバーです。

アプリケーションのターゲットは、その VM 上に別の IB XE7 デスクトップがある W7 32 ビットの VM です。

32 ビット アプリをビルドでき、FireDac 接続コンポーネント プロトコル フィールドを TCP/IP ではなく「ローカル」に変更した後、ターゲット PC (VM で W7 32 ビットを実行) 上の IB XE7 デスクトップに接続します。スタックオーバーフロー。

うまくいかないのは、開発環境でのデータベース接続です。

最初に IB の 64 ビット バージョンをインストールしてから削除し、32 ビット バージョンを試してみましたが、同じ結果でした。

オンラインでいくつかの接続の問題を読んだ後、サーバー名フィールドに「gds_db」と「localhost/gds_db」を入れてみましたが、エラーは変わりましたが、それでも機能しませんでした。


エラー - サーバー名に何も含まれていません


[FireDAC][Phys][IB]データベースを利用できません。



サーバー名に「gds_db」を入れた後のエラー


[FireDAC][Phys][IB] ホスト "gds_db" へのネットワーク リクエストを完了できません。

ホスト マシンが見つかりませんでした。

指定された名前は、hosts ファイルまたはドメイン ネーム サービスで見つかりませんでした。


最初に 64 ビット IB のインストールを試み、次に見つかったすべての gsd ファイルとレジストリ エントリを削除し、32 ビット バージョンをインストールしました。問題は解決しませんでした。

注: Database Workbench 5 は、同じ VM 上のデータベースに正常に接続します。

どんなアイデアでも大歓迎です。

ありがとう。

ジェームズ F.

4

1 に答える 1

2

Delphi XE8 + Seattle を IB XE7 で動作させるのはかなりのパフォーマンスだったことを覚えています。特に、IDE 内から接続しようとすると、「データベースが利用できません」というエラーが発生し続けました。注: 以下は、完全な IB XE7 パッケージのローカル インスタンスで Delphi を動作させるために必要であることがわかったものです。Developer エディションと Desktop エディションの要件は、ドキュメントで説明されている方法でおそらく異なります。

チェックする項目のいくつかは次のとおりです。

  1. サーバーが実行されている Windows サービス アプリをチェックインします。

    私のサーバーは次のように表示されます

    Interbase XE7 サーバー gds_db

ご覧のとおり、サービス アプリはサーバーの名前を通知するはずです。

  1. TPC/IP 経由で接続する場合は、\windows\system32\drivers\etc\service ファイルに次のようなエントリがあることを確認してください

    gds_db 3050/tcp # InterBase サーバー

    ハッシュ署名 developer_ibxe7 3054/tcp # InterBase サーバー

developer_ibxe7 を含む行は # で始まる必要がありますが、SO は何らかの理由でそれを表示しません。とにかく、その行は、ある時点でインストールした開発者版を参照しているため、コメントアウトされています。

  1. OS 環境にこのようなエントリが含まれていることを確認します

    INTERBASE=d:\ibxe7

そうでない場合は、追加してマシンを再起動します。

私の場合、d:\ibxe7 は IB XE7 がインストールされている最上位フォルダーです。

これらを設定/確認したら、IDE で新しい Delphi プロジェクトを開始し、それに IBConnection を追加しDatabaseNameて、ローカル IB データベースに設定します。私にとって、指定

LocalHost:D:\Delphi\Interbase\Databases\MA.GDB

正常に動作します。次に、Connected プロパティを True に設定できるかどうかを確認します。できない場合は、コメントを残してください。他に覚えていることを確認します。

于 2016-09-06T19:12:00.540 に答える