FireDac持久连接未更新

时间:2017-08-01 14:27:05

标签: delphi firedac

我的应用程序需要定义持久连接定义,但有时需要更改连接的数据库。

所以我用这段代码创建了一个定义:

OraCon: TFDConnection;
oDef: IFDStanConnectionDef;

....

OraCon.Connected := False;
oDef := FDManager.ConnectionDefs.FindConnectionDef('MyConn');
if (oDef <> nil) then
begin
  FDManager.DeleteConnectionDef('MyConn');
end;

oDef := FDManager.ConnectionDefs.AddConnectionDef;
oDef.Params.Clear;
oDef.Name := 'MyConn';
oDef.Params.Add('DriverId=Ora');
oDef.Params.Add('Database=' + edDB.Text);
oDef.Params.Add('User_name=' + edUser.Text);
oDef.Params.Add('Password=' + edPasswd.Text);

oDef.MarkPersistent;
oDef.Apply;
OraCon.ConnectionDefName := 'MyConn';
OraCon.Connected := True;

它运行良好并正确更新FireDac定义文件。 问题是我的FDConnection组件保持连接到旧数据库,而不是新数据库。

我需要做些什么来“刷新”这个?

1 个答案:

答案 0 :(得分:0)

我意识到我只需要一个对TFDConnection对象的引用。 我在单独的classe中定义它现在可以工作。