그래요.이 구문을 이해하지 못하고 약간의 지침이 필요합니다. SSRS의 XML 쿼리 구조는 XML 구조 또는 WCF 서비스를 쿼리하는 데 사용됩니다. 나는 잘 작동하지만 데이터 유형은 WCF 서비스에서 정의 된 것이 아니므로 데이터 유형이 변환 된 후에 변환해야합니다. 어떻게 든 먼저이 일을 할 수있는 방법이 있습니까? 나는이 MSDN 문서 보았 듯이XML에서 데이터 유형을 명시 적으로 정의하십시오. WCF servicie에서 인식 할 SSRS 쿼리
나는 이렇게 가정 http://msdn.microsoft.com/en-us/library/ms365158%28v=sql.105%29.aspx
을하지만 내 구조가 생성에서와 같이 손실하고 'DataContract'내 '의 ServiceContract'에 적용하고 나는 구조를 협상 할 수 없습니다 아무리 노력해도. 나는 그것 모두 또는 아무것도 얻는다.
가장 간단한 용어로 : xml 쿼리 방법을 사용하여 SSRS에서 텍스트 값을 정수로 어떻게 변환합니까? 핵심 문제는 내가 매트릭스 보고서를 수행 할 내가이 작업을 수행 할 수 있습니다
행은 다음과 같습니다 '상태' 열은 다음과 같습니다 'Adjudication_Type' 값은 다음과 같습니다!의 (표현) = SUM (CINT (필드 볼륨. 값))
그러나이 방법은 IMHO에서 데이터가 계약서에 정의 된대로되어야합니다. 그렇지 않으면 SSRS에서 클라이언트가 정의 할 때 데이터를 명시 적으로 올바른 유형으로 만들 수있는 능력이 있어야합니다. 나는 다른 일 SSRS하는 WCF와 다른 문제를 가지고 있었고,이 스레드에서 해결했다 : 그래서 QUERY method of Soap request for SSRS and WCF testing
의 내가 사용하는 .NET 4.5 엔티티 모델을 만들어
내 생성 및 구현을 통해 실행하자를 C#의 Entity Framework 5를 라이브러리 프로젝트에서 사용하여 데이터의 모델 부분을 격리합니다. 데이터의 T4에서 생성 된 기본 모델과 같이 모델로 클래스 : 다음 그것을 유지하기 위해 자사의 '자신의 프로젝트와 같은은 BasicHttpBinding을 사용하여 호스팅하는 웹 사이트 WCF 프로젝트에 인터페이스와 구현을 생성
public partial class fMonthlyImpactedVolume_Result { public string state { get; set; } public string ADJUDICATION_TYPE { get; set; } public Nullable<int> Yr { get; set; } public Nullable<int> Mn { get; set; } public Nullable<int> VOLUME { get; set; } public Nullable<decimal> QSI_FEES { get; set; } public Nullable<int> ActivityDays { get; set; } }
- 모델에서 격리.
- 나는 웹 사이트 프로젝트에서 엔티티 프로젝트를 참조하고
내 인터페이스 그래서이다 (나의 이해에서 POCO 클래스 생성기처럼 * TT =.)를 T4 템플릿에서 생성 된 클래스를 반환 :
를 반품은 nullable 형식을 생성하지 않습니다 있도록 '데이터 계약'에서 명시 적으로 값을 알리는 또 다른 하나로서있는 그대로 단지 모델을 구현하기위한 하나를 다음과 같이 반환[ServiceContract] public interface IReportingService { [OperationContract] List<fMonthlyImpactedVolume_Result> GetMonthlyData(string aStart, string aEnd); [OperationContract] List<MonthlyType> GetMonthlyData2(string aStart, string aEnd); } [DataContract] public class MonthlyType { [DataMember(Order = 0)] public string state; [DataMember(Order = 1)] public string AdjudicationType; [DataMember(Order = 2)] public int Yr; [DataMember(Order = 3)] public int Mn; [DataMember(Order = 4)] public int Volume; [DataMember(Order = 5)] public decimal QSI_Fees; [DataMember(Order = 6)] public int ActivityDays; }
내 구현입니다.
public List<fMonthlyImpactedVolume_Result> GetMonthlyData(string aStart, string aEnd) { using (SSRSReportsEntities re = new SSRSReportsEntities()) { DateTime dstart = DateTime.Parse(aStart); DateTime dend = DateTime.Parse(aEnd); return re.fMonthlyImpactedVolume(dstart, dend, null).ToList(); } } public List<MonthlyType> GetMonthlyData2(string aStart, string aEnd) { using (SSRSReportsEntities re = new SSRSReportsEntities()) { DateTime dstart = DateTime.Parse(aStart); DateTime dend = DateTime.Parse(aEnd); return re.fMonthlyImpactedVolume(dstart, dend, null) .Select(m => new MonthlyType { state = m.state, AdjudicationType = m.ADJUDICATION_TYPE, Yr = (int) (m.Yr ?? 0), Mn = (int) (m.Mn ?? 0), Volume = (int) (m.VOLUME ?? 0), QSI_Fees = (decimal) (m.QSI_FEES ?? 0), ActivityDays = (int) (m.ActivityDays ?? 0) }) .ToList(); } }
나는 7 엔터프라이즈 '보고'라는 내 기본 사이트에 응용 프로그램에서 Windows에 IIS 7.5에 내 로컬 호스트에이 게시, 엔드 포인트는 다음과 같습니다
HTTP가 : // (로컬 호스트)/Reporting/ReportingService.svc
클라이언트 용 C# 솔루션에 대한 또 다른 프로젝트를 만들었습니다. 두 개의 서비스 참조를 추가합니다. 하나는 서비스 프로젝트의 발견을 위해 즉시 테스트합니다. 그리고 한번 출판 된 서비스를위한 또 하나. 끝점 바인딩을 확인하고 제대로 작동합니다.
클라이언트의 끝점을 테스트하면 프로젝트의 모든 세 가지 메서드에 대해 예상대로 작동하고 참조를 게시합니다. 큰.
나는 WCF 데이터 소스를
내가의 방법을 테스트입니다를 BIDS로 이동 XML 유형의 연결을위한 6 단계에서 엔드 포인트와 데이터 소스를 설정하고 전화를 1 또는 2하지만 그들은 모두 양도하지 마십시오 내가 정의하는 유형. 그게 문제 야.
< Query> < Method Name="GetMonthlyData2" Namespace="http://tempuri.org/"> < Parameters> < Parameter Name="aStart"></Parameter> < Parameter Name="aEnd"></Parameter> </Parameters> </Method> < SoapAction> http://tempuri.org/IReportingService/GetMonthlyData2 </SoapAction> < ElementPath> // From my reading SOMETHING should magically identify types here but I can't get // ANYTHING to work like ./{Volume}, {Volume}, Document{}/{Volume}, Root{}/{Volume} </ElementPath> </Query>
SSRS에서 XML 데이터를 쿼리 할 때 쿼리의 각 필드에 대한 데이터 형식을 제공해야합니다. – Mike
사람들은 어떻게 2 년이 넘는 질문에 답을 한 문장으로 대답합니까? – djangojazz