2011-06-12 3 views
1

ASP.NET/SQL 서버 설치 프로그램에서 rails/mysql 설치로 마이그레이션하고 있습니다. 이 때문에 SQL Server 데이터베이스에서 데이터를 전송해야하지만 직접 SQL Server에서 mysql으로 이동할 수는 없습니다. 레코드 기반으로 수행해야 할 일이 있기 때문에 필터.C#에서 사용자 지정 쿼리 용 웹 서비스

이 프로세스를 처리해야하기 때문에 내 레일 웹 서버가 ASP.NET 서버에서 웹 서비스를 사용하고 SQL Server 데이터베이스에서 레코드를 가져 오는 것이 가장 좋은 방법이라고 생각합니다. 레일 서버가 데이터를 수정 한 후 데이터베이스의 각 레코드를 저장할 수 있습니다.

레일즈 서버가 결정한 간단한 "select * from table_name"쿼리를 반환하고 싶습니다. 즉, 레일즈 서버가 "select * from customers"를 ASP.NET 서버로 보내고 싶다면 asp.net 서버가 XML 또는 json을 통해 데이터 목록을 반환합니다.

이것이 가능합니까? 웹 서비스를 통해 데이터를 반환하는 것이 가능하다는 것을 알고 있지만 SQL 쿼리를 소비하는 서버에서 확인할 수 있는지 궁금합니다.

감사합니다.

답변

0

당신은 WCF Data ServicesADO.NET Data Services
을 확인해야합니다. 귀하의 필요에 맞는 것 같습니다.

DataService에 대한 테이블 Customers에 대한 쿼리는 http://localhost:12345/DATABASE_NAME.svc/Customers이 될 것이므로 쿼리에 일부 필터 표현식을 쉽게 추가 할 수 있습니다.

+0

- 링크에 대한 감사합니다! – dingalingchickenwiing

+0

당신은 환영합니다 :) – VMAtm

0

전혀 웹 서비스를 제공하지 않을 것입니다.

SQL-SERVER에서 데이터를 .cvs (플랫 파일 대상) 형식으로 내 보낸 다음 RoR에서 구문 분석 할 수 있습니다. 어떻게해야할지 모르지만 RoR에는 프레임 워크에 내장 된 .cvs IO 도구가 있습니다.

웹 서비스를 사용하는 데이터 량이 많은 경우 .cvs 파일을 만들고 삽입하기 위해 로컬로 사용하는 것보다 훨씬 효율적입니다.

+0

성능에 관심을 가져 주셔서 감사합니다,하지만 나는 효율성에 대해 전혀 염려하지 않습니다 ... 데이터를 옮긴 후에, 나는 그 서버를 닫을 것입니다! 실제로 데이터를 올바르게 구문 분석하는 데 약간의 시간이 걸릴 수 있으므로 수동으로 .cvs 파일을 이동하지 않는 시간을 절약 할 수 있습니다. – dingalingchickenwiing

1

ServiceStack 또한, JSON은, CSV, JSV 및 쉬운 심지어 HTML이의 표보기를 읽는 코드의 단지 1 라인과 웹 서비스가 자동으로 XML 데이터를 반환 할 수있는 곳이 죽은 쉽게 할 수있게하여 데이터.

    : 당신이 모두를 반환하는 웹 서비스를 호출 할 수 있습니다 위의 단지 코드와 다음

    public class CustomersService : RestServiceBase<Customers> 
        { 
          public IDbConnectionFactory DbFactory { get; set; } 
    
          public override object OnGet(Customers request) 
          { 
           return new CustomersResponse { Customers = DbFactory.Exec(dbCmd => 
            dbCmd.Select<Customer>()) 
          }; 
        } 
    

    : 다음 코드가 전부입니다

    보기는 Northwind data example 당신은 고객 포항 강판의 목록을 반환해야

  • XML
  • JSON
  • CSV
  • HTML
  • JSV
  • SOAP
  • 길을 가야하는 것 같은 소리