如何在控制台应用程序中使用Firedac?

时间:2017-05-26 22:33:06

标签: delphi

我创建了一个非常简单的控制台应用程序并尝试使用Firedac访问Firebird数据库。我正在尝试使用私有定义设置实现连接池,如下所述:http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Multithreading_(FireDAC)。我还确保在我的路径中包含FBclient.dll

接下来给出初始化连接的代码:

$subject = Subject::find($id);
    $subject -> name            = $request -> name;
    $subject -> description     = $request -> description;
    $subject -> max_students    = $request -> max_students;
    $subject -> save();

    $subject -> doctors() -> sync($request -> doctors);

当此代码执行FDManager.AddConnectionDef()时,我收到一个异常'类xxx的对象工厂缺失' (见附后的截图):

enter image description here

这是一个控制台应用,所以我没有Form或visual元素。不知道该怎么办?

1 个答案:

答案 0 :(得分:3)

好的想通了。我只在我的uses子句中添加了FiredAC.Comp.Client。似乎Firedac需要一大堆单位。更新了我的使用条款如下:

FireDAC.Comp.Client,
  FireDAC.Stan.Intf, FireDAC.Stan.Option,
  FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf, FireDAC.Stan.Def,
  FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys, FireDAC.Phys.FB,
  FireDAC.Phys.FBDef, FireDAC.VCLUI.Wait, Data.DB;