Crystal Reports XI를 사용하고 있습니다. C#/ASP.net으로 작성된 공유 지점 사이트에 Crystal Reports를 포함시킵니다. 우리 웹 개발자는 코드로 보고서를 생성하고 Select Formula 오브젝트에 추가하여 선택 기준을 전달합니다.선택 수식 SQL 명령 개체에서 패스 스루가 작동하지 않습니다.
내가 실행중인 문제는 SQL Command Object를 사용할 때 선택 수식이 SQL Server에 where 절로 전달되지 않는다는 것입니다. 그러면 전체 결과 집합이 쿼리되고 서버에서 제한됩니다. 초대형 테이블의 경우 성능이 크게 떨어집니다. foo는 foo는 FROM SELECT foo.id, foo.code, foo.name
선택 기준으로 표시됩니다 : "someName"
만약 같은 {Command.name} 여기
은 예입니다 그런 다음 전체 foo 테이블을 쿼리 한 다음 크리스탈이 전체 집합에서 제한을보고하는 보고서를 실행합니다.대신 명령 개체가없는 테이블을 기반으로 수행하면 WHERE 절이 SQL 쿼리에 추가되고 모든 제한이 db 수준에서 수행됩니다.
SQL 명령이 잠재적으로 매우 복잡하여 WHERE 절을 맨 아래에 추가하는 것이 항상 가능하지 않기 때문에 이런 상황이 발생한다고 가정합니다. 내 질문에 다음과 같은 일종의 통과를 강요하는 좋은 방법이있다. 나는 C# 개발자들과 이야기하고 매개 변수를 전달하는 방법을 다시 시도해야할까요?
도움과 토론에 감사드립니다.
정말 좋은 생각입니다. 보기를 사용하여 복잡한 논리를 저장 한 다음 링크를 통해 CR을 통해 추가 할 수 있습니다. 그런 다음 CR은 where 절의 선택 수식을 통과합니다. – thaagenson