Как я могу настроить firedac на относительный путь к базе данных firebird в DesignTime

Как я могу настроить firedac на относительный путь к базе данных firebird в DesignTime

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')

Это полезно, если вы используете управление подрывной деятельностью, не нужно настраивать путь к DesignTime.


person Paulo Alexandre Chaves Pinto    schedule 12.12.2014    source источник


Ответы (1)


Я не уверен, что это возможно. Даже если бы это было так, это не похоже на надежное решение. FireDAC должен иметь какую-то явную опцию для определения рабочего каталога для его части времени разработки. В противном случае он будет привязан к рабочему каталогу IDE.

Вместо этого я бы создал connection definition, который будет храниться на компьютере каждого участника. и используйте это определение для компонента подключения. Это будет работать, даже если вы будете управлять версиями этой БД, потому что каждый может указать путь к своей папке Subversion для этой базы данных индивидуально.

За исключением того, что это дает преимущество отделения от этой версионной базы данных (если кто-то решит использовать свою собственную базу данных, хранящуюся где-то еще, он просто изменит свой файл определения соединения). Это как обычный псевдоним базы данных, только более сложный.

person TLama    schedule 12.12.2014
comment
Другой (вероятно, худший) вариант — использование переменной среды Windows. FireDac может использовать их во время разработки для соединения. - person Günther the Beautiful; 12.12.2014