2017-12-15 19 views
0

ASP.NET (C#) & SQL Server 2000을 사용하여 개발 된 비즈니스 응용 프로그램을 작성 중입니다. SQL Server 데이터베이스의 일부 데이터를 자동으로 전송하는 메커니즘을 개발하고 싶습니다. 매 5 분마다 sybase 데이터베이스.ASP.NET 스레드 대 Windows 서비스

현재 나의 지식에 따르면,이를 달성하기위한 두 가지 접근법이 있습니다.

  1. 를 사용하여 타이머를 Sybase SQL 서버 & 쓰기에서 데이터를 읽어 내 ASP.NET 응용 프로그램에서 스레드를 시작합니다.

  2. Sybase에 쓰는 SQL 서버 &에서 데이터를 읽는 Windows 서비스를 개발하십시오.

그래서 제 질문은 다음과 같습니다

  1. 어떤 옵션이 최고?
  2. 각 옵션의 찬성은 &입니다.
  3. 이 데이터 전송을 수행하는 데 사용할 수있는 다른 방법이 있습니까?
+0

ASP.Net은 예약 된 작업에 적합하지 않습니다. SQL 작업이이를 수행 할 수 있습니다. 특정 답변에 대한 질문 범위가 너무 넓습니다. – Crowcoder

+0

ASP.NET 사이트에서 스레드를 수동으로 시작하는 경우 해당 스레드 중 하나에 처리되지 않은 예외가 있으면 전체 사이트가 중단됩니다. ASP.NET은 이런 종류의 일에 끔찍한 선택입니다. – mason

+0

Sybase 데이터베이스의 SQL Server 데이터베이스에서 SQL Agent Job을 사용하여 데이터를 전송하는 방법은 무엇입니까? – Somi

답변

1

나는 이것을 위해 Windows 서비스와 함께 갈 것입니다. 결국 ASP.NET은 데이터를 보내지 않아도 이런 종류의 작업에 좋은 해결책이 될 수 없습니다. —. Task API를 고려하지 않고 ASP.NET 웹 응용 프로그램을 비동기 적으로 프로그래밍하지 않으면 실수를 저지르기 마련입니다. 또한 사용자의 환경이 모든 최신 기능 (예 : Task API 또는 모든 기능과 서비스가 포함 된 SQL Server의 작업)을 지원하는지 여부도 확실하지 않으므로 기본 서비스가 완벽한 방법이 될 수 있습니다. 그것은, while(true) 아마도 당신을 위해이 작업을 수행 할 것 이상

private async Task saveData() { 
    // Copy the data 

    // Wait for 5 minutes "asynchronously" 
    Task.Delay(5 * 60 * 1000); // 5 minutes 
} 

마지막으로, 그냥 반복. 그러나 대부분의 경우 자신의 발로 발화합니다.

나는 작업마다 N분를 실행하는 Windows 서비스, 또는

  • 타이머 기반
  • 비동기
  • 관리 대상

    +0

    Afzaal에 감사드립니다. 답변에서 SQL Agent Jobs에 대해 언급했습니다.SQL Agent Job을 사용하여 SQL Server의 데이터베이스에서 SYBASE의 데이터베이스로 데이터를 전송할 수 있습니까? 둘 다 서로 다른 두 가지 데이터베이스 관리 시스템입니다. 동일한 DBMS에 두 데이터베이스 (원본 및 대상)가 모두있는 경우 SQL Agent Job 사용을 고려할 수 있습니다. 하지만 다른 DBMS에서 작동 할 수 있습니까? 설명 해주십시오. – Somi

    +0

    @Somi, 네가 맞다. 나는 단지 트리거를 언급했다. 어쨌든, 이것에 대해 이야기하는 또 다른 스레드가 있습니다. https://dba.stackexchange.com/questions/114634/how-to-transfer-data-from-sybase-to-sql-server-database, SQL Server로 Sybase 데이터베이스를 가져 오는 것은 다른 방법입니다. 당신은 사물을 조금 뒤집을 수 있습니다. :-) –