SSRS wont publish report but it returns successful as if it did

时光总嘲笑我的痴心妄想 提交于 2019-12-11 10:45:29

问题


public static void ListFolders()
{
    HomeFolderListing = new List<string>();

    ReportingServiceSoapClient rs = new ReportingServiceSoapClient();
    rs.ClientCredentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.Impersonation;

    CatalogItem[] HomeFolders = null;
    string reportPath = "/";
    rs.ListChildren(reportPath, true, out HomeFolders);

    foreach (var homeF in HomeFolders)
    {

        if (homeF.Name.ToString().ToLower().Contains("base"))
        {
            if (homeF.Path.ToString().ToLower().Contains("/data sources/"))
            {
            }
            else
            {
                Console.WriteLine("Adding reporting folder: " + homeF.Name.ToString());
                HomeFolderListing.Add(homeF.Path.ToString());
            }
        }

    }

}

public static void PublishReport()
{
    foreach (string HomeFold in HomeFolderListing)
    {
        ReportingServiceSoapClient rs = new ReportingServiceSoapClient();
        rs.ClientCredentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.Impersonation;

        BatchHeader bh = new BatchHeader();
        string batchID = null;
        rs.CreateBatch(out batchID);
        bh.BatchID = batchID;

        Byte[] definition = null;
        Warning[] warnings = null;

        try
        {
            FileStream stream = File.OpenRead(ReportInformation.Report2Deploy);
            definition = new Byte[stream.Length];
            stream.Read(definition, 0, (int)stream.Length);
            stream.Close();
        }
        catch (Exception ex)
        {

        }
        try
        {

            string filename = ReportInformation.ReportDeployNameOnly;
            Console.WriteLine("Deploying Report: " + filename + " to: " + HomeFold);
            rs.CreateReport(bh, filename, HomeFold, true, 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", filename);


        }
        catch (Exception ex)
        {

        }
    }
}

when i execute rs.CreateReport() it comes back as if it was successful with no warning, however, when i view the server it just isn't there. And yes I've looking in all the folders.


回答1:


Are you sure there is no error? There's an empty catch block. The documenation says to catch a SoapException. Try this in the catch:

catch (SoapException e)
 {
      //Do something with the error, sample code write to console
      Console.WriteLine(e.Detail.InnerXml.ToString());
 }

Taken from:

http://msdn.microsoft.com/en-us/library/aa225813(v=sql.80).aspx



来源:https://stackoverflow.com/questions/7759492/ssrs-wont-publish-report-but-it-returns-successful-as-if-it-did

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!