FireDAC + MSSQL2016 + TVP

Игорь_UUS
Дата: 07.06.2019 12:02:32
Добрый день.


Перешли на 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 отрабатывает нормально.


Может у кого будут какие мысли... очень... очень буду благодарен за любые советы
AndyMandy
Дата: 07.06.2019 13:27:25
Можно посмотреть Profiler что конкретно "уходит" и сравнить с исправным "уходом".
Или костылировать - отдельно передавать varbinary например
Dmitry Arefiev
Дата: 07.06.2019 14:21:35
Лучше дождаться 10.3.2, где будут исправления в MSSQL / TVP.
Еще лучше создать тикет в quality.embarcadero.com с примером.
Игорь_UUS
Дата: 07.06.2019 15:51:01
Dmitry Arefiev
Лучше дождаться 10.3.2, где будут исправления в MSSQL / TVP.
Еще лучше создать тикет в quality.embarcadero.com с примером.



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

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

Может попробовать "поток данных" передать в NVARCHAR(MAX)?
X-Cite
Дата: 07.06.2019 16:07:10
Уже оформлен, в рамках MSSQL правда)
https://quality.embarcadero.com/browse/RSP-24019
Игорь_UUS
Дата: 07.06.2019 17:00:02
X-Cite,

Не совсем понял... что именно?
Dmitry Arefiev
Дата: 07.06.2019 19:14:50
X-Cite
Уже оформлен, в рамках MSSQL правда)
https://quality.embarcadero.com/browse/RSP-24019

Уже пофикшено. Ждать 10.3.2.
энди
Дата: 07.06.2019 19:27:52
в sdac от девартов уже пару лет как работает. Хотя это конечно специализированный дак. Да и работает не так как хотелось бы мне, но что поделать, никто не идеален :)
X-Cite
Дата: 07.06.2019 20:19:05
Dmitry Arefiev
X-Cite
Уже оформлен, в рамках MSSQL правда)
https://quality.embarcadero.com/browse/RSP-24019

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


А нельзя закинуть к вам идею, чтобы как-то в тикетах помечать, что выйдет в ближайшем релизе. А то назначено на DEV еще не означает, что пофиксят в ближайшее время...