Stimulsoft.Report.OracleClient.dll
Добавлено: 21 июл 2010, 09:52
Проблема адаптера Oracle.
Скачал, скомпилировал Stimulsoft.Report.OracleClient.dll. Всё работает. Но в дизайнере, необходимо автоматически создавать колонки, т.к. отчётов у нас просто тьма и в каждом создавать колонки вручную - тупая и бесполезная работа.
Как временное решение мы пока используем OleDbConnection, и там почему-то эта же кнопка "Получить колонки" (Retrieve columns) великолепно работает.
А через OracleClient.dll она не работает, вылетает Exception вида:
Синтаксическая ошибка: ожидается ".", идентификатор или идентификатор в кавычках. в модуле System.Data.OracleClient
Стек:
в System.Data.OracleClient.DbSqlParser.Parse2(String statementText)
в System.Data.OracleClient.OracleDataReader.FillSchemaTable(DataTable schemaTable)
в System.Data.OracleClient.OracleDataReader.GetSchemaTable()
в System.Data.ProviderBase.SchemaMapping..ctor(DataAdapter adapter, DataSet dataset, DataTable datatable, DataReaderContainer dataReader, Boolean keyInfo, SchemaType schemaType, String sourceTableName, Boolean gettingData, DataColumn parentChapterColumn, Object parentChapterValue)
в System.Data.Common.DataAdapter.FillSchemaFromReader(DataSet dataset, DataTable datatable, SchemaType schemaType, String srcTable, IDataReader dataReader)
в System.Data.Common.DataAdapter.FillSchema(DataTable dataTable, SchemaType schemaType, IDataReader dataReader)
в System.Data.Common.DbDataAdapter.FillSchemaInternal(DataSet dataset, DataTable datatable, SchemaType schemaType, IDbCommand command, String srcTable, CommandBehavior behavior)
в System.Data.Common.DbDataAdapter.FillSchema(DataTable dataTable, SchemaType schemaType, IDbCommand command, CommandBehavior behavior)
в System.Data.Common.DbDataAdapter.FillSchema(DataTable dataTable, SchemaType schemaType)
в Stimulsoft.Report.Dictionary.StiOracleAdapterService.GetColumnsFromData(StiData data, StiDataSource dataSource)
в Stimulsoft.Report.Dictionary.Design.StiDataStoreSourceEditForm.tbRetrieveColumns_Click(Object sender, EventArgs e)
Сделайте пожалуйста так, чтобы можно было получать колонки автоматически. Мы вообще используем Oracle.DataAccess.dll, а не System.Data.OracleClient, поэтому если есть возможность, там можно переделать всё с минимальными изменениями, т.к. я пробовал, всё получается, но проблема в том, что когда я убираю из всех модулей строку using System.Data.OracleClient, а вместо неё пишу using Oracle.DataAccess, но там есть несовпадение типов OracleType (в System.Date.OracleClient), а нужно видимо OracleDbType (в Oracle.DataAccessTypes).
В итоге, я скомпилировал под Oracle.DataAccess.dll и убрал вообще System.Data.OracleClient.dll из проекта, но нормально она не работает.
Скачал, скомпилировал Stimulsoft.Report.OracleClient.dll. Всё работает. Но в дизайнере, необходимо автоматически создавать колонки, т.к. отчётов у нас просто тьма и в каждом создавать колонки вручную - тупая и бесполезная работа.
Как временное решение мы пока используем OleDbConnection, и там почему-то эта же кнопка "Получить колонки" (Retrieve columns) великолепно работает.
А через OracleClient.dll она не работает, вылетает Exception вида:
Синтаксическая ошибка: ожидается ".", идентификатор или идентификатор в кавычках. в модуле System.Data.OracleClient
Стек:
в System.Data.OracleClient.DbSqlParser.Parse2(String statementText)
в System.Data.OracleClient.OracleDataReader.FillSchemaTable(DataTable schemaTable)
в System.Data.OracleClient.OracleDataReader.GetSchemaTable()
в System.Data.ProviderBase.SchemaMapping..ctor(DataAdapter adapter, DataSet dataset, DataTable datatable, DataReaderContainer dataReader, Boolean keyInfo, SchemaType schemaType, String sourceTableName, Boolean gettingData, DataColumn parentChapterColumn, Object parentChapterValue)
в System.Data.Common.DataAdapter.FillSchemaFromReader(DataSet dataset, DataTable datatable, SchemaType schemaType, String srcTable, IDataReader dataReader)
в System.Data.Common.DataAdapter.FillSchema(DataTable dataTable, SchemaType schemaType, IDataReader dataReader)
в System.Data.Common.DbDataAdapter.FillSchemaInternal(DataSet dataset, DataTable datatable, SchemaType schemaType, IDbCommand command, String srcTable, CommandBehavior behavior)
в System.Data.Common.DbDataAdapter.FillSchema(DataTable dataTable, SchemaType schemaType, IDbCommand command, CommandBehavior behavior)
в System.Data.Common.DbDataAdapter.FillSchema(DataTable dataTable, SchemaType schemaType)
в Stimulsoft.Report.Dictionary.StiOracleAdapterService.GetColumnsFromData(StiData data, StiDataSource dataSource)
в Stimulsoft.Report.Dictionary.Design.StiDataStoreSourceEditForm.tbRetrieveColumns_Click(Object sender, EventArgs e)
Сделайте пожалуйста так, чтобы можно было получать колонки автоматически. Мы вообще используем Oracle.DataAccess.dll, а не System.Data.OracleClient, поэтому если есть возможность, там можно переделать всё с минимальными изменениями, т.к. я пробовал, всё получается, но проблема в том, что когда я убираю из всех модулей строку using System.Data.OracleClient, а вместо неё пишу using Oracle.DataAccess, но там есть несовпадение типов OracleType (в System.Date.OracleClient), а нужно видимо OracleDbType (в Oracle.DataAccessTypes).
В итоге, я скомпилировал под Oracle.DataAccess.dll и убрал вообще System.Data.OracleClient.dll из проекта, но нормально она не работает.