Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 26 27 28 29 30 [31] 32 33 34 35   вперед  Ctrl
 Re: FireDAC  [new]
hottabych31
Member

Откуда:
Сообщений: 81
Dmitry Arefiev, здравствуйте!

Есть таблица в FB с полем chars octets 16 для хранения UUID. Домен для данного типа создан с именем UUID16 преднамеренно, чтобы работать с полем как с TBytesField.

Сам вопрос - почему TFDDatSRow.GetData обрезает нули в конце массива? Это баг или фича?
Дело в том, что TBytesField.AsBytes возвращает верный массив, потому что делает FillChar(ABuffer,16,0).
А по факту, TFDDatSRow работает с урезанными массивами, что приводит к некорректному сравнению строк датасета.
1 фев 17, 12:45    [20169164]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
hottabych31
Member

Откуда:
Сообщений: 81
Нашел ответ, таки да, - фича.
TFDDataSet.FormatOptions.StrsTrim := false решает проблему.
1 фев 17, 13:05    [20169300]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
AlexeyM123
Member

Откуда:
Сообщений: 113
с удивлением нашел



My name is Dmitry Arefiev (darefiev (at) gmail (dot) com). Until the end of 2016 I was the Embarcadero FireDAC architect and primary developer. Now I am looking for a new challenge and I am open to all kinds of software development job.
2 фев 17, 17:14    [20174589]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
AlexeyM123
Member

Откуда:
Сообщений: 113
http://www.arefiev.com/
2 фев 17, 17:21    [20174604]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
Tactical Nuclear Penguin
Member

Откуда: холодно тут
Сообщений: 2422
AlexeyM123
http://www.arefiev.com/


что-то не работает сайт...
22 фев 17, 09:55    [20235893]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
Попался
Guest
Насколько стало известно - Арефьев осуществил свою мечту и сейчас работает экскурсоводом в г. Плес.
22 фев 17, 09:57    [20235901]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
Gallemar
Member

Откуда: г.Иркутск
Сообщений: 4381
Попался
Насколько стало известно - Арефьев осуществил свою мечту и сейчас работает экскурсоводом в г. Плес.

Интересная мечта
22 фев 17, 11:17    [20236196]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
Попался
Guest
Он там и домик прикупил.
22 фев 17, 11:24    [20236229]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
sql2012
Member

Откуда: РФ
Сообщений: 551
Tactical Nuclear Penguin
AlexeyM123
http://www.arefiev.com/


что-то не работает сайт...


Копия от 12.02.2017 http://goo.gl/mH0loY
22 фев 17, 11:36    [20236282]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
rgreat
Member

Откуда:
Сообщений: 3746
Работаю с 1-й таблицей.

Есть TFDTable и TFDQuery с выставленным параметром FetchOptions.Items.fiMeta.

Все бы ничего, но скорость перебора данных около - 200 записей в секунду.
Отключаешь fiMeta и скорость растет до 10000 в секунду.

Казалось-бы fiMeta подгружает только доп. информацию по полям и индексам.

Почему тогда тормоза при построчном чтении данных?

И что делать если информация о Primary Key и ReadOnly полях таки нужна?
13 мар 17, 18:42    [20290992]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
rgreat
Member

Откуда:
Сообщений: 3746
Есть конечно мысль открывать таблицу дважды, 1 раз с fiMeta и без данных для получения мета-информации и 1 раз без меты для получения уже данных.

Но это как-то совсем странно.
13 мар 17, 18:44    [20290998]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
rgreat
Member

Откуда:
Сообщений: 3746
Методом научного тыка выяснилось что на скорость выборки влияет FetchOptions.LiveWindowFastFirst.

О сколько нам открытий чудных... (с)
13 мар 17, 20:06    [20291196]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9507
TFDTable и скорость несовместимы
13 мар 17, 20:13    [20291211]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
rgreat
Member

Откуда:
Сообщений: 3746
Dmitry Arefiev,

