Список объектов БД для Oracle Connection

Обсуждение Stimulsoft Reports.NET
fantomus
Сообщения: 215
Зарегистрирован: 22 апр 2009, 06:41
Откуда: Kyiv, Ukraine

Список объектов БД для Oracle Connection

Сообщение fantomus »

Здравствуйте.

Скачал версию 2010.2.714 и новый адаптер.
Скомпилировал.

Ошибки 4, 5, 6 решены.

Но, не работает выборка данных вообще.

В частности:
- View Data
- Edit Data Source -> View Query
- Edit Data Source -> Run

Во всех случаях запрос не выполняется, даже проверка синтаксиса не делается.

При этом работает получение списка колонок датасета и в Query Builder данные выбираются.
Jan
Сообщения: 495
Зарегистрирован: 19 фев 2009, 11:14

Список объектов БД для Oracle Connection

Сообщение Jan »

Здравствуйте,

Проблема исправлена. Также добавили получение списка таблиц базы при создании нового источника данных. Адаптер на сайте обновили.

Спасибо.
fantomus
Сообщения: 215
Зарегистрирован: 22 апр 2009, 06:41
Откуда: Kyiv, Ukraine

Список объектов БД для Oracle Connection

Сообщение fantomus »

Здравствуйте!

Поправьте, пожалуйста ссылку на новый адаптер.
Опять обе ссылки (стандартный адаптер и ODP) указывают на один файл:
http://www.stimulsoft.com/Downloads/OracleDatabase.zip

Спасибо
fantomus
Сообщения: 215
Зарегистрирован: 22 апр 2009, 06:41
Откуда: Kyiv, Ukraine

Список объектов БД для Oracle Connection

Сообщение fantomus »

Спасибо!

Проверил.
На первый взгляд, работает нормально.
Только с получением списка объектов базы данных не все хорошо.
Не для всех таблиц есть столбцы и нет представлений...
Я немного позже посмотрю в исходник и предложу уточнения.
Jan
Сообщения: 495
Зарегистрирован: 19 фев 2009, 11:14

Список объектов БД для Oracle Connection

Сообщение Jan »

fantomus писал(а):Спасибо!

Проверил.
На первый взгляд, работает нормально.
Только с получением списка объектов базы данных не все хорошо.
Не для всех таблиц есть столбцы и нет представлений...
Я немного позже посмотрю в исходник и предложу уточнения.
Ок. Спасибо за помощь.
fantomus
Сообщения: 215
Зарегистрирован: 22 апр 2009, 06:41
Откуда: Kyiv, Ukraine

Список объектов БД для Oracle Connection

Сообщение fantomus »

Здравствуйте!

Итак, продолжим совершенствование ODP.NET адаптера.

Мои предложения:
1. В список объектов БД вычитывать не только таблицы, но и представления.
2. Список объектов БД формировать по принципу [Имя владельца].[Имя объекта].
В Оракле это общепринятый подход. Кроме того, будет некоторая совместимость с Query Builder. Там все сделано логично, объекты разделены на группы (по владельцам).
3. Дополнительно отфильтровать служебные объекты пользователей «SYSMAN», «SYSTEM», «SYS» и пр.

Одно уточнение:
Некорректно написан метод StiOracleODPDatabase.ConvertDbTypeToTypeInternal.
Получить список типов данных можно так:

Код: Выделить всё

connection.GetSchema("DataTypes");
Поле TypeName соответствует типу данных в Oracle, а поле DataType – типу данных в .Net.
В принципе, в ф-ии ConvertDbTypeToTypeInternal можно использовать GetSchema("DataTypes"), но для упрощения можно оставить хардкод.

Все предложения и уточнения я уже реализовал и проверил.

Мой окончательный вариант присоединяю.

Список изменений/дополнений:
- добавлен метод IsSystemOwner для дополнительной фильтрации объектов системных пользователей
- в методе GetDatabaseInformation добавлено вычитывание списка представлений, изменен код получения списка колонок, используется метод IsSystemOwner
- переделан метод ConvertDbTypeToTypeInternal

Спасибо.
Вложения
StiOracleODPDatabase.cs
(12.76 КБ) 507 скачиваний
Jan
Сообщения: 495
Зарегистрирован: 19 фев 2009, 11:14

Список объектов БД для Oracle Connection

Сообщение Jan »

Здравствуйте,
1. В список объектов БД вычитывать не только таблицы, но и представления.
Логично.
2. Список объектов БД формировать по принципу [Имя владельца].[Имя объекта].
Логично.
3. Дополнительно отфильтровать служебные объекты пользователей «SYSMAN», «SYSTEM», «SYS» и пр.
Ок.
В принципе, в ф-ии ConvertDbTypeToTypeInternal можно использовать GetSchema("DataTypes"), но для упрощения можно оставить хардкод.
Если будут проблемы можно будет изменить этот код.

Мой окончательный вариант присоединяю.
Спасибо за помощь! Обновленный файл адаптера выложили на сайте.

Спасибо.
fantomus
Сообщения: 215
Зарегистрирован: 22 апр 2009, 06:41
Откуда: Kyiv, Ukraine

Список объектов БД для Oracle Connection

Сообщение fantomus »

Рад помочь!

Скачал, проверил.
Все работает.

Похоже, тема успешно закрыта :).
Jan
Сообщения: 495
Зарегистрирован: 19 фев 2009, 11:14

Список объектов БД для Oracle Connection

Сообщение Jan »

Отлично!
Ответить