Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 FireDAC + MSSQL2016 + TVP  [new]
Игорь_UUS
Member

Откуда: г. Екатеринбург
Сообщений: 667
Добрый день.


Перешли на Delphi 10.3.1 с версии Delphi 10.2


На предыдущей версии всё работало, но были другие баги работы с FireDAC + MSSQL + TVP.

Суть такая, есть хранимая процедура, в которой один из параметров переменная табличного типа (TVP), переменная имеет около 50-ти полей? одно поле из которых VARBINARY(MAX).. в данное поле пишется изображение в формате jpg.

При вызове хранимой процедуры через TFDStoredProc на стороне программы ошибок не возникает, но программа напрочь зависает(( Стал разбираться, выяснилось, происходит зависание ТОЛЬКО в случае если передаётся изображение в TVP именно в поле имеющее VARBINARY(MAX).

При этом обратил внимание, служба MSSQL забивает на 100% жёсткий диск... т.е. из программы "что-то уходит", идёт корректный вызов хранимки, но то что получил MSSQL видимо "разжевать" не может.

Я подозреваю, что дело в FireDAC т.к. данный скомпилированный код под DX 10.2 отрабатывает нормально.


Может у кого будут какие мысли... очень... очень буду благодарен за любые советы
7 июн 19, 12:02    [21904377]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC + MSSQL2016 + TVP  [new]
AndyMandy
Member

Откуда: СПб
Сообщений: 193
Можно посмотреть Profiler что конкретно "уходит" и сравнить с исправным "уходом".
Или костылировать - отдельно передавать varbinary например
7 июн 19, 13:27    [21904467]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC + MSSQL2016 + TVP  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9768
Лучше дождаться 10.3.2, где будут исправления в MSSQL / TVP.
Еще лучше создать тикет в quality.embarcadero.com с примером.
7 июн 19, 14:21    [21904548]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC + MSSQL2016 + TVP  [new]
Игорь_UUS
Member

Откуда: г. Екатеринбург
Сообщений: 667
Dmitry Arefiev
Лучше дождаться 10.3.2, где будут исправления в MSSQL / TVP.
Еще лучше создать тикет в quality.embarcadero.com с примером.



Печально всё это... проект уже во всю пишется на 10.3.2... такой баг нашли уже спустя время, и на 10.2 возвращаться уже нет особого смысла... очень не хочется городить "костыли"((

Получается что-то пробовать по другому не имеет смысла?

Может попробовать "поток данных" передать в NVARCHAR(MAX)?
7 июн 19, 15:51    [21904659]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC + MSSQL2016 + TVP  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1608
Уже оформлен, в рамках MSSQL правда)
https://quality.embarcadero.com/browse/RSP-24019
7 июн 19, 16:07    [21904677]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC + MSSQL2016 + TVP  [new]
Игорь_UUS
Member

Откуда: г. Екатеринбург
Сообщений: 667
X-Cite,

Не совсем понял... что именно?
7 июн 19, 17:00    [21904739]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC + MSSQL2016 + TVP  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9768
X-Cite
Уже оформлен, в рамках MSSQL правда)
https://quality.embarcadero.com/browse/RSP-24019

Уже пофикшено. Ждать 10.3.2.
7 июн 19, 19:14    [21904896]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC + MSSQL2016 + TVP  [new]
энди
Member

Откуда: Киров, Россия
Сообщений: 1018
в sdac от девартов уже пару лет как работает. Хотя это конечно специализированный дак. Да и работает не так как хотелось бы мне, но что поделать, никто не идеален :)
7 июн 19, 19:27    [21904900]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC + MSSQL2016 + TVP  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1608
Dmitry Arefiev
X-Cite
Уже оформлен, в рамках MSSQL правда)
https://quality.embarcadero.com/browse/RSP-24019

Уже пофикшено. Ждать 10.3.2.


А нельзя закинуть к вам идею, чтобы как-то в тикетах помечать, что выйдет в ближайшем релизе. А то назначено на DEV еще не означает, что пофиксят в ближайшее время...
7 июн 19, 20:19    [21904923]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить