May 19, 2012  
   Login  
Forum  
 
ForumForumEnesys RS Data ...Enesys RS Data ...Support - RS Da...Support - RS Da..."Root element is missing" error on Report Server"Root element is missing" error on Report Server
Previous Previous
 
Next Next
New Post
 10/8/2008 9:51 PM
 

Hi,

I'm using version 2.1.5.26079 of the RS Data Extension. On my development computer, everything is working fine. On my report server, I keep getting the following error : System.Xml.XmlException: Root element is missing.

Here is a part of the Reporting Services Log covering the error:

w3wp!processing!1!10/8/2008-14:39:25:: e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Cannot create command for data source 'SharePoint_Data'., ;
 Info: Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Cannot create command for data source 'SharePoint_Data'. ---> System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ThrowWithoutLineInfo(String res)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
   at System.Xml.XmlDocument.Load(XmlReader reader)
   at System.Xml.XmlDocument.LoadXml(String xml)
   at Enesys.ReportingServices.Ersde.ErsdeCommand..ctor(ErsdeConnection connection)
   at Enesys.ReportingServices.Ersde.ErsdeConnection.CreateCommand()

I'm running the evaluation version of the Data Extension and I have installed it this morning on my report server.

Thank you in advance,

Eric Brousseau
Software developper,
AIA Automation Inc.

New Post
 10/8/2008 10:28 PM
 

Hi,

May I have a look at your query?

As a side note, I would really recommend evaluating version 3. Considering it will be released next week it would not make sense to learn how to join, merge, manipulate multiple lists using "SqlOp" statements rather than the much more powerful SqlQuery statement.

Regards,


Frederic LATOUR
ENESYS
New Post
 10/8/2008 10:44 PM
 

Hi,

Here is the query I was using:

<?xml version="1.0" encoding="utf-8" ?>
<root>
    <list title="Contrats" relativeSiteUrl="" tableName="Contracts" useDisplayName="true">
        <fields>ID, Numéro de contrat, Description, Date d'échéance, Actif</fields>
        <query></query>
    </list>
    <list title="Activités" relativeSiteUrl="" tableName="Activities" useDisplayName="true">
        <fields>ID, Code Activité, Description, Actif</fields>
        <query></query>
    </list>
    <list title="Secteurs" relativeSiteUrl="" tableName="Sectors" useDisplayName="true">
        <fields>ID, Code Secteur, Description, Actif</fields>
        <query></query>
    </list>
    <list title="Activités spécifiques" relativeSiteUrl="" tableName="SpecificActivities" useDisplayName="true">
        <fields>ID, Code Activité, Description, Actif</fields>
        <query></query>
    </list>
    <list title="Tâches" relativeSiteUrl="" tableName="Tasks" useDisplayName="true">
        <fields>ID, Contrat, Activité, Secteur, Activité spécifique, Titre, Priorité, Responsable Interne, Responsable Externe, Entrepreneur, Date d'échéance, Actif</fields>
        <query></query>
    </list>
    <list title="Suivis" relativeSiteUrl="" tableName="Trackings" useDisplayName="true" stripHtml="true">
        <fields>Tâche, Date, Détails, Created By</fields>
        <query></query>
    </list>

    <sqlOp op="join">
        <dstTableName>TasksAndContract</dstTableName>
        <parentTableName>Tasks</parentTableName>
        <childTableName>Contracts</childTableName>
        <parentFieldName>ContratID</parentFieldName>
        <childFieldName>ID</childFieldName>
    </sqlOp>
    <sqlOp op="join">
        <dstTableName>TasksAndActivities</dstTableName>
        <parentTableName>TasksAndContract</parentTableName>
        <childTableName>Activities</childTableName>
        <parentFieldName>ActivitéID</parentFieldName>
        <childFieldName>ID</childFieldName>
    </sqlOp>
    <sqlOp op="join">
        <dstTableName>TasksAndSectors</dstTableName>
        <parentTableName>TasksAndActivities</parentTableName>
        <childTableName>Sectors</childTableName>
        <parentFieldName>SecteurID</parentFieldName>
        <childFieldName>ID</childFieldName>
    </sqlOp>
    <sqlOp op="join">
        <dstTableName>TasksAndSpecAct</dstTableName>
        <parentTableName>TasksAndSectors</parentTableName>
        <childTableName>SpecificActivities</childTableName>
        <parentFieldName>Activité spécifiqueID</parentFieldName>
        <childFieldName>ID</childFieldName>
    </sqlOp>
    <sqlOp op="join">
        <dstTableName>FullTracking</dstTableName>
        <parentTableName>Trackings</parentTableName>
        <childTableName>TasksAndSpecAct</childTableName>
        <parentFieldName>TâcheID</parentFieldName>
        <childFieldName>ID</childFieldName>
    </sqlOp>

    <resultSet>FullTracking</resultSet>
</root>

This query is working fine on my development computer in VS2005.

As for using version 3, I am supposed to deliver this product by the end of the week, so we cannot wait for version 3 to come out. Still, I've been taking a look at the new SqlQuery statement and it would have been something nice to use in this project, since I need to run filter queries on all 5 linked tables. But well, the report is already working right now in version 2.

Eric Brousseau
AIA Automation Inc.

P.S.: Je parle aussi français, si ça peut vous simplifier la vie.

New Post
 10/8/2008 11:01 PM
 

Regarding version 3, it is already available for downloading as a preview on our web site. It is already used in production by several customers and we support this preview.

There is apparently nothing wrong with the query. It looks like it can't even parse the xml query at the initial stage. Could you try to delete the report on the server and possibly deploy it again?

 


Frederic LATOUR
ENESYS
New Post
 10/8/2008 11:15 PM
 

