2

DesignTimeでデータベースfirebirdへの相対パスにfiredacを設定する方法

object Conn: TFDConnection
Params.Strings = (

    'Database=..\..\Win32\' +
    'bin\DADOS.FDB'
  'Protocol=TCPIP'
  'Server=127.0.0.1'
  'User_Name=sysdba'
  'Password=masterkey'
  'CharacterSet=win1252'
  'ExtendedMetadata=True'
  'DriverID=FB')
ResourceOptions.AssignedValues = [rvAutoConnect, rvAutoReconnect]
ResourceOptions.AutoConnect = False
ResourceOptions.AutoReconnect = True
ConnectedStoredUsage = [auDesignTime]
LoginPrompt = False
Left = 56
Top = 24
end

object FDPhysFBDriverLink1: TFDPhysFBDriverLink
  DriverID = 'FB'
  VendorLib = '..\$(Platform)\bin\fbclient.dll'
  Left = 136
  Top = 24
end

DriverLink Works、Firedac 接続番号。

これだけで動作します

object Conn: TFDConnection
Params.Strings = (

    'Database=D:\Users\Paulo\Documents\Projetos\ProjectName\Win' +
    '32\bin\DADOS.FDB'
  'Protocol=TCPIP'
  'Server=127.0.0.1'
  'User_Name=sysdba'
  'Password=masterkey'
  'CharacterSet=win1252'
  'ExtendedMetadata=True'
  'DriverID=FB')

Subversion コントロールを使用する場合のこのユーティリティは、DesignTime へのパスを構成しないでください。

4

1 に答える 1

3

それが可能かどうかはわかりません。あったとしても、信頼できるソリューションとは思えません。FireDAC には、設計時部分の作業ディレクトリを定義するための明示的なオプションが必要です。それ以外の場合は、IDE の作業ディレクトリに関連付けられます。

代わりにconnection definition、各メンバーのコンピューターに保存される を作成し、この定義を接続コンポーネントに使用します。これは、誰もがそのデータベースへのサブバージョン フォルダーへのパスを個別に設定できるため、その DB をバージョン管理する場合でも機能します。

ただし、このバージョン管理されたデータベースから分離する利点があります (誰かが別の場所に保存されている独自のデータベースを使用することを決定した場合、接続定義ファイルを変更するだけです)。これは通常のデータベース エイリアスに似ていますが、より複雑です。

于 2014-12-12T13:10:41.460 に答える