2

firebird db と Delphi XE2 を使用して、クライアント/サーバー アプリケーションを開発しました。問題は、クライアントの TSQLConnection コンポーネントが自動的に HostName プロパティを localhost に設定することです。クライアントが初めて起動したときに HostName を設定するオプションをユーザーに提供するコードをどのように記述できるかを知りたいです。

TSQLConnection コンポーネントをクライアントのデータ モジュールに配置しました。

メイン フォームに、ユーザーが TextBox に入力した値を割り当てる次のコードを使用して、ユーザーが HostName プロパティを設定するオプションを配置しました。

Database.SQLServer.Params.Add('HostName='+edtHostName.Text);

しかし、プログラムが起動すると、TSQLConnection コンポーネントがホスト名を localhost に設定し、ユーザーのホスト名に設定できないようです。誰でも私を助けてくれませんか

4

2 に答える 2

6

ホスト名はdbexpressfirebird接続の有効なプロパティではありません。代わりに、DataBaseプロパティを使用して、これらの形式のいずれかを使用してホストを指定する必要があります。

1)ポート、ホスト、データベースを指定する

  server_host/port:/path/to/database.fdb

2)ホストとデータベースを指定する

  server_host:/path/to/database.fdb

3)データベースのみを指定する

/path/to/database.fdb

したがって、DbExpressを使用すると、これは次のようになります。

  SQLConnection1.Params.Values['Database']:='192.168.1.125/3050:C:\Program Files (x86)\Firebird\Firebird_2_0\examples\empbuild\EMPLOYEE.FDB';
于 2012-07-03T17:41:06.483 に答える
0

embarcadero Wikiが役立つ場合があることを確認してください

接続パラメーターの指定

Params プロパティは、名前と値のペアをリストする文字列リストです。各ペアの形式は Name=Value です。ここで、Name はパラメーターの名前で、Value は割り当てる値です。必要な特定のパラメーターは、使用しているデータベース サーバーによって異なります。ただし、すべてのサーバーに 1 つの特定のパラメーター Database が必要です。その値は、使用しているサーバーによって異なります。たとえば、InterBase では Database は .gdb ファイルの名前であり、ORACLE では TNSNames.ora のエントリですが、DB2 ではクライアント側のノード名です。その他の一般的なパラメーターには、User_Name (ログイン時に使用する名前)、Password (User_Name のパスワード)、HostName (サーバーが配置されているマシン名または IP アドレス)、TransIsolation (導入したトランザクションが、他のトランザクションによって行われた変更を認識している度合い)。ドライバー名を指定すると、そのドライバーの種類に必要なすべてのパラメーターが Params プロパティに事前に読み込まれ、既定値に初期化されます。アプリケーションの必要に応じて、他の接続パラメーターを Params 文字列リストに追加することもできます。たとえば、MSSQL ドライバーを使用して SQL 接続に複数のアクティブな結果セット (MARS) のサポートを提供するには、Mars_Connection というキーを追加し、その値を True に設定する必要があります。Params は文字列リストであるため、設計時にオブジェクト インスペクタで Params プロパティをダブルクリックし、文字列リスト エディタを使用してパラメータを編集できます。実行時に、Params.Values プロパティを使用して個々のパラメーターに値を割り当てます。

于 2012-07-03T17:37:36.050 に答える