2012-05-04 3 views
0

OS가 E :에 설치되어 있고 C : 드라이브가없는 PC가 하나 있습니다. 이 위에는 잘 실행되는 .Net 4.0 WPF 응용 프로그램이 설치되어 있습니다.Crystal Reports 2011 .Net 4.0 OS가 E에 설치됨 : 보고서를 실행할 때 오류가 발생합니다.

그러나 Crystal 보고서에 액세스하려고하면 예외가 발생합니다. 이 사용자는 Windows 탐색기의 네트워크 위치에서 보고서에 액세스 할 수 있으므로 Crystal에 로컬로 복사하도록 요청하면 문제가 발생한다고 가정합니다.

따라서 누구나 로컬 복사본이 생성 될 위치 및/또는이를 제어 할 수있는 방법을 조언 할 수 있습니다.

감사

보고서를 엽니 코드 :

oReportDocument.Load(oSystemData.ReportPath + StandardReport.RPTFile, CrystalDecisions.[Shared].OpenReportMethod.OpenReportByTempCopy) 

호출 스택의 추출 :

CrystalDecisions.CrystalReports.Engine.EngineExceptionUtils.DoThrowException에서
CrystalDecisions.CrystalReports.Engine.LoadSaveReportException: Invalid report file path. 

(문자열 메시지, EngineExceptionErrorID 아이디) at CrystalDecisions.CrystalReports.Engine.ExceptionThrower.ThrowEngineException (String messageID, EngineExceptionEr CrystalDecisions.CrystalReports.Engine.ReportDocument.Load (문자열 파일 이름, OpenReportMethod openMethod, INT16 parentJob) CrystalDecisions.CrystalReports.Engine.ReportDocument.get_Subreports에서 CrystalDecisions.CrystalReports.Engine.ReportDocument.EnsureLoadReport() 에서 에서 rorID ID) ()

답변

1

로드 할 때 보고서의 로컬 임시 복사본을 만듭니다. 해당 시스템에서 임시 환경 변수가 무엇인지 확인하십시오. e : \ temp 인 경우 해당 폴더에 파일을 쓰는 데 필요한 권한이 없다고 생각됩니다.

즉, Windows WPF 응용 프로그램을 작성하는 것처럼 들릴 수 있으므로 사용자가 제안하고 실제로 "c : \ anything"과 같은 잘못된 디렉터리를 사용하려고 시도 할 수 있습니다.

당신이 여기 다운로드 할 수 있습니다 잘못, 내가 실행하는 것이 좋습니다 프로세스 모니터 것입니다 정확히 알고 : http://technet.microsoft.com/en-us/sysinternals/bb896645

그것은 사용하기 쉽고을, 유일한 짜증나는 점은 시스템에 관찰 사물의 거대한 숫자입니다. 이를 처리하려면 캡쳐 창에있는 '난장판'항목을 마우스 오른쪽 버튼으로 클릭하고 필터링을 선택하십시오. 필터를 사용하여 프로세스 (예 : myWPFapp.exe) 또는 활동 유형 (이 경우 파일 시스템을 모니터링하려는 경우)으로 이동할 수 있습니다 (분명히).

일단 이벤트를 캡처하고 필터링하여 창을 빠르게 채우지 않으면 응용 프로그램을 실행하십시오. 하드 드라이브 및 사용하려고 시도한 폴더에 대한 액세스가 실패했음을 알 수 있습니다.

행운을 빈다.