Хочу поделиться с вами одной из редких, но как оказалось, иногда возникающих проблем.
Суть такова: в одном из отчётов при печати возникла (неизвестно после чего) ошибка (см. заголовок темы). Возникает вне зависимости от системы (XP/W7) и версий Oracle Client (ODP.Net) и StimulReport (на данный момент 2012.1.1300.0)
После нескольких часов разборов ( ) и потыток понять, что вообще происходит, наконец-таки стало ясно, что дело не в версии Oracle client и даже не в версии StimulReport.
Чтобы решить эту проблему нужно удалить data source (полностью) и пересоздать её заново, создав так же необходимые параметры. (кто бы мог подумать )
В итоге, сравнив два файла отчёта (старый с проблемой, и новый - с пересозданной data source) выявили, что разница была в xml-теге <Type>StoredProcedure</Type>. Каким образом он "закрался" внутрь тега data source (в нашем случае это <qrMain>) остаётся загадкой.
Немного более подробный кусок кода:
Код: Выделить всё
<DataSources isList="true" count="1">
<qrMain Ref="3" type="Stimulsoft.Report.Dictionary.StiOracleODPSource" isKey="true">
...
<NameInSource>OraConn</NameInSource>
<Parameters isList="true" count="1">
<value>DOC_CODE,,107,0</value>
</Parameters>
<SqlCommand>SELECT *
FROM TABLE(vip_reports_pkg.rep_vip_voucher(:DOC_CODE))
ORDER BY article_vip</SqlCommand>
[b]<Type>StoredProcedure</Type>[/b] <----------- Here's the problem
</qrMain>
P.S. В приложении прикреплён архив с двумя файлами: "Накладная ТОРГ-12 (Реал).mrt" (оригинальный файл - с ошибкой) и "Накладная ТОРГ-12 (Реал).mrt.new" - тот же файл (с пересозданной data source, т.е. исправленный).