보내는 양식 작성을 통해 전자 메일(첨부 파일)구문 분석하여 SQL Server2005?

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

  •  10-07-2019
  •  | 
  •  

문제

에 요구 사항의 새로운 프로젝트하고 싶었는지 확인 이용 케이스 사운드:

  • 사용자가에 InfoPath(2003)양식 로컬에서 자신의 PC
  • 버튼에 InfoPath 형태로 제목이'제출'을 제공합한 새로운 전망(2003)전자 메일 메시지와 infopath 형태로 첨부됩니다.사용자가 누를 보내는 이메일로 전송 교환 사서함이 있습니다.
  • sql server preiodically 검사 이는 사서함,다운로드는 어떤 새로운 제출된 infopath 첨부 양식
  • sql 서버 구문 분석하는 첨부파일과 분야에서 infopath 형태입니다.

은 SQL 서버의 가능한 구문 분석메일 첨부 파일을 이 방법은?모든 주의 사항이 접근법?

매력을 사용하여 Outlook 으로 제출 기술은 프로세스는 사용자에 대해 동일한 경우 그들은 오프라인 상태입니다.Outlook 것입니다 그런 다음 자동으로 동기화 할 때 그들은 돌아와 온라인.그것은 필수 사용자가 어떤 방법으로 작성 양식에서 오프라인,'제출',그리고 다음 자동으로 동기화 서버와 함께 할 때 그들은 다음 온라인.

편집:을 명확히 하기 위해,나를 찾지 않는 방법으로 캐시 형태로 서버에서 데이터->클라이언트입니다.내가 찾는 것을 캐시 완료된 형태입니다.건설하는 별도의 응용 프로그램을 캐시 작성한 보고서를 클라이언트에서 옵션을 선택하지 않습니다.

도움이 되었습니까?

해결책

이후 버전의 SQL 서버에하는 것으로 실행이 가능합니다.순 코드 내에서,그리고 이와 같이할 수 있습니다 설문 조사서함서 SQL 서버 및 프로세스 InfoPath 형태입니다.그러나 나는 확실하지 않다 나는 그것을 이 방법입니다.

그것이 더 좋을 수 있습을 쓰는 것을 고려하십시오 윈도우 서비스는 않습니다.윈도우 서비스 시작 검사하고,메일 박스의"서비스"계정을 읽은 메일을 첨부 파일을 추출,프로세스 xml 고,결국 데이터를 작성 SQL.또한,아마도 대응하는 확인 이메일 또는 오류를 경우 사업 규칙이나 유효성 검사 오류가 발생했습니다.

나는 확실하지 않다 나는 모든 위의 논리로 SQL-에 대한 한 가지,나는 당신을 의심해야 할 것이 문제와 함께 계정(하이 계정에 SQL 실행 중에 액세스할 수 있는 Exchange 계정).

마일리지 달라질 수 있습니다 당신은 프로토타입이 결정하는 당신을위한 최고의 작품,그러나 나는 그리고 코드의 사용환으로"작업 큐"별에서 SQL 만 코드를 다루는 글로 데이터를 테이블에서 SQL.

다른 팁

위에서 설명한 접근 방식을 사용하지 않을 것입니다. SQL Server가 Exchange 사서함을 보는 것보다 더 바람직한 것으로 보이는 몇 가지 접근법이 있습니다. 당신이 만드는 주요 요점과 중요한 요구 사항은 인포 패스 형태가 오프라인 모드에서 작동하도록 허용한다는 것입니다. 프로젝트의 "오프라인 모드"와 "데이터 전송"부분을 두 개의 별개적이고 별도의 부분으로 생각합니다. 1) 양식과 데이터는 인터넷 연결을 사용할 수있을 때까지 클라이언트에 저장되어야합니다. 연결을 사용할 수있게되면 양식이 있고 데이터를 서버로 전송해야합니다.

