2017-05-26 227 views
2

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

用于初始化连接的代码给未来:

oParams := TStringList.Create; 
oParams.Add('localhost:C:\fb\ADDEMO_FB21.FDB'); 
oParams.Add('User_Name=sysdba'); 
oParams.Add('Password=masterkey'); 
oParams.Add('Pooled=True'); 
FDManager.AddConnectionDef('Firebird Pooled','FB',oParams); 

// necessary for enabling multithreaded access 

FDManager.Active := True; 

当这个代码执行FDManager.AddConnectionDef(),我得到一个异常“类XXX对象工厂缺少”(见附件截图):

enter image description here

这是一个控制台应用程序,所以我没有任何形式或视觉元素。不知道如何继续?

回答

3

好吧,算了一下。我只是在我的使用条款中添加了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; 
+3

在控制台应用程序使用FireDAC.ConsoleUI.Wait FireDAC.VCLUI.Wait代替 – Branko

相关问题