Дизайнер отчетов создает кристальный отчет в дизайнере с прямым подключением к базе данных с подключением ODBC (DSN). Те же отчеты выполняются через приложение Winform (C#) через DSN и предоставляют сервер базы данных, базу данных, идентификатор пользователя и пароль.Отчет, запрашивающий вход в базу данных при установке DataTable как DataSource
Мне нужно внести такие изменения в объект Crystal Report. ReportDocument не должен напрямую подключаться к базе данных через DSN. Вместо этого мы будем передавать данные через службу, вызывая соответствующую хранимую процедуру и параметры как System.Data.DataTable
. Этот объект DataTable
должен использоваться для заполнения/создания отчетов.
Я получаю хранимую процедуру и информацию о параметрах от ReportDocument.DataBase.Tables[I].Location
и ReportDocument.DataDefinition
объекта соответственно. После установки DataSource с помощью ReportDocument.DataBase.Tables[I].SetDataSource(DataTable)
он по-прежнему запрашивает учетные данные для базы данных/сервера и пользователя для подключения к серверу.
Можно ли создать сценарий и заполнить отчет таблицей в памяти вместо прямого подключения к базе данных через ODBC?
Почему мне нужно предоставлять информацию подключения к базе данных, когда данные I уже доступны в DataTable? – Nps
Свойство безопасности CR для защиты данных от несанкционированного доступа. Учетные данные БД, такие как пароли, не сохраняются в отчетах. Когда вы создаете структуру таблицы Crystal report, поля, их тип и размер, отношения и т. Д. Встроены в отчет, используя текущее соединение с базой данных и logininfo. Когда вы укажете свои собственные отключенные данные (DataTables), новая информация о схеме должна совпадать с существующей. У вас может быть идея, просто взглянув на SQL-запрос Crystal Report? Таким образом, для данных, проверки и безопасности базы данных вам придется указывать ее каждый раз при загрузке CR. – haraman
Также отключены данные, такие как структура таблицы данных DataTable и данные только. В них нет базы данных, сведений о подключении. – haraman