Infopath 양식을 설정하여 SQL Server에 직접 제출하고 Exchange "Middleman"을 완전히 우회 할 수 있습니다. 양식을 설계 할 때 InfoPath의 설정은 매우 간단합니다. 1) 연결에 "데이터 제출"을 활성화하고 2) 제출 옵션을 구성합니다. 이것 기사 그렇게하는 방법에 대한 세부 사항이 있습니다. 또한 SQL Server에 대한 연결은 오프라인 사용을 위해 설정 될 수 있습니다. 기사. 이 접근법의 유일한 경고는 데이터베이스 스키마를 변경하여 지원하기 위해 데이터베이스 스키마를 변경해야 할 수도 있다는 것입니다.

또 다른 접근법은 InfoPath 양식이 SQL Server 2005 HTTP Endpoint에 제출하도록하는 것입니다. InfoPath 클라이언트는 영광스러운 XML 편집기이며 HTTP 엔드 포인트는 기본적으로 웹 서비스의 다른 이름입니다. HTTP 엔드 포인트에서 데이터가 XML로 저장되는 스테이징 테이블로 양식 데이터를 수신 한 다음 해당 스테이징 영역에서 해당 데이터를 구문 분석 할 수 있습니다. 여전히 오프라인 사용을 위해 Infopath 연결을 설정해야합니다. 이 접근법의 주요 경고는 Microsoft가 WCF를 선호하여 SQL Server 2008에서 HTTP 엔드 포인트를 사용하지 않는다는 것입니다.

그리고 제가 제안하고자하는 다른 접근법은 WCF 자체를 사용하여 InfoPath 클라이언트로부터 XML 양식 데이터를 수신하는 것입니다. 이 접근 방식을 사용하면 양식의 데이터 소스를 설계 시간에 WCF 웹 서비스에 연결 한 다음 오프라인 사용 양식을 설정해야합니다.

나는 이것이 당신에게 유용하고 적어도 당신에게 올바른 방향을 가리킬 수 있기를 바랍니다.

SSB vs. Mail의 보장 된 배송 시맨틱으로 인해 고객의 Express Edition에 의존하여 Express 및 사용 서비스 브로커의 InfoPath (또는 App Data)를 저장하는 유사한 프로젝트를 보았습니다. 이를 통해 모든 SQL 솔루션을 쉽게 판매 할 수 있으며 서버에서 폴링 할 필요가 없습니다. 또한 마임 파싱을 처리 할 필요가 없으며, 모두 XML 처리입니다. 그래도 희미한 마음을위한 것은 아니지만 SSB를 확보하고 달리는 것은 어려운 일입니다. 메일 배송과 함께 가기로 결정한 경우 외부 서비스를 구축, 디버그 및 문제 해결하기가 더 쉬울 것입니다. 다음에 대한 답이 있어야하는 더 미세한 포인트 문제가 있습니다 .- 메일 듀크 작업과 테이블 쓰기 작업을 어떻게 일관되게 유지 하시겠습니까? 구성 요소는 Exchange 읽기/삭제 및 SQL 삽입을 하나의 분산 트랜잭션에 사용해야합니다. - 당신의 논리는 Infopath 문서를 주문할 준비가되어 있습니까? Mail Transport는 배송 순서에 대해 절대적으로 보장하지 않으므로 '주문 작성'Doc 전에 '주문 삭제'문서가 표시 될 수 있습니다. 발신자 시퀀스 번호를 구현하고 메일 위에 TCP를 재창조 할 예정입니까? - 처리로 인해 상관 문서의 병렬 프로세스가 허용됩니까? 스레드 1이 Doc 1을 선택하고 스레드 2가 동일한 발신자에서 Doc 2를 픽업하고 Doc 2가 Doc 1 (즉, 동일한 비즈니스 트랜잭션 참조)과 관련이있는 경우 데이터베이스 쓰기에서 어떻게됩니까? 교착 상태가 될까요, 업데이트가 느슨해지고, 롤백 될까요?

다리 아래에는 많은 용이 있습니다 ...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top