Я использую базу данных Postgres для моего бэкэнд для нескольких веб-приложений. Эти приложения размещаются на стороннем сервере, к которому у меня ограниченный доступ. В настоящее время я использую npgsql и nhibernate для всех моих потребностей в подключении к данным, и это работает очень хорошо.Создать файл .NET DataSet из запроса?
Ну, теперь мне нужно написать некоторые Crystal Reports. Для эффективности (и потому, что данные результатов не вписываются ни в какие сущности), я не могу использовать мои объекты nhibernate в качестве источника данных для отчетов; Аналогично, я не могу создать соединение ODBC для Crystal Reports, потому что на целевом сервере нет драйвера или DSN. Поэтому я подумал, может быть, я смогу создавать наборы данных, основанные на запросах, которые я пишу, и заполнять их с помощью поставщика данных Npgsql и передавать их в Crystal Reports. Я выполнил доказательство концепции, и он работает очень хорошо.
Проблема заключается в том, что у меня много отчетов и множество наборов данных для сборки, и очень важно вручную строить схему в каждом из них. Интерфейсы автоматизации набора данных не позволят мне выбрать поставщика данных npgsql в селекторе соединений, что довольно раздражает.
Я надеялся, что может быть довольно простой способ собрать небольшой код, чтобы получить схему набора данных через поставщик данных npgsql во время выполнения, а затем сериализовать схемы в файлы, которые я мог бы затем импортировать в свой проект отчетности в проекте время.
Можно ли это практически сделать? Есть ли более простой способ? Там есть множество отчетов и множество столбцов, а ручной код для них будет чрезвычайно трудоемким.
интерфейсы автоматизации
Если я размещаю Npgsql в GAC на моей машине разработки для материалов времени разработки, считаете ли вы, что это будет иметь последствия с его использованием в производственной среде во время выполнения, когда библиотека находится только в локальном каталоге bin? Казалось бы, это сработает. –
Настройки GAC и DDEX на вашем компьютере не влияют на производственную среду. – Dennis
Хм, похоже, что это не работает. Вздох... –