Прежде всего, вы можете использовать ODBC коннектор. Но это сопряжено с множеством настроек.
Как видите, вам нужно создать источник данных и строку подключения к нему. Относительно много действий.
Альтернатива этому способу – использовать коннектор от FastReport.
На самом деле существует два коннектора на выбор. В поставкe FastReport .NET включены исходные коды с различными демонстрационными проектами и дополнениями. К дополнениям относятся плагины для дизайнера отчетов, которые вы можете добавлять или удалять по необходимости.
Интересующие нас плагины расположены в папке:
С:\Program Files (x86)\FastReports\FastReport.Net\Extras\Connections
Проект FastReport.Oracle и FastReport.OracleODP. Первый использует библиотеку OracleClient, а второй - Oracle.DataAccess.
На практике разница лишь в одной детали. Вот как выглядит форма создания подключения для первого плагина:
А это вариант для второго плагина:
Разница в том, что во втором случае мы имеем список доступных серверов, не нужно вводить имя вручную.
После подключения к базе данных, вам необходимо выбрать таблицы, из которых вы хотите вывести данные.
Но, если вы хотите отфильтровать данные на этом этапе, то стоит воспользоваться построителем SQL запросов (Add SQL Query):
Основное преимущество SQL запроса – возможность параметризировать его. К примеру, таким запросом мы выберем все поля из таблицы Product для записей со значением поля PRODUCT_CD начинающегося с определенной буквы или слова:
В нотации PL/SQL параметры определяются символом «:». На следующем шаге мастера создания запроса мы создаем параметр, который уже указали в запросе. Задаем ему такое же имя:
В качестве значения параметра может выступить любое выражение, доступное в менеджере выражений. Но наиболее логичное использование параметра отчета. Ведь в него можно передать значение извне, до построения отчета. На картинке выше указано название параметра отчета [ReportParameter]. К моменту создания этого SQL запроса желательно, чтобы параметр отчета уже был создан. Тогда вы сможете его выбрать в менеджере выражений. Но это не принципиально. Всегда можно ввести имя параметра вручную, а потом создать его:
Вернемся к предыдущему рисунку. Поле DefaultValue будет использовано, если значение Expression пусто.
Таким образом мы рассмотрели, как можно подключиться к базе данных Oracle и как использовать параметры в SQL запросе.