Tôi đã có Delphi XE Professional. Nó đi kèm với một số tiền hợp lý của các công cụ DBX, bao gồm các đơn vị DBXPool
có chứa sự hỗ trợ tổng hợp kết nối, nhưng nó không có hỗ trợ đầy đủ DBX có trong XE Enterprise. Đặc biệt, rất nhiều hỗ trợ thiết kế thời gian không có ở đó.Làm cách nào để thiết lập tính năng nhóm kết nối DBX trong mã?
Tôi không đặc biệt quan tâm đến điều đó. Tôi đã có thể làm tất cả những thứ tôi cần mà không có nó, cho đến khi tôi cần kết nối tổng hợp. Bây giờ tôi đang cố gắng để có được điều đó để làm việc và tôi có thể không hoàn toàn tìm ra cách để làm cho nó hoạt động. Tôi có thể thêm DBXPool
vào chương trình của mình và xác minh rằng nó khởi tạo, nhưng khi tôi bắt đầu thực hiện yêu cầu cơ sở dữ liệu, TDBXPoolConnection.Create
không bao giờ được gọi.
Đây là mã thiết lập của tôi cho kết nối, trong trình xử lý sự kiện BeforeConnect. Bất cứ ai biết những gì tôi đang làm sai và làm thế nào để có được nó phải không?
procedure TMyDataModule.connectionBeforeConnect(Sender: TObject);
begin
connection.DriverName := 'Firebird';
connection.Params.Values['User_Name'] := FUserName;
connection.Params.Values['Password'] := FPassword;
connection.Params.Values['Database'] := FDatabasePath;
connection.Params.Values['ServerCharSet'] := 'UTF8';
connection.Params.values['DelegateName'] := 'DBXPool';
connection.Params.values['DelegateConnection.MaxConnections'] := '32';
end;
EDIT: Trong trường hợp bất cứ ai đi qua này trong tương lai và có cùng một vấn đề, đây là cách tôi đã phải thiết lập nó để làm cho nó hoạt động đúng. Thay vì hai dòng cuối cùng ở trên,
connection.Params.values['DelegateConnection'] := 'DBXPoolConnection';
connection.Params.values['DBXPoolConnection.DriverName'] := 'DBXPool';
connection.Params.values['DBXPoolConnection.MaxConnections'] := '32';
Nhờ Sertac đã đưa tôi vào đúng khóa học!
Có thể là trong khi các đơn vị tàu với XE pro, nó không phải là chức năng (vì các thư viện DBX/dlls không kích hoạt tính năng này trong SKU này?) –
Tôi chưa bao giờ thực hiện chống tương tự nhưng từ những gì tôi 'v đọc Tôi nhớ lại một tham số "DelegateConnection". [Ở đây] (http://docwiki.embarcadero.com/RADStudio/en/Connection_Pooling_%28Delegate_Drivers_tutorial%29) nó nói nó phải được gán 'DBXPoolConnection'. –
@Sertac: Aha! Đó là những gì tôi đã mất tích. Tôi đã đọc điều đó, nhưng tôi không hoàn toàn chắc chắn những phần nào được áp dụng ở đâu. Tôi đã có nó làm việc ngay bây giờ. Cảm ơn! Nếu bạn đăng câu trả lời đó, tôi sẽ chấp nhận nó. –