Я должен получить название хранимой процедуры, которую выполняет кристаллический отчет. Есть ли любой способ сделать это в C# с помощью CrystalDecisions. CrystalReports. Механизм. Объект ReportDocument?
Я, может казаться, не нахожу свойство, которое даст мне название хранимой процедуры.
Это даже возможно? Я был почти через все свойства, о которых я могу думать. Объект DataDefinition имеет наборы для Формулы, Параметра, Названия группы и Рабочих Общих Полей, но не один для Полей Базы данных.
Править: Я должен сделать это программно, поскольку у меня есть много отчетов. Мне нужна опция пропуска фактического выполнения отчета и просто выполнения хранимой процедуры, которую использовал бы отчет. Таким образом, когда информация об отчете вставляется в базу данных с помощью программы, я хочу смочь вытащить ее хранимую процедуру и хранить ту информацию отдельно.
Вы собираетесь пнуть себя. SP находятся в ...
ReportDocument.Database.Tables
затем Table.Location
также не забывайте о SubReports ... это еще одна коллекция ReportDocuments.
Вы можете использовать SQLServer Profiler , чтобы фиксировать, какая хранимая процедура вызывается при запуске отчета Crystal.
Во-первых, у вас должны быть права на запуск профилировщика.
Во-вторых, вам нужно запустить трассировку и немедленно выполнить отчет.
В-третьих, остановите трассировку и сканирование, чтобы увидеть имя хранимой процедуры (й), выполненных отчетом.