Добрый день!
Итак, версия продукта 2015.1.12.0. Всё теперь работает как надо. Благодарим вас за исправления!
Для тех людей, которые будут переходить с более ранних версий, работающих с Oracle. К примеру, мы переходили с версии 2012.1.1300.0, которая использовала адаптер Stimulsoft.Report.OracleODP.dll.
Напомню, что, как сказал Алексей:
В последних версиях, вам достаточно в папку bin или в references добавить только саму оракловскую dll-ку Oracle.DataAccess.
Для standalone designer.exe просто скопировать данную длл-ку в папку с дизайнером.
Поэтому, для всех отчётов, содержащих ссылку на старый connection (в нашем случае Oracle) и старый DataSource вам придётся пересоздавать их, либо исправить существующие в самом .mrt (xml)-файле. Это необходимо, что избавиться от
Stimulsoft.Report.OracleODP.dll и начать использовать нативную оракловую
Oracle.DataAccess.dll.
Процитирую свой же текст из недавнего поста:
В принципе, раз с версии 2015.1.0.0 уже нет необходимости в Stimulsoft.Report.OracleODP.dll, то мы решили от неё избавится. К слову у нас 325 отчётов, из них 265 в которых используется статически определённый Connection и DataSource.
Соответственно, мы написали процедуру, которая загружает последовательно каждый blob (отчёт mrt) из базы, меняет в нём по адресу XPath "StiSerializer/Dictionary/Databases", далее для одного коннекта (он всегда там один) значение атрибута type с "Stimulsoft.Report.Dictionary.StiOracleODPDatabase" на "Stimulsoft.Report.Dictionary.StiOracleDatabase".
Аналогично в пути "StiSerializer/Dictionary/DataSources" для одного DataSource (он так же один для этого коннекта) значение атрибута type с "Stimulsoft.Report.Dictionary.StiOracleODPSource" на "Stimulsoft.Report.Dictionary.StiOracleSource".
Таким образом меняем все blob'ы (отчёты в базе), компилируем проект под 2015.1.10.0 и всё работает, теперь без использования Stimulsoft.Report.OracleODP.dll, что не может не радовать.
На практике в произвольном файле отчёта это будет выглядеть так:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<StiSerializer version="1.02" type="Net" application="StiReport">
<Dictionary Ref="1" type="Dictionary" isKey="true">
<BusinessObjects isList="true" count="0" />
<Databases isList="true" count="1">
<ConOra Ref="2" type="Stimulsoft.Report.Dictionary.StiOracleODPDatabase" isKey="true">
<Alias>ConOra</Alias>
<ConnectionStringEncrypted>4GL1S0hVQllqXf29YdgiY9tqU6FGA/OtawilvXco6z+LVslITUoxhUZJodxqdCIf1lrZK8tL+6nnQeXEekThs8Jw9yvvSnPt4RU9hGOI</ConnectionStringEncrypted>
<Name>ConOra</Name>
</ConOra>
</Databases>
<DataSources isList="true" count="1">
<rep_bill Ref="3" type="Stimulsoft.Report.Dictionary.StiOracleODPSource" isKey="true">
<Alias>rep_bill</Alias>
<Columns isList="true" count="37">
<value>DOC_CODE,System.Decimal</value>
Меняем (только то, что выделено жирным):
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<StiSerializer version="1.02" type="Net" application="StiReport">
<Dictionary Ref="1" type="Dictionary" isKey="true">
<BusinessObjects isList="true" count="0" />
<Databases isList="true" count="1">
<ConOra Ref="2" type="Stimulsoft.Report.Dictionary.StiOracleDatabase" isKey="true">
<Alias>ConOra</Alias>
<ConnectionStringEncrypted>4GL1S0hVQllqXf29YdgiY9tqU6FGA/OtawilvXco6z+LVslITUoxhUZJodxqdCIf1lrZK8tL+6nnQeXEekThs8Jw9yvvSnPt4RU9hGOI</ConnectionStringEncrypted>
<Name>ConOra</Name>
</ConOra>
</Databases>
<DataSources isList="true" count="1">
<rep_bill Ref="3" type="Stimulsoft.Report.Dictionary.StiOracleSource" isKey="true">
<Alias>rep_bill</Alias>
<Columns isList="true" count="37">
<value>DOC_CODE,System.Decimal</value>
Так как у нас все отчёты хранятся в отдельной табличке в базе Oracle, как я и говорил, мы написали небольшую софтину, которая пробегала по всем blob'ам, проверяя по соответствующему XPath наличие StiOracleODPDatabase и StiOracleODPSource, и заменяли их на StiOracleDatabase и StiOracleSource, соответственно.
Вы можете спросить, а зачем такие сложности? Почему нельзя работать со старой dll'кой? Вероятно, потому что это уже deprecated by Stimul, поэтому, очевидно, что когда-нибудь от неё придётся отказаться, и мы решили сделать это сразу.