Найдено 30 результатов
- Пт 17 мар 2017 18:36
- Форум: Universal Data Access Components
- Тема: PG и сообщения об ошибках
- Ответы: 2
- Просмотры: 5326
Re: PG и сообщения об ошибках
Спасибо большое.
- Ср 15 мар 2017 19:12
- Форум: Universal Data Access Components
- Тема: PG и сообщения об ошибках
- Ответы: 2
- Просмотры: 5326
PG и сообщения об ошибках
Добрый вечер.
Подскажите пожалуйста, как в UniDAC получить DETAIL информацию об ошибке?
Как пример:
Спасибо.
Подскажите пожалуйста, как в UniDAC получить DETAIL информацию об ошибке?
Как пример:
Спасибо.
- Вс 28 фев 2016 20:33
- Форум: Universal Data Access Components
- Тема: UniDac. FB3. DatabaseInfo.
- Ответы: 1
- Просмотры: 3453
UniDac. FB3. DatabaseInfo.
Доброго времени суток.
Подскажите пожалуйста, как в UniDac получить статистику соединения (DatabaseInfo)?
В IBDac это делал с помощью IBCConnection.DatabaseInfo...
Спасибо.
Подскажите пожалуйста, как в UniDac получить статистику соединения (DatabaseInfo)?
В IBDac это делал с помощью IBCConnection.DatabaseInfo...
Спасибо.
- Пн 01 фев 2016 15:02
- Форум: Universal Data Access Components
- Тема: UniDac 6.2.9. PG 9.5. Знак % в запросе
- Ответы: 3
- Просмотры: 5126
Re: UniDac 6.2.9. PG 9.5. Знак % в запросе
Добрый день.
Прошу прощения. Все отлично работает.
По ошибке я подключился и пытался с помощью UniDac выполнить запрос к БД, которая расположена на другом тест-сервере. Там отсутствовало расширение для триграммного поиска - pg_trgm.
Прошу прощения. Все отлично работает.
По ошибке я подключился и пытался с помощью UniDac выполнить запрос к БД, которая расположена на другом тест-сервере. Там отсутствовало расширение для триграммного поиска - pg_trgm.
- Пт 29 янв 2016 19:49
- Форум: Universal Data Access Components
- Тема: UniDac 6.2.9. PG 9.5. Знак % в запросе
- Ответы: 3
- Просмотры: 5126
UniDac 6.2.9. PG 9.5. Знак % в запросе
Добрый вечер.
Подскажите пожалуйста, как выполнить запрос типа:
Возвращается ошибка о несуществующем операторе. Хотя запрос отлично выполняется в инструментах PgAdmin, Navicat и др., а так же при использовании FireDac.
Спасибо.
Подскажите пожалуйста, как выполнить запрос типа:
Код: Выделить всё
SELECT
field_1, ... field_n
FROM
table_x
WHERE
field_1 % 'текст'
Спасибо.
- Чт 28 янв 2016 19:59
- Форум: Universal Data Access Components
- Тема: FireBird 3, LockMode, Транзакции
- Ответы: 1
- Просмотры: 3762
FireBird 3, LockMode, Транзакции
Доброго времени суток.
Тестирую UniDac v 6.2.9 и FireBird 3 WI-V3.0.0.32281.
У меня получается беда с транзакциями при LockMode = lmOptimistic и lmPessimistic.
Данные редактируются в гриде.
Старт транзакции есть, но я не наблюдаю подтверждения транзакции при попытке сохранить запись. Возможно, ошибка в коде UniDac.
По ссылке можно взять тестовый проект с БД для демонстрации проблемы.
Спасибо.
Тестирую UniDac v 6.2.9 и FireBird 3 WI-V3.0.0.32281.
У меня получается беда с транзакциями при LockMode = lmOptimistic и lmPessimistic.
Данные редактируются в гриде.
Старт транзакции есть, но я не наблюдаю подтверждения транзакции при попытке сохранить запись. Возможно, ошибка в коде UniDac.
По ссылке можно взять тестовый проект с БД для демонстрации проблемы.
Спасибо.
- Пт 15 май 2015 16:28
- Форум: Universal Data Access Components
- Тема: PG. UniDac 6.1.3. TUniQuery. Транзакции
- Ответы: 6
- Просмотры: 6692
Re: PG. UniDac 6.1.3. TUniQuery. Транзакции
Разобрался.
В PG если не указать BEGIN, то каждый отдельный оператор имеет неявную команду BEGIN перед оператором и, при успешной отработке оператора, команду COMMIT после оператора, а уровень изоляции и параметр read_only для "дефолтной" транзакции настраивается в файле конфигурации postgresql.conf
Прошу прощения за отнятое время.
В PG если не указать BEGIN, то каждый отдельный оператор имеет неявную команду BEGIN перед оператором и, при успешной отработке оператора, команду COMMIT после оператора, а уровень изоляции и параметр read_only для "дефолтной" транзакции настраивается в файле конфигурации postgresql.conf
Прошу прощения за отнятое время.
- Пт 15 май 2015 11:13
- Форум: Universal Data Access Components
- Тема: PG. UniDac 6.1.3. TUniQuery. Транзакции
- Ответы: 6
- Просмотры: 6692
Re: PG. UniDac 6.1.3. TUniQuery. Транзакции
Спасибо за ответ.
TUniTransaction с включенным ReadOnly. Открываю TUniQuery. В в DBGrid пробую изменить данные. Данные меняются. Почему, если TUniTransaction, в контексте которой работает открытый TUniQuery, запущена с включенным ReadOnly?
Запустилась транзакция с нужным мне уровнем изоляции. Я смотрю данные. С этим уровнем, сколько бы запросов я не делал, все-равно должны быть одни и те же данные, пока я не завершил и не запустил эту транзакцию.
TUniQuery не может ведь читать данные просто так. Она же работает в контексте транзакции.
В контексте какой транзакции запускается TUniQuery (которому указано использовать TUniTransaction с ilRepeatableRead), когда я его открываю?
Спасибо.
Я метод StartTransaction не вызываю. Пожалуйста подскажите, для чего?AndreyZ писал(а): Пожалуйста уточните, после того как вы для этой транзакции установили сво-во ReadOnly в True, вызвали метод StartTransaction и изменяете данные в датасете - вы получаете сообщение об ошибке 'в транзакции в режиме "только чтение" нельзя выполнить UPDATE.'?
TUniTransaction с включенным ReadOnly. Открываю TUniQuery. В в DBGrid пробую изменить данные. Данные меняются. Почему, если TUniTransaction, в контексте которой работает открытый TUniQuery, запущена с включенным ReadOnly?
Для чего это делать, если я открыл TUniQuery в TUniTransaction с ilRepeatableRead?AndreyZ писал(а): Для этого вам необходимо для транзакции, которая связана с датасетом TUniQuery, вызывать метод StartTransaction перед открытием этого датасета.
Запустилась транзакция с нужным мне уровнем изоляции. Я смотрю данные. С этим уровнем, сколько бы запросов я не делал, все-равно должны быть одни и те же данные, пока я не завершил и не запустил эту транзакцию.
TUniQuery не может ведь читать данные просто так. Она же работает в контексте транзакции.
В контексте какой транзакции запускается TUniQuery (которому указано использовать TUniTransaction с ilRepeatableRead), когда я его открываю?
Спасибо.
- Чт 14 май 2015 20:10
- Форум: Universal Data Access Components
- Тема: PG. UniDac 6.1.3. TUniQuery. Транзакции
- Ответы: 6
- Просмотры: 6692
Re: PG. UniDac 6.1.3. TUniQuery. Транзакции
Это понятно. В контексте какой транзакции работает TUniQuery? Я явно указал использовать определенную TUniTransaction, но это свойство игнорируется.AndreyZ писал(а):Для того чтобы начать транзакцию, вызовите метод TUniTransaction.StartTransaction.
В том то и дело, что во втором приложении, в котором указан уровень изоляции RepeatableRead, закоммиченные данные других транзакций не должны быть видны, пока я не завершил и заново не запустил эту транзакцию.AndreyZ писал(а): изменения, которые вы внесли в приложении 1, не будут видны в приложении 2 до тех пор, пока вы не вызовите в приложении 1 метод TUniTransaction.Commit .
Это из документации PG.
Код: Выделить всё
13.2.2. Repeatable Read Isolation Level
The Repeatable Read isolation level only sees data committed before the transaction began; it never sees either uncommitted data or changes committed during transaction execution by concurrent transactions.
Здесь же получается, что я указал в TUniTransaction уровень изоляции RepeatableRead, а он работает как ReadCommited.
- Ср 13 май 2015 16:35
- Форум: Universal Data Access Components
- Тема: PG. UniDac 6.1.3. TUniQuery. Транзакции
- Ответы: 6
- Просмотры: 6692
PG. UniDac 6.1.3. TUniQuery. Транзакции
Добрый день.
Возможно я делаю что-то не так, поскольку UniDac только начинаю осваивать. Тестирую на СУБД PostgreSQL 9.4.1
Есть:
TUniConnection
TPostgreSQLUniProvider
TUniTransaction
TUniQuery
TUniDataSources
и т.д.
К TUniQuery подцеплен TUniTransaction. Он же подцеплен и к TUniConnection. В TUniQuery написаны INSERT, UPDATE, DELETE запросы.
При добавлении\редактировании\удалении данных в DBGrid не видно, чтобы TUniQuery как-то использовал подцепленную к нему TUniTransaction.
Не важно, указал ли я то, что TUniTransaction должна быть ReadOnly, данные все равно изменяются\удаляются.
В другом приложении (тестовом, параллельно запущенном) для TUniTransaction указываю уровень изоляции ilRepeatableRead, но при повторном запросе, без завершения и старта транзакции, dвидны добавленные\измененные данные из первого приложения.
Подскажите пожалуйста, как правильно работать с транзакциями при помощи UniDac с Pg.
Спасибо.
Возможно я делаю что-то не так, поскольку UniDac только начинаю осваивать. Тестирую на СУБД PostgreSQL 9.4.1
Есть:
TUniConnection
TPostgreSQLUniProvider
TUniTransaction
TUniQuery
TUniDataSources
и т.д.
К TUniQuery подцеплен TUniTransaction. Он же подцеплен и к TUniConnection. В TUniQuery написаны INSERT, UPDATE, DELETE запросы.
При добавлении\редактировании\удалении данных в DBGrid не видно, чтобы TUniQuery как-то использовал подцепленную к нему TUniTransaction.
Не важно, указал ли я то, что TUniTransaction должна быть ReadOnly, данные все равно изменяются\удаляются.
В другом приложении (тестовом, параллельно запущенном) для TUniTransaction указываю уровень изоляции ilRepeatableRead, но при повторном запросе, без завершения и старта транзакции, dвидны добавленные\измененные данные из первого приложения.
Подскажите пожалуйста, как правильно работать с транзакциями при помощи UniDac с Pg.
Спасибо.
- Вт 19 ноя 2013 10:41
- Форум: InterBase Data Access Components
- Тема: Lazarus 1.0.12. IBDac 5.1.4. Query.LocateEx. Как?
- Ответы: 8
- Просмотры: 19612
Re: Lazarus 1.0.12. IBDac 5.1.4. Query.LocateEx. Как?
Добрый день.
Спасибо. При устранении проблемы обратите внимание на кодировку столбцов. С OCTETS поиск не работает, хотя у Вас в справочной информации рекомендуется использовать именно ее для уменьшения задержек при сохранении зашифрованной информации.
Если можно, после устранения, напишите здесь в какой версии исправлено.
Спасибо. При устранении проблемы обратите внимание на кодировку столбцов. С OCTETS поиск не работает, хотя у Вас в справочной информации рекомендуется использовать именно ее для уменьшения задержек при сохранении зашифрованной информации.
Если можно, после устранения, напишите здесь в какой версии исправлено.
- Пн 18 ноя 2013 20:54
- Форум: InterBase Data Access Components
- Тема: Lazarus 1.0.12. IBDac 5.1.4. Query.LocateEx. Как?
- Ответы: 8
- Просмотры: 19612
Lazarus 1.0.12. IBDac 5.1.4. Query.LocateEx. Как?
Доброго времени суток.
Ранее функцией LocateEx не пользовался. Но в данном случае придется, т.к. данные будут зашифрованы.
Как написано в справке,пишу код, при нажатии на кнопку фильтра btnFilter (cbbSearch - комбобокс):
Но поиск не работает. Если можете, подскажите.
Здесь можно взять начальную стадию проекта с БД (1,71 МБайт)
Спасибо.
Ранее функцией LocateEx не пользовался. Но в данном случае придется, т.к. данные будут зашифрованы.
Как написано в справке,пишу код, при нажатии на кнопку фильтра btnFilter (cbbSearch - комбобокс):
Код: Выделить всё
procedure TfMain.btnFilterClick(Sender: TObject);
var
filterfield: string;
begin
// --------------------------------------------------------
//Поле поиска
// --------------------------------------------------------
case cbbSearch.ItemIndex of
0: filterfield := 'EMPLOYEE_NAME';
1: filterfield := 'EMPLOYEE_TABNUM';
2: filterfield := 'EMPLOYEE_ADDRESS';
3: filterfield := 'EMPLOYEE_BIRTHDAY';
4: filterfield := 'EMPLOYEE_PHONE';
end;
// --------------------------------------------------------
//Пробуем фильтровать
// --------------------------------------------------------
fDM.QEmployee.LocateEx(filterfield, edtFilter.Text,
[lxPartialKey, lxCaseInsensitive]);
end;
Здесь можно взять начальную стадию проекта с БД (1,71 МБайт)
Спасибо.
- Ср 06 ноя 2013 14:14
- Форум: Universal Data Access Components
- Тема: Lazarus. SQLite. Direct mode.
- Ответы: 3
- Просмотры: 4786
Re: Lazarus. SQLite. Direct mode.
Понятно. Спасибо. Значит и шифрование на платформах, отличных от Win32, работать тоже не будет без сторонних библиотек.
- Вт 05 ноя 2013 17:16
- Форум: Universal Data Access Components
- Тема: Lazarus. SQLite. Direct mode.
- Ответы: 3
- Просмотры: 4786
Lazarus. SQLite. Direct mode.
Доброго времени...
В справке по UniDAC нашел SQLite-specific option Direct.
Из справки продукта:
Однако, все равно "вылазит" ошибка об отсутствии библиотеки sqlite3.so.
По возможности, подскажите.
Заранее благодарен.
В справке по UniDAC нашел SQLite-specific option Direct.
Из справки продукта:
Lazarus. Linux. UniDAC 5.1.4. В свойствах компонента указывал Direct=Ttue, однако этот параметр в свойствах компонента не сохраняется. В событии BeforeConnect пишу:If the Direct option is set to True, LiteDAC (почему-то здесь указан LiteDAC) connects to the database directly using embedded SQLite3 engine and does not use SQLite3 client library.
Код: Выделить всё
UniConnection.SpecificOptions.Values['Direct'] := 'True';
По возможности, подскажите.
Заранее благодарен.
- Ср 05 сен 2012 16:29
- Форум: InterBase Data Access Components
- Тема: Информация IBCDatabase.DatabaseInfo[TransactionInfo]
- Ответы: 6
- Просмотры: 11260
Re: Информация IBCDatabase.DatabaseInfo[TransactionInfo]
Спасибо за разъяснение и потраченное Вами время. Ваше сообщение можно опубликовать на форуме http://www.ibaseforum.ru в созданной мной теме?