Вопрос

Подскажите plz

У меня был сервер в datasnap 3-звенке, подключенный к Firebird через fibplus

Для того, чтобы не создавать подключения к БД на каждое обращение к серверу, (а сервер ведь многопоточный) я держал пул открытых коннектов к БД и по запросу выдавал один коннект для исполнения запроса, после чего возвращал коннект в список свободных

Теперь у fdconnection есть свойство pool

Значит ли это, что теперь я могу вообще не заморачиваться сам и открывать коннект на каждый запрос, а FireDAC спрячет от меня кэширование коннектов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 ответ на этот вопрос

  • 0

Согласно docwiki:  To use the connection pooling in FireDAC, just add Pooled=True to you connection definition. No other special actions are needed. Read Multithreading for details.

И еще там сказано, что в этом случае при установке  TFDConnection.Connected  в True, FireDAC  сам выберет свободное соединение из пула и будет использовать его. Это особенно полезно, когда разные threads выполняют запросы одновременно  http://docwiki.embarcadero.com/RADStudio/Seattle/en/Multithreading_(FireDAC).  Учитывайте также ограничения на использование FDManager

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Похожие публикации

    • Автор: Bio HaZaRD
      Всем привет!
      Пишу проект на основе FireDac (TFDConnection, TFDQuery) + SQLite. На ПК с IDE программа запускается, а на других - нет. На ПК, без IDE, стоят все обновы.
      Помогите разобраться, где проблема или посоветуйте другой компонент, который поддерживает SQLite. Заранее спасибо!
       
      Примечания к файлу:
      Windows-Problemberichtserfassung = Windows Problem Reporting

    • Автор: GoldenEalge
      Всем привет только начинаю работать с sqlite и возникло пару вопросов.Добавляю на форму пару компонентов

      Устанавливаю связь с бд которая лежит в папке 

      при запуске все хорошо 

      но при попытки редактировать , выдает 

      база открыта только в софте , больше не где ,в чем может быть проблема?
       
    • Автор: uuxyyz
      Коллеги, добрый день. Отписался сегодня по выходу XE8, но решили таки продолжить мытарства. Вопрос, кто нибудь может подсказать, как собрать 64 битное IOS приложение? Сегодня установили XE8, линковщик требует libsqlite3.a и все. 
    • Автор: kvantum
      Здравcтвуйте !
      После записи в таблицу иероглифов, например "日本人", в ней отображаются вопросы "???".
      Какие настройки необходимо произвести с компонентами FireDAC для корректной записи/отображения иероглифов? 
      Пример: Ieroglifs.zip
    • Автор: Pulsarius
      Привет всем! Скажите, кто-нибудь сталкивался с проблемой компиляции проекта с использованием FireDAC в C++ Builder (RAD Studio 10 Seattle) под Windows 64-bit? В проекте есть такие компоненты, как TFDConnection, TFDQuery, TFDTable. TFDConnection настроен на работу с SQLite. При компиляции в режиме Release, естественно с отключенными Dynamic RTL и Link with runtime packages, под Windows 32-bit всё в порядке, а вот под Windows 64-bit происходит ошибка, как я понял, линковщика:
      [ilink64 Warning] Warning: Out of memory [ilink64 Error] "ilink32" exited with code 2. Мне так кажется, что нет статических библиотек FireDAC для Windows 64-bit, и тем самым не удастся собрать проект со статической линковкой нужных либ, а только придётся таскать нужные библиотеки за exe-шником. Я правильно понимаю?
    • Автор: DarkFlash
      Всем доброго дня.
       
      Разрабатываю приложение и подключаюсь к БД через FireDAC. Все настройки подключений хранятся в файле конфигурации FDConnectionDefs.ini.
      Возникла необходимость прописать Логин/Пароль пользователя БД непосредственно в конфигурации, и соответственно они пишутся в FDConnectionDefs.ini без какого-либо шифрования.
       
      А теперь вопрос, есть ли возможность настроить как либо FireDAC, чтобы данный файл был в каком-либо зашифрованном виде или хотя-бы пара логин/пароль шифровалась?
    • Автор: Devart
      Следующие компоненты полностью совместимы с FireMonkey и позволяют создавать приложения для мобильных платформ Android и iOS.
       
      IBDAC - FireMonkey компонент для работы с базами данных Firebird и Interbase. Поддерживает Windows, Linux, Mac OS X, Android, iOS, FreeBSD.   
       
      PGDAC - FireMonkey компонент для работы с базами данных PostgreSQL. Поддерживает Windows, Linux, Mac OS X, Android, iOS, FreeBSD.   
       
      ODAC - FireMonkey компонент для работы с базами данных Oracle. Поддерживает Windows, Linux, Mac OS X, Android, iOS, FreeBSD.
       
      MyDAC - FireMonkey компонент для работы с базами данных MySQL. Поддерживает Windows, Linux, Mac OS X, Android, iOS, FreeBSD.
       
      LiteDAC - FireMonkey компонент для работы с базами данных SQLite. Поддерживает Windows, Linux, Mac OS X, Android, iOS, FreeBSD.
       
      SDAC - FireMonkey компонент для работы с базами данных SQL Server. Поддерживает Windows, Linux, Mac OS X, Android, iOS, FreeBSD.
       
      UniDAC - FireMonkey компонент для работы с базами данных SQL Server, Oracle, MySQL, PostgreSQL, SQLite, Firebird. Поддерживает Windows, Linux, Mac OS X, Android, iOS, FreeBSD.
    • Автор: 0xdeadc0de
      Наблюдаю жесточайшие тормоза при переборе SQLite-таблицы на 100 000 записей.    Алгоритм перебора: procedure TForm1.btn_ShowAllRecordsClick(Sender: TObject); var   FieldID, FieldName: TField;   I: Integer;   TableItem: TADTable; begin   TableItem := TADTable.Create(nil);   try     TableItem.Connection := ADConnection1;     TableItem.Open('item');     FieldID := TableItem.FieldByName('id');     FieldName := TableItem.FieldByName('name');     TableItem.First;     I := 1;     ListBox1.BeginUpdate;     try       TableItem.DisableControls;       try         while not TableItem.Eof do         begin           if I mod 250 = 0 then             Caption := Format('%d of %d', [I, TableItem.RecordCount]);           ListBox1.Items.Add(Format('id: %d; name: %s', [FieldId.AsInteger, FieldName.AsString]));           TableItem.Next;           Inc(I);         end;       finally         TableItem.EnableControls;       end;     finally       ListBox1.EndUpdate;     end;   finally     TableItem.Free;   end; end; Первые 7 000 записей перебираются мгновенно. После перебор резко замедляется и дальше выполняется еле-еле. 100 000 записей перебирает около 30 минут. В чем может быть проблема?
  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу