0

Je travaille sur Web SSRS Editor. J'ai réussi à développer un analyseur qui accède au schéma SSRS à partir de la table CATALOG depuis la base de données et le convertit en HTML. À partir de là, l'utilisateur peut modifier le rapport et soumettre la modification. De nouveau, Parser reçoit le code HTML et le convertit en résultats du test. Mais lorsque je consulte ce rapport dans ReportViewer, il affiche toujours l'ancien rapport.Modification de SSRS directement dans la base de données ne reflète pas dans ReportViewer

Et lorsque je télécharge le rapport de Rapport Gérer l'URL il montre les modifications que j'ai apportées à partir de l'application.

Je doute que Microsoft stocke également le RDL au format physique.

Veuillez m'aider ..

+0

Quelle colonne mettez-vous à jour dans le catalogue? –

+0

Colonne de contenu .. –

Répondre

0

Enfin, j'ai obtenu la solution. Avant je mettais directement à jour la colonne contenu dans tableau tableau, et si les modifications mises à jour dans la base de données, mais il ne reflétait pas sur Live Report réel.

Après quelques recherches, je trouve this. Comment déployer le rapport via le code et c'est fait.

class Sample { 
static void Main(string[] args) 
{ 
    ReportingService2010 rs = new ReportingService2010(); 
    rs.Url = "http://<Server Name>" + 
     "/_vti_bin/ReportServer/ReportService2010.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.CreateCatalogItem("Report", 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()); 
    } 
} }