2016-08-31 16 views
8

Excel 2016 (16.0.6965.2076)"Phân tích XML thất bại tại dòng xxx, cột 36: bất hợp pháp xml nhân vật" khi nhập khẩu để điện Pivot từ SSRS báo cáo

SQL Server 2014 (12.0.4213.0)

tôi có một báo cáo SSRS với 10 tham số - hai là ngày và 8 khác là thả xuống văn bản bằng cách sử dụng truy vấn để điền các tùy chọn. Nếu tôi cố gắng tải báo cáo này vào Mô hình Dữ liệu Power Pivot trong Excel (Power Pivot -> Quản lý -> Từ Nguồn Khác -> Báo cáo), khi hoàn tất Thuật sĩ Nhập Bảng (sau khi xác định thành công báo cáo và giá trị tham số của tôi và xem báo cáo render chính xác trong wizard) bằng cách nhấp vào nút Finish trên cửa sổ Select Bàn trang Chế độ xem tôi nhận được một thông báo lỗi:

XML parsing failed at line 1345, column 36: Illegal xml character.

dòng trao nhau tùy thuộc vào những gì giá trị tham số tôi chỉ định cho báo cáo, nhưng cột luôn luôn 36. Tôi đã kiểm tra báo cáo của mình và các số dòng và cột này dường như không liên quan đến báo cáo của tôi, vì chúng thường lớn hơn tổng số hàng/cột được trả lại trong báo cáo.

Tôi đã nhìn quanh trực tuyến và tìm thấy một vài nguồn lực mà đối phó với vấn đề này, nhưng tôi đã không thể tìm thấy một giải pháp cho vấn đề của tôi:

This blog và this liên quan đến vé Microsoft Connect gợi ý rằng tôi có thể được điều này để làm việc bằng cách xuất bản báo cáo của tôi như là một dữ liệu Thức ăn và tham khảo mà từ bên trong trình hướng dẫn điện Pivot thay vào đó, nhưng điều này cũng không làm việc cho tôi, tôi nhận được một lỗi khác nhau:

Unable to obtain schema for data feed '[Report feed Name]'. Please make sure this feed exists.

tôi đã tìm thấy gợi ý ở nơi khác trực tuyến mà lỗi tiếp theo này (hoặc vấn đề ban đầu) có thể là kết quả của URL báo cáo quá dài (bao gồm thông số/giá trị). Rất tiếc, tôi không thể thấy thêm bất kỳ cách nào để giảm độ dài URL (hiện có hơn 700 ký tự), vì tôi đã giảm thiểu tên tham số và tên báo cáo, nhưng vẫn gặp sự cố này (tôi không tin rằng tôi có thể giảm giá trị tham số vì chúng được lấy từ một cơ sở dữ liệu ứng dụng mà chúng ta không thể thay đổi). Tôi cũng đã thấy các đề xuất để thay thế các tham số "Nhận giá trị từ truy vấn" bằng thông số "Chỉ định giá trị", nhưng điều này không thể thực hiện được vì giá trị tham số phải được tìm nạp từ cơ sở dữ liệu ứng dụng được đề cập ở trên và sẽ thay đổi theo thời gian , vì vậy cần phải được tìm nạp động.

Có ai có thể đề xuất giải pháp hoặc các bước khắc phục sự cố tiếp theo mà tôi có thể làm theo cho vấn đề này không?

+0

Điều này có liên quan đến vấn đề của bạn không: https://connect.microsoft.com/SQLServer/feedback/details/2855443/xml-parsing-failed-at-line-2096-column-36-illegal-xml-character. Đây là giải pháp có thể có: http://www.leonardmurphy.com/blog/powerpivot_ssrs_xml_parsing_failed –

+0

Có, tôi đã liên kết với blog đó trong câu hỏi của tôi và cũng đã thấy rằng vé Kết nối, nhưng nó cho thấy làm việc xung quanh vấn đề bằng cách sử dụng các tùy chọn tĩnh cho các thông số, điều này không khả thi đối với tôi như được giải thích trong câu hỏi của tôi. Nó cũng không cung cấp các bước repro hoàn chỉnh, vì một số báo cáo SSRS với các tham số truy vấn đa giá trị hoạt động tốt, chỉ một số không. – 3N1GM4

Trả lời

0

Điều tra đầu tiên tôi đề xuất là cố gắng loại trừ vấn đề URL là nguyên nhân tiềm năng. Chỉ cho mục đích thử nghiệm, có thể sao chép báo cáo và sửa đổi nó để hầu hết các tham số được mã hóa cứng với các ví dụ hợp lệ không? Sau đó, bạn có thể thử tìm nạp báo cáo bằng một URL nhỏ hơn nhiều, chỉ sử dụng một hoặc hai tham số.

Nếu báo cáo được sao chép hoạt động, xác nhận rằng độ dài URL là vấn đề, thì bạn không có tùy chọn nào khác ngoài điều tra các khả năng khác để giảm độ dài URL.

Nếu độ dài URL là vấn đề, bạn có thể thêm các thông số để xác định độ dài URL mục tiêu hoạt động chính xác.

Có thể giảm độ dài của thông số đầu vào không? Nếu các thông số cần khớp với các giá trị của dữ liệu hoặc mã không thể sửa đổi dễ dàng, có thể sửa đổi báo cáo để kết hợp bảng tra cứu, để thông qua các biến ngắn được ánh xạ tới phiên bản đầy đủ của chúng không?

Ngoài ra, bạn có một số thông số văn bản chỉ với 2 hoặc 3 tùy chọn không? Hoặc, có vài thông số chỉ hợp lệ trong các kết hợp cụ thể không? Nếu vậy, nó cung cấp cho bạn một tùy chọn khác, mặc dù nó thực sự rất tệ và sẽ dẫn đến rất nhiều nỗ lực để duy trì các báo cáo nếu cần thay đổi ... Bạn có thể tạo một số bản sao của báo cáo, mã hóa các tham số có giới hạn số lượng kết hợp hợp lệ. Sau đó, dựa trên các tham số đầu vào được lưu trữ trong Excel, bạn gọi báo cáo có liên quan phù hợp với các tham số đó và chuyển qua các tham số còn lại trong URL.

Tuy nhiên, nếu độ dài URL không phải là vấn đề, bạn có thể nỗ lực hơn nữa để điều tra nguyên nhân và các giải pháp dọn dẹp hy vọng!

3

Để thu hẹp sự cố của bạn, tôi sẽ xuất báo cáo (sử dụng tham số của bạn) sang định dạng XML. Điều này có hiệu quả là một repro thủ công về những gì Power Pivot đang làm khi nó gọi báo cáo của bạn.

Sau đó, tôi sẽ mở tệp đó trong trình chỉnh sửa XML (ví dụ: Visual Studio) và tìm kiếm "dòng 1345, cột 36: Ký tự xml bất hợp pháp".

Nếu điều này được kích hoạt bởi tên hộp văn bản, bạn có thể ghi đè chúng để xuất XML bằng cách đặt thuộc tính DataElementName.

Nếu nó được kích hoạt bởi một giá trị dữ liệu, tôi sẽ sử dụng một biểu thức SSRS để cố gắng tránh nó. Bạn có thể kiểm tra Globals!RenderFormat.Name = "XML" để chỉ thao tác giá trị dữ liệu trong trường hợp đó.

Các vấn đề liên quan