2010-11-27 2 views
0

MS SQL Server에 대해 아무 것도 모르지만 기준이 충족 될 때마다 C# .exe를 호출하고 데이터베이스 필드를 전달하는 트리거를 설정할 수 있는지 알아야합니까? 새 행이 그것을 실행하는 C#을 응용 프로그램을 원인과 행에서 그것을 값을 전달 추가됩니다 그래서 때마다SQL 트리거 실행 .Net 응용 프로그램, 이것을 할 수 있습니까?

... 누군가에게 의미가

희망!

그렇다면 어떻게 추가하나요? 나는 그것이 SQL 생각 2003

+1

2 질문; 1 - 응용 프로그램이 완료 될 때까지 C#이 트랜잭션을 커밋하지 못하도록 하시겠습니까? 2 - C# 응용 프로그램은 어디에서 실행됩니까? (동일한 컴퓨터, 다른 컴퓨터)? – akaphenom

+0

SQL 2003이 없습니다. 따라서 SQL 2000/2005를 사용해야 할 것입니다. 2000의 경우 확장 저장 프로 시저를 사용할 수 있습니다. 2005 년에는 CLR 통합이 이루어졌습니다. Dave가 아래에 언급 한 것처럼, 이것은 나쁜 생각처럼 들립니다. 이와 같은 일을 왜하고 싶은지에 대해 더 많은 상황을 제시하십시오. 더 나은 옵션이있을 수 있습니다. – InSane

+0

안녕하세요 1 차단하지 않기를 바랍니다. 2. 동일한 서버에 있습니다. – RTFS

답변

2

ssis 패키지를 살펴 보셨습니까? 이것은 SQL과 C# 사이의 간단한 상호 작용을 제공합니다.

+0

감사합니다. – RTFS

+1

웹 서비스에서 제공하는 데이터를 얻을 수 있으면이를 ssis 패키지에 추가 할 수 있습니다. 나는 ssis를 읽고 조금 시간을 보내는 것을 추천합니다. 여러 개의 프로세스를 결합하고 사용하기가 매우 쉽습니다. 나는 당신이 웹 서비스를 사용할 수 있도록하고 싶었고, 아아를 할 수 있었다. http://www.codeproject.com/KB/database/webservicessis.aspx – hoakey

+0

이것은 내가 많은 감사를 필요로하는 것처럼 보인다. – RTFS

0

. 먼저 CLR trigger을 사용할 수 있습니다.

둘째로, xp_cmdshell을 사용하여 다른 앱을 쉘 아웃하여 값을 얻을 수 있습니다.

둘 다 내가 매우 매우 나쁜 아이디어라고 생각할 것입니다. 특히 SQL Server에 대한 지식이 제한되어있는 경우에 특히 그렇습니다. 나는 강하게, 강력하게 당신이 방아쇠의 내부에서 시도하고있는 것과 같은 작업을 수행하지 않는 것을 고려할 것입니다. 심각한 성능 및 보안 고려 사항이 있습니다.

당신이하고있는 일을 시도하는 대신, 여기에 이와 같은 업데이트를 수행하도록 애플리케이션 코드를 변경하는 것이 좋습니다.

+0

제한된 아니요, 아니요.이 C# 실행 파일을 사용하면 SQL Server 트리거를 활용할 수 없습니다. 새로운 업데이트를 찾고있는 DB를 폴링 할 수 있다고 생각하지만 방아쇠 (올바른 용어 인 경우)가 더 효율적일 것 같아요? – RTFS

0

이것은 나쁜 생각처럼 보입니다. 여러분이하려고하는 것을 구현하는 데 아마도 좋은 방법이있을 것입니다. 비즈니스 요구 사항에 대한 자세한 정보를 제공 할 수 있습니까?

+0

OK 충분한 정보를 제공하지 않아 죄송합니다. 데이터가에서 가져온 데이터입니다. 외부 피드를 제공하지만 모든 데이터가 항상 필요하지는 않습니다. 따라서 웹 Se 보충 자료를 가지고 다른 테이블에 그것을 추가하는 rvice. 웹 서비스를 호출하는 방법을 알고 있지만 내 응용 프로그램을 호출하기 위해 어떤 종류의 트리거를 작성하는 것에 대해서는 전혀 모른다. 지금까지 모든 도움을 주셔서 감사합니다. – RTFS

0

SQL 트리거를 작성하여 테이블에 쓰지 않는 이유는 무엇입니까? 그런 다음 C# 테이블로 폴링하고 플래그 코드를 찾아이를 사용하여 C# 메시지를 호출합니다.

+0

나는 이것을 생각했지만 didn을 생각했다. x 시간 동안 최신 날짜가 없을 때 DB를 계속 누르고 싶지 만 업데이트가 있으면 신속하게 추가 데이터를 가져와야합니다. 어쨌든 제안 해 주셔서 감사합니다. – RTFS

관련 문제