Список объектов БД для Oracle Connection
Список объектов БД для Oracle Connection
Здравствуйте.
Скачал версию 2010.2.714 и новый адаптер.
Скомпилировал.
Ошибки 4, 5, 6 решены.
Но, не работает выборка данных вообще.
В частности:
- View Data
- Edit Data Source -> View Query
- Edit Data Source -> Run
Во всех случаях запрос не выполняется, даже проверка синтаксиса не делается.
При этом работает получение списка колонок датасета и в Query Builder данные выбираются.
Скачал версию 2010.2.714 и новый адаптер.
Скомпилировал.
Ошибки 4, 5, 6 решены.
Но, не работает выборка данных вообще.
В частности:
- View Data
- Edit Data Source -> View Query
- Edit Data Source -> Run
Во всех случаях запрос не выполняется, даже проверка синтаксиса не делается.
При этом работает получение списка колонок датасета и в Query Builder данные выбираются.
Список объектов БД для Oracle Connection
Здравствуйте,
Проблема исправлена. Также добавили получение списка таблиц базы при создании нового источника данных. Адаптер на сайте обновили.
Спасибо.
Проблема исправлена. Также добавили получение списка таблиц базы при создании нового источника данных. Адаптер на сайте обновили.
Спасибо.
Список объектов БД для Oracle Connection
Здравствуйте!
Поправьте, пожалуйста ссылку на новый адаптер.
Опять обе ссылки (стандартный адаптер и ODP) указывают на один файл:
http://www.stimulsoft.com/Downloads/OracleDatabase.zip
Спасибо
Поправьте, пожалуйста ссылку на новый адаптер.
Опять обе ссылки (стандартный адаптер и ODP) указывают на один файл:
http://www.stimulsoft.com/Downloads/OracleDatabase.zip
Спасибо
Список объектов БД для Oracle Connection
Спасибо!
Проверил.
На первый взгляд, работает нормально.
Только с получением списка объектов базы данных не все хорошо.
Не для всех таблиц есть столбцы и нет представлений...
Я немного позже посмотрю в исходник и предложу уточнения.
Проверил.
На первый взгляд, работает нормально.
Только с получением списка объектов базы данных не все хорошо.
Не для всех таблиц есть столбцы и нет представлений...
Я немного позже посмотрю в исходник и предложу уточнения.
Список объектов БД для Oracle Connection
Ок. Спасибо за помощь.fantomus писал(а):Спасибо!
Проверил.
На первый взгляд, работает нормально.
Только с получением списка объектов базы данных не все хорошо.
Не для всех таблиц есть столбцы и нет представлений...
Я немного позже посмотрю в исходник и предложу уточнения.
Список объектов БД для Oracle Connection
Здравствуйте!
Итак, продолжим совершенствование ODP.NET адаптера.
Мои предложения:
1. В список объектов БД вычитывать не только таблицы, но и представления.
2. Список объектов БД формировать по принципу [Имя владельца].[Имя объекта].
В Оракле это общепринятый подход. Кроме того, будет некоторая совместимость с Query Builder. Там все сделано логично, объекты разделены на группы (по владельцам).
3. Дополнительно отфильтровать служебные объекты пользователей «SYSMAN», «SYSTEM», «SYS» и пр.
Одно уточнение:
Некорректно написан метод StiOracleODPDatabase.ConvertDbTypeToTypeInternal.
Получить список типов данных можно так:
Поле TypeName соответствует типу данных в Oracle, а поле DataType – типу данных в .Net.
В принципе, в ф-ии ConvertDbTypeToTypeInternal можно использовать GetSchema("DataTypes"), но для упрощения можно оставить хардкод.
Все предложения и уточнения я уже реализовал и проверил.
Мой окончательный вариант присоединяю.
Список изменений/дополнений:
- добавлен метод IsSystemOwner для дополнительной фильтрации объектов системных пользователей
- в методе GetDatabaseInformation добавлено вычитывание списка представлений, изменен код получения списка колонок, используется метод IsSystemOwner
- переделан метод ConvertDbTypeToTypeInternal
Спасибо.
Итак, продолжим совершенствование ODP.NET адаптера.
Мои предложения:
1. В список объектов БД вычитывать не только таблицы, но и представления.
2. Список объектов БД формировать по принципу [Имя владельца].[Имя объекта].
В Оракле это общепринятый подход. Кроме того, будет некоторая совместимость с Query Builder. Там все сделано логично, объекты разделены на группы (по владельцам).
3. Дополнительно отфильтровать служебные объекты пользователей «SYSMAN», «SYSTEM», «SYS» и пр.
Одно уточнение:
Некорректно написан метод StiOracleODPDatabase.ConvertDbTypeToTypeInternal.
Получить список типов данных можно так:
Код: Выделить всё
connection.GetSchema("DataTypes");
В принципе, в ф-ии ConvertDbTypeToTypeInternal можно использовать GetSchema("DataTypes"), но для упрощения можно оставить хардкод.
Все предложения и уточнения я уже реализовал и проверил.
Мой окончательный вариант присоединяю.
Список изменений/дополнений:
- добавлен метод IsSystemOwner для дополнительной фильтрации объектов системных пользователей
- в методе GetDatabaseInformation добавлено вычитывание списка представлений, изменен код получения списка колонок, используется метод IsSystemOwner
- переделан метод ConvertDbTypeToTypeInternal
Спасибо.
- Вложения
-
- StiOracleODPDatabase.cs
- (12.76 КБ) 507 скачиваний
Список объектов БД для Oracle Connection
Здравствуйте,
Спасибо.
Логично.1. В список объектов БД вычитывать не только таблицы, но и представления.
Логично.2. Список объектов БД формировать по принципу [Имя владельца].[Имя объекта].
Ок.3. Дополнительно отфильтровать служебные объекты пользователей «SYSMAN», «SYSTEM», «SYS» и пр.
Если будут проблемы можно будет изменить этот код.В принципе, в ф-ии ConvertDbTypeToTypeInternal можно использовать GetSchema("DataTypes"), но для упрощения можно оставить хардкод.
Спасибо за помощь! Обновленный файл адаптера выложили на сайте.Мой окончательный вариант присоединяю.
Спасибо.
Список объектов БД для Oracle Connection
Рад помочь!
Скачал, проверил.
Все работает.
Похоже, тема успешно закрыта .
Скачал, проверил.
Все работает.
Похоже, тема успешно закрыта .