ReportingService2006.CreateReport Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menambahkan laporan baru ke pustaka SharePoint.
public:
ReportService2006::CatalogItem ^ CreateReport(System::String ^ Report, System::String ^ Parent, bool Overwrite, cli::array <System::Byte> ^ Definition, cli::array <ReportService2006::Property ^> ^ Properties, [Runtime::InteropServices::Out] cli::array <ReportService2006::Warning ^> ^ % Warnings);
public ReportService2006.CatalogItem CreateReport (string Report, string Parent, bool Overwrite, byte[] Definition, ReportService2006.Property[] Properties, out ReportService2006.Warning[] Warnings);
member this.CreateReport : string * string * bool * byte[] * ReportService2006.Property[] * Warning[] -> ReportService2006.CatalogItem
Public Function CreateReport (Report As String, Parent As String, Overwrite As Boolean, Definition As Byte(), Properties As Property(), ByRef Warnings As Warning()) As CatalogItem
Parameter
- Report
- String
Nama laporan baru termasuk nama file dan ekstensi nama file .rdl.
- Parent
- String
URL yang sepenuhnya memenuhi syarat untuk folder induk yang akan berisi laporan.
- Overwrite
- Boolean
Ekspresi Boolean
yang menunjukkan apakah laporan yang sudah ada yang memiliki nama yang sama di lokasi yang ditentukan harus ditimpa.
- Definition
- Byte[]
Definisi laporan untuk diterbitkan ke server laporan, yang merupakan konten file .rdl. Data XML ditentukan oleh http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition/ Bahasa Definisi Laporan .
- Properties
- Property[]
Array Property objek yang berisi nama dan nilai properti yang akan diatur untuk laporan.
- Warnings
- Warning[]
[out] Array Warning objek yang menjelaskan peringatan apa pun yang terjadi saat definisi laporan divalidasi.
Mengembalikan
Objek CatalogItem untuk laporan yang baru dibuat.
Contoh
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
class Sample
{
static void Main(string[] args)
{
ReportingService2006 rs = new ReportingService2006();
rs.Url = "http://<Server Name>" +
"/_vti_bin/ReportServer/ReportService2006.asmx";
rs.Credentials =
System.Net.CredentialCache.DefaultCredentials;
Byte[] definition = null;
Warning[] warnings = null;
string name = "MyReport.rdl";
try
{
FileStream stream = File.OpenRead("MyReport.rdl");
definition = new Byte[stream.Length];
stream.Read(definition, 0, (int)stream.Length);
stream.Close();
}
catch (IOException e)
{
Console.WriteLine(e.Message);
}
try
{
string parent = "http://<Server Name>/Docs/Documents/";
CatalogItem report = rs.CreateReport(name, parent,
false, definition, null, out warnings);
if (warnings != null)
{
foreach (Warning warning in warnings)
{
Console.WriteLine(warning.Message);
}
}
else
Console.WriteLine("Report: {0} created successfully " +
" with no warnings", name);
}
catch (SoapException e)
{
Console.WriteLine(e.Detail.InnerXml.ToString());
}
}
}
Imports System
Imports System.IO
Imports System.Text
Imports System.Web.Services
Imports System.Web.Services.Protocols
Class Sample
Public Shared Sub Main()
Dim rs As New ReportingService2006()
rs.Url = "http://<Server Name>" + _
"/_vti_bin/ReportServer/ReportService2006.asmx"
rs.Credentials = _
System.Net.CredentialCache.DefaultCredentials
Dim definition As [Byte]() = Nothing
Dim warnings As Warning() = Nothing
Dim name As String = "MyReport.rdl"
Try
Dim stream As FileStream = File.OpenRead("MyReport.rdl")
definition = New [Byte](stream.Length - 1) {}
stream.Read(definition, 0, CInt(stream.Length))
stream.Close()
Catch e As IOException
Console.WriteLine(e.Message)
End Try
Try
Dim parentPath As String = _
"http://<Server Name>/Docs/Documents/"
rs.CreateReport(name, parentPath, False, _
definition, Nothing, warnings)
If Not (warnings Is Nothing) Then
Dim warning As Warning
For Each warning In warnings
Console.WriteLine(warning.Message)
Next warning
Else
Console.WriteLine("Report: {0} created " + _
"successfully with no warnings", name)
End If
Catch e As SoapException
Console.WriteLine(e.Detail.InnerXml.ToString())
End Try
End Sub
End Class
Keterangan
Tabel di bawah ini memperlihatkan informasi header dan izin pada operasi ini.
Header SOAP | (Dalam) TrustedUserHeaderValue (Keluar) ServerInfoHeaderValue |
Memerlukan izin | Membuat laporan baru: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> di Parent AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> pada sumber data dan himpunan data yang ditentukan dalam Definition Memperbarui laporan yang ada: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> pada Report AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> pada sumber data dan himpunan data yang ditentukan dalam Definition |
Panjang Parent
parameter tidak boleh melebihi 260 karakter; jika tidak, pengecualian SOAP dilemparkan dengan kode kesalahan rsItemLengthExceeded.
Parameter Parent
tidak boleh null atau kosong atau berisi karakter khusus berikut: : ? ; @ & = + $ , \ * > < | . "
. Anda dapat menggunakan karakter garis miring (/) untuk memisahkan item dalam nama jalur lengkap folder, tetapi Anda tidak dapat menggunakannya di akhir nama folder.
Jika terjadi kesalahan, laporan tidak dibuat.
Menambahkan laporan ke pustaka SharePoint memodifikasi ModifiedBy properti dan ModifiedDate folder induk.
Jika ekstensi nama file .rdl dikecualikan dari nama laporan, kesalahan rsFileExtensionRequired
akan dikembalikan.