У меня есть файл отчета Crystal, и я хочу знать, как называется хранимая процедура, используемая в отчете. Как я могу получить его через код позади. Возможно ли это?
C # код будет лучше, так как я занимаюсь кодированием в C #.
Предполагая, что вы просто заинтересованы в получении имени SP, есть несколько способов решить эту проблему:
Если у вас есть Crystal Reports ...
Откройте диалоговое окно Установить местоположение источника данных .На нижней панели будет древовидное представление доступных объектов базы данных, включая список хранимых процедур.Выделенный SP будет тем, кого он вызывает для извлечения данных для отчета.
Если это не помогает (т. Е. Нет выделенной хранимой процедуры), то щелкните правой кнопкой мыши вв области конструктора отчетов выберите Database -> Show SQL Query.Это отобразит запрос, используемый для получения данных из вашей базы данных.Возможно, в нем будет имя хранимой процедуры.
Database -> Show SQL Query
Если у вас нет Crystal Reports ...
Используйте этот код из Код проекта , чтобы загрузить свой отчет в C # и просмотреть его оттуда.http://www.codeproject.com/KB/cs/loadingcrystalreport.aspx
Если это не поможет (то есть: вы не готовы заняться аспектом C # Crystal Reports), тогда вы можете использовать инструмент профилирования вашей базы данных, чтобы шпионить за вызовами изваш отчет, чтобы увидеть, какие SP (ы) он вызывает, чтобы получить данные, необходимые для запуска отчета.SQL Server SQL Profiler является хорошим инструментом именно для этой цели.Вот несколько учебных пособий, которые помогут вам начать работу:
SQL Profiler
К сожалению, нет способа сделать это программно. Вы можете увидеть источник данных, установить источник данных, но вы не можете получить фактический SQL, используемый для генерации отчета, кроме как через конструктор Crystal Reports.