서비스에서 프로그래밍 방식으로 InfoPath 2007 파일을 어떻게 열 수 있습니까?

StackOverflow https://stackoverflow.com/questions/303325

  •  08-07-2019
  •  | 
  •  

문제

Windows 서비스에서 프로그래밍 방식으로 InfoPath 2007 파일을 열려고하지만 다음과 같은 오류가 발생합니다.

system.runtime.interopservices.comexception (0x80043000) : InfoPath는 다음 파일을 열 수 없습니다. c : path datafile.xml. 이 작업을 완료하기 위해 충분한 스토리지를 사용할 수 없습니다.

이 파일은 Infopath Designer에서 올바르게 열립니다. 또한 WinForms 응용 프로그램으로 프로그래밍 방식으로 실행됩니다. 그러나 Windows 서비스로 실행하려고하면 날아갑니다.

나는 강력한 구글과 상담했다. 다시 돌아 오는 두 가지 주요 결과는 XML을 기형 (양식이 수동으로 올바르게 열리기 때문에 원인이 아님) 또는 데이터베이스에 액세스하려고 시도하는 것과 관련이 있습니다 (내가하지 않는).

누구 든지이 작업을 수행하는 방법을 아는 사람이 있습니까? 서비스를 설정 해야하는 권한이 있습니까?

업데이트:

Anders 요청에 따라 코드는 다음과 같습니다. 원래 질문을 게시했을 때 6 개월 전에 작업했던 정확한 코드가 아닐 수도 있습니다. 우리는 그 후 XtrarePorts를 사용하여 작업하기가 훨씬 쉽고 이러한 암호 오류가 적기 때문에 XtrarePorts를 사용했습니다. 그러나 나는 다른 사람을 위해이 질문을 해결하고 응답이 필요할 수있는 다른 사람을 위해이 질문을 해결하고 싶습니다.

Microsoft.Office.Interop.InfoPath.Application infoApp = new Microsoft.Office.Interop.InfoPath.Application();
try
{
    Microsoft.Office.Interop.InfoPath.XDocument xDoc = null;
    xDoc = infoApp.XDocuments.Open(fileName, (int)Microsoft.Office.Interop.InfoPath.XdDocumentVersionMode.xdUseExistingVersion);

    xDoc.PrintOut();
    infoApp.XDocuments.Close(0);
}
catch (Exception ex)
{
    //handle error here
}
finally
{
    try
    {
        if (infoApp != null)
            infoApp.Quit(false);
    }
    catch { }
}
도움이 되었습니까?
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top