А то так печально?
13 мар 17, 20:21    [20291225]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
kenesg12
Member

Откуда: Казахстан
Сообщений: 21
Начал осваивать FireDAC. Использую Firebird, вопрос, как в FDConnection, программно установить RoleName?
27 апр 17, 16:30    [20440977]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
wadman
Member

Откуда: Санкт-Петербург
Сообщений: 23228
kenesg12,

в Params заглядывал?
27 апр 17, 16:35    [20440999]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
kenesg12
Member

Откуда: Казахстан
Сообщений: 21
wadman, да в заглядывал. Так я хочу программно в коде менять роль. Роли у меня меняются, не статичная одна только роль.
27 апр 17, 19:29    [20441597]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
kenesg12
Member

Откуда: Казахстан
Сообщений: 21
Вот это не работает,
FDConnection1.Params.RoleName:= urole;
не понимает он RoleName, все остальное юзер, пссворд понимает, а роль не хочет понимать.
27 апр 17, 19:32    [20441605]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9507
Два варианта:
uses
  FireDAC.Phys.FBDef;
...
TFDPhysFBConnectionDefParams(FDConnection1.Params).RoleName:= urole;

или
FDConnection1.Params.Add('rolename=' + urole);
28 апр 17, 10:45    [20442758]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
kenesg12
Member

Откуда: Казахстан
Сообщений: 21
Dmitry Arefiev, Спасибо за ответ.
Еще хотел спросить. Использую датаснап, т.е. есть сервер приложений где FDQuery подключен к базе и через DataSetProvider к нему подключается клиентское приложение. Так вот вопрос в том, что для изменения данных я использую FDUpdateSQL, так как там спицифический запрос, и вот когда на клиентском приложение пытаюсь изменить данные, то он напрямую изменяет, т.е. не использует тот запрос который я подготовил в FDUpdateSQL. Что нужно еще сделать, что бы при изменеии данных на клиентском приложении использовались запросы с FDUpdateSQL?
Надеюсь понятен вопрос.
3 май 17, 09:01    [20452019]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9507
TDataSetProvider.ResolveToDataSet := True
3 май 17, 11:01    [20452439]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
delphinotes
Member

Откуда: Санкт-Петербург
Сообщений: 281
Дмитрий, простите, я чего-то не пойму. FireDAC (Delphi XE7) не умеет автоматически использовать Array DML при CachedUpdates?

Я почему-то думал, что FDQuery.ApplyUpdates сгенерирует запрос выполнит его один раз с использованием Array DML, но монитор показывает N-вызовов запроса (по кол-ву записей).
Видимо надо использовать промежуточный FDMemTable? И какой-нибудь Diff/Delta-что-то там?
8 май 17, 19:16    [20465669]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9507
delphinotes
Дмитрий, простите, я чего-то не пойму. FireDAC (Delphi XE7) не умеет автоматически использовать Array DML при CachedUpdates?

Не умеет.
8 май 17, 20:29    [20465743]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
Volk65
Member

Откуда:
Сообщений: 20
Как загрузить в параметр Unicode текст?

На сервере MSSQL в процедуре объявлен параметр:
CREATE PROCEDURE 
...
@TXT TEXT


загружаю текст в параметр так:
FDStoredProc.ParamByName('@TXT').LoadFromFile(FileName, ftMemo);
// или так
FDStoredProc.ParamByName('@TXT').LoadFromStream(MS, ftMemo);

В БД записываются крякозяблики.
Как правильно загрузить текст в параметр и как правильно объявить его на сервере?
Пробовал заменить на NTEXT и ftWideMemo, но там сплошная "корея" получается
29 май 17, 23:18    [20521632]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 948
Какая кодовая страница mssql сервера и в какой кодировке вы отдаете текст?
29 май 17, 23:30    [20521645]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 26 27 28 29 30 [31] 32 33 34 35   вперед  Ctrl
Все форумы / Delphi Ответить