Hi,

I've just tried to delete and re-deploy the report. No luck.

Can version 3 of the Data Extension be used with version 2 queries? If so, I might try using version 3 on my server and see if this helps.

Eric Brousseau
AIA Automation Inc.

New Post
 10/8/2008 11:44 PM
 

Could you try a very simple report something like just a list statement like the following:

<?xml version="1.0" encoding="utf-8" ?>
<root>
    <list title="Contrats" relativeSiteUrl="" tableName="Contracts" useDisplayName="true">
        <fields>ID, Description</fields>
        <query></query>
    </list>
</root>

 


Frederic LATOUR
ENESYS
New Post
 10/8/2008 11:53 PM
 

Yes version 3 will be able to execute "SqlOp" operations for compatibility purposes though they should be considered "obsolete".

Even if I understand that you have already worked out your report using the version 2.1.5, I would recommend version 3 for a new installation as all our efforts are geared toward this new version. This version also includes a logging framework that makes it possible to collect detailed information when encountering problems difficult to reproduce.

 


Frederic LATOUR
ENESYS
New Post
 10/9/2008 12:06 AM
 

I tried this statement in a simple report that displays the data in a table object. Again, it works on my dev pc but not on the server. I'm still getting the "Root element is missing" error.

Could the error be comming from the SharePoint response instead of the query? I know that I can access the SharePoint site from the report server computer with IE, but maybe the Data Extension could have some issues with this, maybe with the authentification? (I'm on a cross-domain setup here with my dev pc on one Active Directory domain, the report server on another and the SharePoint Server on a workgroup...)

Eric Brousseau
AIA Automation Inc.

New Post
 10/9/2008 1:09 PM
 
 Modified By Frédéric LATOUR  on 10/9/2008 1:11:47 PM

I suppose your SharePoint server is a Windows SharePoint Services installation as MOSS requires AD as far as I know.

I propose the following actions:

To check that you can access SharePoint xml web services from your server, you can try to use SSRS XML Data source. We have already created 2 reports relying on an embedded XML datasource. One for retrieving list columns, another one for retrieving list items.
 The reports are available at the following address: GetListUsingXmlDataSource.zip.

You will need to change the connection string of the embedded data source to correspond to your own server and list:

Install ERSDE Version 3 on both your server and your BIDS (report designer) installation. It will not overwrite your current version 2 installation. They can be installed side by side. Once it is installed, a new Datasource type will be available (Enesys SharePoint Data Extension 2008) so that you can report over both version by specifying the appropriate datasource type.

  • Create a new shared Datasource of type "Enesys SharePoint Data Extension 2008".
  • Create a copy of the very simple report (with just one list) you have already created for test purpses.
  • Change this copy so that it points to the new datasource.
  • Ensure it works within BIDS and deploy the report (it should also deploy the new datasource). Execute the report at the server level.

Please let me know the results.

Regards,


Frederic LATOUR
ENESYS
New Post
 10/9/2008 5:44 PM
 

Hi,

I've just tried to install version 3 of the Data Extension and running the simple query from yesterday (accessing a single field from one of my SharePoint List) against it. And it works!

So there must be something with version 2 that didn't like my Report Server setup. I guess I'll need to go with version 3 for this project in the end.

Regards.

Eric Brousseau
AIA Automation Inc.

New Post
 10/9/2008 5:57 PM
 

Hi,

Well, it seems I spoke a little too fast about having everything working... The "sqlOp" tag from my original query is causing errors in version 3. I get a "Syntax error: missing operand after 'échéance' operator. (System.Data)

It seems that having a single quote ( ' ) character in one of the field name (in this case "Date d'échéance") is causing this error.

I'll try to rewrite the query with the newer construct from version 3 to see if I still get this error.

Eric Brousseau
AIA Automation Inc.

New Post
 10/9/2008 6:11 PM
 

If you are adressing specifically a column like "Date d'échéance" within a "SqlQuery" statement, use Brackets to enclose the column.

SELECT [Date d'échéance] FROM SomeList

I usually recommend to use internal names rather than display names. Changing a column name in SharePoint (which is quite an easy operation) will break a report based on display names but not a report based on internal names. I understand it is not always very exciting to work with internal names. However, our new visual query builder provided with version 3 makes it easy.

Of course this may not be a concern for you if the lists can't be modified by users.


Frederic LATOUR
ENESYS
New Post
 10/9/2008 7:06 PM
 

Hi,

I've re-written my queries using a "sqlQuery" tag and it works now.

It's just too bad that the naming scheme for the columns has changed from V2 to V3. Personnaly, I prefered the "TableName.FieldName" syntax when retrieving fields with the same name from different table rather than "FieldName:TableIndex". But at lease I can use AS clauses in the sqlQuery to rename these fields as I want.

Regards,

Eric Brousseau
AIA Automation Inc.

New Post
 10/9/2008 7:35 PM
 

I see your point and will see if it can be changed (optionally) in a future release.

As an alternative, you could use the following approach:

SELECT table01.*, table02.column01, table02.column02, table03.column01 FROM etc...

In that case, columns specified explicitely with a table name prefix will display as is (i.e. table02.column01, etc).

Regards,


Frederic LATOUR
ENESYS
Previous Previous
 
Next Next
ForumForumEnesys RS Data ...Enesys RS Data ...Support - RS Da...Support - RS Da..."Root element is missing" error on Report Server"Root element is missing" error on Report Server

 
You need to login for posting to the forums.
If you don't have a login, click here to register.
You need to login for posting to the forums.
If you don't have a login, click here to register.
 
Copyright 2010 Enesys - All rights reserved Terms Of UsePrivacy Statement