SQL Server reporting services control not viewable if "Allow this precompiled site to be updateable" is unchecked RRS feed

  • Question

  • Hi, I have an application that if I do a publish with the "Allow this precompiled site to be updateable" unchecked then the reports will not show up. 


    But if I publish with option checked then the reports show up...the error is the following


    • An error occurred during local report processing.
      • The definition of the report 'Main Report' is invalid.
        • The report definition is not valid. Details: Data at the root level is invalid. Line 1, position 1.

    Any ideas on how to solve it?

    Wednesday, July 11, 2007 10:09 PM

All replies

  • It sounds like the report definition is not available to the control ("Data at the root level is invalid" is, like, there's no XML document there at all).


    Is this an RDLC (sounds like it)?  Is the report definition embedded in your compiled application or is it an external file?  If it is external, where is it placed in the published site?  You may need to use Server.MapPath tell the .LocalReport member of the control exactly where that file is placed.



    Thursday, July 12, 2007 1:53 PM
  • It is not external, it is embedded.
    Thursday, July 12, 2007 2:37 PM
  • There is almost definitely something wrong with the way the publishing process is pushing the files up to your site.  Check this thread from some important information:



    Notice  you have to make sure that the assemblies are deployed but you also may have to make sure the RDLCs are available to the application -- different issues are discussed on that thread.


    The most important/explicit piece of advice for you, I think, is here (separate thread).


    Basically I think that in the pre-compiled non-updateable mode you will find 1kb files representing your RDLCs (which is what I said: not really the XML definitions, just stubs) which you can replace with copies of your real files.


    It looks like there is an alternative solution for embeddeds, in that your DLLs have to be in a namespace for the embedded resources to be pulled out properly.  But I think the above is simpler.









    Thursday, July 12, 2007 3:16 PM