Showing posts with label webservice. Show all posts
Showing posts with label webservice. Show all posts

Wednesday, March 28, 2012

Reporting Services 2005 and XML DataSource (as WebService)

I'm trying to build WebService to use result as DataSource for RS 2005 (XML DataSource).

But I have a strange problem.

I have WebMethod with parameters.

When I'm testing my WS in browser then everything works just fine.

But... When I'm trying to call this web-service from VS2005 environment then something strange happens.

Looks like VS passing parameters incorrectly to my WS (not passing at all!)

I've created very simplyfied version just to check parameters:

using System.Xml;
using System.Xml.Serialization;
using System.Messaging;
using System.Text;
using System;
using System.Web.Services;
[WebService(Namespace = "http://company.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class GetRemoteData : System.Web.Services.WebService
{
[WebMethod]
public XmlElement GetData(string CompanyName, string FunctionName, string ParameterList)
{
XmlDocument xmlDocument = new XmlDocument();
XmlElement xmlElement1;
xmlElement1 = xmlDocument.CreateElement("parameters", "values", "urn:errors");
xmlElement1.InnerText = String.Format("{0}, {1}, {2}", CompanyName, FunctionName, ParameterList);
return xmlElement1;
}
}

In the browser WS returns all passed parameters back correctly. VS - not.

What's wrong with my code? Why MSDN example works fine?
Do I need to specify some undocumented (soap specific) attributes?

Where I can find full tutorials how to create RS-compatible web-service?

(Sorry for cross-posting but I have no single reply...)

Hmmm...

I don't understand... Is it so hard? Nobody is using WebService as datasource for RS?

May be I've found some "global unfixable" issue is RS?

I'm checked "address" in my browser server times, but "microsoft" and "MSDN" still are here...

|||

So...?

I've tested different scenarious, but result always is same. RS (only RS!) doesn't passes parameters to my webservice or passing them incorrectly.

How to build RS2005-compatible WebService? I Have non-standard data source and need to show results as RS report.

Very funny result I've got then tried to create WebMethod which returns DataSet! In RS I've got scructure without data instead of data.

Why standard methods from ReportingService2005.asmx (ListChildren, for instance) returns values as "out" parameters?

|||

Dude,
Did you find a solution to this problem?

I fell into this issue for a project I'm developping... but what's weirdest is that I have another project which I developped last year, where I'm using web services with parameters and it works fine.... and I try to find the difference between the 2 of them but I just cannot find it ....

By now, I just know that it the one is working I'm using Kerberos delgation.... besides that, I think everything is the same...

Bye

Reporting Services 2005 and XML DataSource (as WebService)

I'm trying to build WebService to use result as DataSource for RS 2005 (XML DataSource).

But I have a strange problem.

I have WebMethod with parameters.

When I'm testing my WS in browser then everything works just fine.

But... When I'm trying to call this web-service from VS2005 environment then something strange happens.

Looks like VS passing parameters incorrectly to my WS (not passing at all!)

I've created very simplyfied version just to check parameters:

using System.Xml;
using System.Xml.Serialization;
using System.Messaging;
using System.Text;
using System;
using System.Web.Services;
[WebService(Namespace = "http://company.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class GetRemoteData : System.Web.Services.WebService
{
[WebMethod]
public XmlElement GetData(string CompanyName, string FunctionName, string ParameterList)
{
XmlDocument xmlDocument = new XmlDocument();
XmlElement xmlElement1;
xmlElement1 = xmlDocument.CreateElement("parameters", "values", "urn:errors");
xmlElement1.InnerText = String.Format("{0}, {1}, {2}", CompanyName, FunctionName, ParameterList);
return xmlElement1;
}
}

In the browser WS returns all passed parameters back correctly. VS - not.

What's wrong with my code? Why MSDN example works fine?
Do I need to specify some undocumented (soap specific) attributes?

Where I can find full tutorials how to create RS-compatible web-service?

(Sorry for cross-posting but I have no single reply...)

Hmmm...

I don't understand... Is it so hard? Nobody is using WebService as datasource for RS?

May be I've found some "global unfixable" issue is RS?

I'm checked "address" in my browser server times, but "microsoft" and "MSDN" still are here...

|||

So...?

I've tested different scenarious, but result always is same. RS (only RS!) doesn't passes parameters to my webservice or passing them incorrectly.

How to build RS2005-compatible WebService? I Have non-standard data source and need to show results as RS report.

Very funny result I've got then tried to create WebMethod which returns DataSet! In RS I've got scructure without data instead of data.

Why standard methods from ReportingService2005.asmx (ListChildren, for instance) returns values as "out" parameters?

|||

Dude,
Did you find a solution to this problem?

I fell into this issue for a project I'm developping... but what's weirdest is that I have another project which I developped last year, where I'm using web services with parameters and it works fine.... and I try to find the difference between the 2 of them but I just cannot find it ....

By now, I just know that it the one is working I'm using Kerberos delgation.... besides that, I think everything is the same...

Bye

sql

Friday, March 23, 2012

Reporting Services $$$

It is licensed the same as SQL Server so if you run it on the same box (web
service + db) as SQL then there is no additional cost above the SQL license
cost. If you install the web service on a separate server then you need a
SQL license for it in addition to the one on the server hosting the report
server databases.
HTH,
Jasper Smith (SQL Server MVP)
http://www.sqldbatips.com
"Eleanor, MCSE/MCT" <EleanorMCSEMCT@.discussions.microsoft.com> wrote in
message news:8B63E947-80D1-490B-ACFA-29D6AD429E3B@.microsoft.com...
> Is there a cost associated with SQL 2000 Reporting Services, i.e., does
> one
> have to purchase it or does it come as a tool with SQL?
> Thanks!
> EleanorThanks!
"Jasper Smith" wrote:

> It is licensed the same as SQL Server so if you run it on the same box (we
b
> service + db) as SQL then there is no additional cost above the SQL licens
e
> cost. If you install the web service on a separate server then you need a
> SQL license for it in addition to the one on the server hosting the report
> server databases.
> --
> HTH,
> Jasper Smith (SQL Server MVP)
> http://www.sqldbatips.com
>
> "Eleanor, MCSE/MCT" <EleanorMCSEMCT@.discussions.microsoft.com> wrote in
> message news:8B63E947-80D1-490B-ACFA-29D6AD429E3B@.microsoft.com...
>
>|||Where does one find the Reporting Tools? Are they on the SQL CD? Also, I
want to pull reports from another server (SharePoint). Does the Reporting
Tools have to reside on the same server?
Sorry, I am a newbie, as you can tell.
-Eleanor
"Jasper Smith" wrote:

> It is licensed the same as SQL Server so if you run it on the same box (we
b
> service + db) as SQL then there is no additional cost above the SQL licens
e
> cost. If you install the web service on a separate server then you need a
> SQL license for it in addition to the one on the server hosting the report
> server databases.
> --
> HTH,
> Jasper Smith (SQL Server MVP)
> http://www.sqldbatips.com
>
> "Eleanor, MCSE/MCT" <EleanorMCSEMCT@.discussions.microsoft.com> wrote in
> message news:8B63E947-80D1-490B-ACFA-29D6AD429E3B@.microsoft.com...
>
>|||Is there a cost associated with SQL 2000 Reporting Services, i.e., does one
have to purchase it or does it come as a tool with SQL?
Thanks!
Eleanor|||It is licensed the same as SQL Server so if you run it on the same box (web
service + db) as SQL then there is no additional cost above the SQL license
cost. If you install the web service on a separate server then you need a
SQL license for it in addition to the one on the server hosting the report
server databases.
HTH,
Jasper Smith (SQL Server MVP)
http://www.sqldbatips.com
"Eleanor, MCSE/MCT" <EleanorMCSEMCT@.discussions.microsoft.com> wrote in
message news:8B63E947-80D1-490B-ACFA-29D6AD429E3B@.microsoft.com...
> Is there a cost associated with SQL 2000 Reporting Services, i.e., does
> one
> have to purchase it or does it come as a tool with SQL?
> Thanks!
> Eleanor|||Thanks!
"Jasper Smith" wrote:

> It is licensed the same as SQL Server so if you run it on the same box (we
b
> service + db) as SQL then there is no additional cost above the SQL licens
e
> cost. If you install the web service on a separate server then you need a
> SQL license for it in addition to the one on the server hosting the report
> server databases.
> --
> HTH,
> Jasper Smith (SQL Server MVP)
> http://www.sqldbatips.com
>
> "Eleanor, MCSE/MCT" <EleanorMCSEMCT@.discussions.microsoft.com> wrote in
> message news:8B63E947-80D1-490B-ACFA-29D6AD429E3B@.microsoft.com...
>
>|||Where does one find the Reporting Tools? Are they on the SQL CD? Also, I
want to pull reports from another server (SharePoint). Does the Reporting
Tools have to reside on the same server?
Sorry, I am a newbie, as you can tell.
-Eleanor
"Jasper Smith" wrote:

> It is licensed the same as SQL Server so if you run it on the same box (we
b
> service + db) as SQL then there is no additional cost above the SQL licens
e
> cost. If you install the web service on a separate server then you need a
> SQL license for it in addition to the one on the server hosting the report
> server databases.
> --
> HTH,
> Jasper Smith (SQL Server MVP)
> http://www.sqldbatips.com
>
> "Eleanor, MCSE/MCT" <EleanorMCSEMCT@.discussions.microsoft.com> wrote in
> message news:8B63E947-80D1-490B-ACFA-29D6AD429E3B@.microsoft.com...
>
>|||Reporting Services is a separate CD.
[url]http://www.microsoft.com/sql/prodinfo/previousversions/rs/retailfulfillment.mspx[/
url]
Reporting Services can pull from almost any data source, local or remote.
It can even combine data from multiple sources.
Geoff N. Hiten
Senior Database Administrator
Microsoft SQL Server MVP
"Eleanor, MCSE/MCT" <EleanorMCSEMCT@.discussions.microsoft.com> wrote in
message news:7FBB43BF-C798-4617-94C8-63BCA3CBB5AC@.microsoft.com...[vbcol=seagreen]
> Where does one find the Reporting Tools? Are they on the SQL CD? Also, I
> want to pull reports from another server (SharePoint). Does the Reporting
> Tools have to reside on the same server?
> Sorry, I am a newbie, as you can tell.
> -Eleanor
> "Jasper Smith" wrote:
>|||Reporting Services is a separate CD.
[url]http://www.microsoft.com/sql/prodinfo/previousversions/rs/retailfulfillment.mspx[/
url]
Reporting Services can pull from almost any data source, local or remote.
It can even combine data from multiple sources.
Geoff N. Hiten
Senior Database Administrator
Microsoft SQL Server MVP
"Eleanor, MCSE/MCT" <EleanorMCSEMCT@.discussions.microsoft.com> wrote in
message news:7FBB43BF-C798-4617-94C8-63BCA3CBB5AC@.microsoft.com...[vbcol=seagreen]
> Where does one find the Reporting Tools? Are they on the SQL CD? Also, I
> want to pull reports from another server (SharePoint). Does the Reporting
> Tools have to reside on the same server?
> Sorry, I am a newbie, as you can tell.
> -Eleanor
> "Jasper Smith" wrote:
>|||Thank you for the response. I need this yesterday, as is the case with
everything in IT :-) My company has a volumn software license and MSDE. Is
this tool contained within any of these sources?
Thanks!
-Eleanor
"Geoff N. Hiten" wrote:

> Reporting Services is a separate CD.
> http://www.microsoft.com/sql/prodin...nt.mspx

> Reporting Services can pull from almost any data source, local or remote.
> It can even combine data from multiple sources.
> --
> Geoff N. Hiten
> Senior Database Administrator
> Microsoft SQL Server MVP
>
> "Eleanor, MCSE/MCT" <EleanorMCSEMCT@.discussions.microsoft.com> wrote in
> message news:7FBB43BF-C798-4617-94C8-63BCA3CBB5AC@.microsoft.com...
>
>sql

Saturday, February 25, 2012

Reporting on Sharepoint Lists?

I was wondering if it would be possible to generate reports directly from
Windows Sharepoint Services (WSS) Lists or from the output of a Webservice?
tnx
-= Maximizing Creativity and Productivity =-Dear Maarten
Yes, you can generate a report from data of WSS - although it is a bit of a
guesswork. WSS saves all user data in one table only (called UserData). You
will have to filter the right data from this table. In order to know what to
filter, you will have to identify the tp_ListId (uniqueidentifier) of the
WSS-List on which you want to base your report. In order to find this
tp_ListId you have to search first in the Sites table for the tp_ID of the
site. With this ID you can look up the tp_ID of the subweb in the Webs table.
And finally, with the ID of the subweb you can look up the ID of the WSS list
in the Lists table.
The next step will be to identify the fields for the identified list. There
is only one way: make a print screen from the WSS-list and scroll the list
date in the UserData table in order to find the fields that store the WSS
list data.
Furthermore, I have found it easiest to define different views on the
UserData table and to work with this views in Reporting Services (not
directly with the UserData table). In the view, you can rename the fields of
the UserData table with aliases that are the names of the columns of the WSS
list.
A last hint: you can display reports in WSS. Just define a WSS page with a
webpart aerea and give this webpart the reportserver link of the report you
want to show. It works fine.
Good luck - Judith Schuetz (www.osn.ch)
"Maarten Visser" wrote:
> I was wondering if it would be possible to generate reports directly from
> Windows Sharepoint Services (WSS) Lists or from the output of a Webservice?
> tnx
> -= Maximizing Creativity and Productivity =-|||Judith.
Thanks for the information, I understand your solution.
But, like you are saying.. ' It is a bit of a guesswork'.
I have to build a solution for a customer, where end users have to build
reports and the manipulation of data has to be as easy as possible. Because
of this, i was thinking to use WSS as a front-end for data input and
Reporting Services for generating reports on this data.
I'm afraid the given solution would not work in this case, because the user
needs to be able to add columns (in WSS) and the report should than easily be
adapted by the user to show this column. (It would be best if the report
automatically showed the extra column).
Could the ADO.Net extensibility of Reporting Services do something here..
Would it be possible to build a webservice that gets the information from
Sharepoint and let Reporting Services build reports based on the data (rows)
that this webservice provides?
Tnx.
Maarten
I'm afraid the given solution would not work in this case, because the user
needs to be able to add columns and the report should than easely be adapted
by the user to show this column. (It would be best if the report
automatecally showed the extra column).
"j schuetz" wrote:
> Dear Maarten
> Yes, you can generate a report from data of WSS - although it is a bit of a
> guesswork. WSS saves all user data in one table only (called UserData). You
> will have to filter the right data from this table. In order to know what to
> filter, you will have to identify the tp_ListId (uniqueidentifier) of the
> WSS-List on which you want to base your report. In order to find this
> tp_ListId you have to search first in the Sites table for the tp_ID of the
> site. With this ID you can look up the tp_ID of the subweb in the Webs table.
> And finally, with the ID of the subweb you can look up the ID of the WSS list
> in the Lists table.
> The next step will be to identify the fields for the identified list. There
> is only one way: make a print screen from the WSS-list and scroll the list
> date in the UserData table in order to find the fields that store the WSS
> list data.
> Furthermore, I have found it easiest to define different views on the
> UserData table and to work with this views in Reporting Services (not
> directly with the UserData table). In the view, you can rename the fields of
> the UserData table with aliases that are the names of the columns of the WSS
> list.
> A last hint: you can display reports in WSS. Just define a WSS page with a
> webpart aerea and give this webpart the reportserver link of the report you
> want to show. It works fine.
> Good luck - Judith Schuetz (www.osn.ch)
>
> "Maarten Visser" wrote:
> >
> > I was wondering if it would be possible to generate reports directly from
> > Windows Sharepoint Services (WSS) Lists or from the output of a Webservice?
> >
> > tnx
> >
> > -= Maximizing Creativity and Productivity =-|||Sorry - I can't help you with this one.
"Maarten Visser" wrote:
> Judith.
> Thanks for the information, I understand your solution.
> But, like you are saying.. ' It is a bit of a guesswork'.
> I have to build a solution for a customer, where end users have to build
> reports and the manipulation of data has to be as easy as possible. Because
> of this, i was thinking to use WSS as a front-end for data input and
> Reporting Services for generating reports on this data.
> I'm afraid the given solution would not work in this case, because the user
> needs to be able to add columns (in WSS) and the report should than easily be
> adapted by the user to show this column. (It would be best if the report
> automatically showed the extra column).
> Could the ADO.Net extensibility of Reporting Services do something here..
> Would it be possible to build a webservice that gets the information from
> Sharepoint and let Reporting Services build reports based on the data (rows)
> that this webservice provides?
> Tnx.
> Maarten
>
> I'm afraid the given solution would not work in this case, because the user
> needs to be able to add columns and the report should than easely be adapted
> by the user to show this column. (It would be best if the report
> automatecally showed the extra column).
>
> "j schuetz" wrote:
> > Dear Maarten
> >
> > Yes, you can generate a report from data of WSS - although it is a bit of a
> > guesswork. WSS saves all user data in one table only (called UserData). You
> > will have to filter the right data from this table. In order to know what to
> > filter, you will have to identify the tp_ListId (uniqueidentifier) of the
> > WSS-List on which you want to base your report. In order to find this
> > tp_ListId you have to search first in the Sites table for the tp_ID of the
> > site. With this ID you can look up the tp_ID of the subweb in the Webs table.
> > And finally, with the ID of the subweb you can look up the ID of the WSS list
> > in the Lists table.
> >
> > The next step will be to identify the fields for the identified list. There
> > is only one way: make a print screen from the WSS-list and scroll the list
> > date in the UserData table in order to find the fields that store the WSS
> > list data.
> >
> > Furthermore, I have found it easiest to define different views on the
> > UserData table and to work with this views in Reporting Services (not
> > directly with the UserData table). In the view, you can rename the fields of
> > the UserData table with aliases that are the names of the columns of the WSS
> > list.
> >
> > A last hint: you can display reports in WSS. Just define a WSS page with a
> > webpart aerea and give this webpart the reportserver link of the report you
> > want to show. It works fine.
> >
> > Good luck - Judith Schuetz (www.osn.ch)
> >
> >
> > "Maarten Visser" wrote:
> >
> > >
> > > I was wondering if it would be possible to generate reports directly from
> > > Windows Sharepoint Services (WSS) Lists or from the output of a Webservice?
> > >
> > > tnx
> > >
> > > -= Maximizing Creativity and Productivity =-|||This is a fragment from a sp I wrote for a customer that ought to get you
started...
declare @.tbl table(DisplayName varchar(100), ColName varchar(100), List
varchar(20), ShowFld varchar(100))
select top 1 @.flds=cast(tp_Fields as varchar(8000))
from dbo.Lists
where <-- some selection clause -->
select @.flds = '<root>'+@.flds+'</root>' -- surround field list with top
level node, otherwise DOM throws error
exec sp_xml_preparedocument @.hnd output, @.flds
insert into @.tbl
select *
from openxml(@.hnd, N'/root/Field') with (DisplayName varchar(100), ColName
varchar(100), List varchar(20), ShowField varchar(100))
where DisplayName is not null
exec sp_xml_removedocument @.hnd
select @.cmd='select "ID"=ud.tp_ID, Created=ud.tp_Created,
Modified=ud.tp_Modified, Author=u1.tp_Title'
declare crs cursor for select DisplayName, ColName, List, ShowFld from @.tbl
open crs
fetch next from crs into @.name, @.colname, @.list, @.showfld
select @.joinum=2, @.join=''
while @.@.fetch_status = 0
begin
if @.list is not NULL -- if this is a userlist field, join in the list and
return the value (not the list id)
begin
select @.alias = 'u'+cast(@.joinum as varchar(3))
select @.join=@.join+' join dbo.'+@.list+' '+@.alias+' on
(ud.'+@.colname+'='+@.alias+'.tp_ID and ud.tp_Siteid='+@.alias+'.tp_SiteID)'
select @.cmd=@.cmd+', '''+@.name+'''='+@.alias+'.tp_'+@.showfld
select @.joinum=@.joinum+1
end
else
begin
if left(@.colname, 5) = 'ntext' select @.colname = 'cast('+@.colname+' as
varchar('+cast(@.txtlen as varchar(4))+'))'
select @.cmd=@.cmd+', '''+@.name+'''='+@.colname
end
fetch next from crs into @.name, @.colname, @.list, @.showfld
end
close crs
deallocate crs
select @.cmd=@.cmd+' from dbo.UserData ud join dbo.UserInfo u1 on
(ud.tp_Author=u1.tp_ID and ud.tp_Siteid=u1.tp_SiteID) '+@.join
select @.cmd=@.cmd+' order by ud.tp_ID'
Cheers
Mitch
"j schuetz" wrote:
> Sorry - I can't help you with this one.
> "Maarten Visser" wrote:
> > Judith.
> >
> > Thanks for the information, I understand your solution.
> > But, like you are saying.. ' It is a bit of a guesswork'.
> >
> > I have to build a solution for a customer, where end users have to build
> > reports and the manipulation of data has to be as easy as possible. Because
> > of this, i was thinking to use WSS as a front-end for data input and
> > Reporting Services for generating reports on this data.
> >
> > I'm afraid the given solution would not work in this case, because the user
> > needs to be able to add columns (in WSS) and the report should than easily be
> > adapted by the user to show this column. (It would be best if the report
> > automatically showed the extra column).
> >
> > Could the ADO.Net extensibility of Reporting Services do something here..
> > Would it be possible to build a webservice that gets the information from
> > Sharepoint and let Reporting Services build reports based on the data (rows)
> > that this webservice provides?
> >
> > Tnx.
> > Maarten
> >
> >
> > I'm afraid the given solution would not work in this case, because the user
> > needs to be able to add columns and the report should than easely be adapted
> > by the user to show this column. (It would be best if the report
> > automatecally showed the extra column).
> >
> >
> >
> > "j schuetz" wrote:
> >
> > > Dear Maarten
> > >
> > > Yes, you can generate a report from data of WSS - although it is a bit of a
> > > guesswork. WSS saves all user data in one table only (called UserData). You
> > > will have to filter the right data from this table. In order to know what to
> > > filter, you will have to identify the tp_ListId (uniqueidentifier) of the
> > > WSS-List on which you want to base your report. In order to find this
> > > tp_ListId you have to search first in the Sites table for the tp_ID of the
> > > site. With this ID you can look up the tp_ID of the subweb in the Webs table.
> > > And finally, with the ID of the subweb you can look up the ID of the WSS list
> > > in the Lists table.
> > >
> > > The next step will be to identify the fields for the identified list. There
> > > is only one way: make a print screen from the WSS-list and scroll the list
> > > date in the UserData table in order to find the fields that store the WSS
> > > list data.
> > >
> > > Furthermore, I have found it easiest to define different views on the
> > > UserData table and to work with this views in Reporting Services (not
> > > directly with the UserData table). In the view, you can rename the fields of
> > > the UserData table with aliases that are the names of the columns of the WSS
> > > list.
> > >
> > > A last hint: you can display reports in WSS. Just define a WSS page with a
> > > webpart aerea and give this webpart the reportserver link of the report you
> > > want to show. It works fine.
> > >
> > > Good luck - Judith Schuetz (www.osn.ch)
> > >
> > >
> > > "Maarten Visser" wrote:
> > >
> > > >
> > > > I was wondering if it would be possible to generate reports directly from
> > > > Windows Sharepoint Services (WSS) Lists or from the output of a Webservice?
> > > >
> > > > tnx
> > > >
> > > > -= Maximizing Creativity and Productivity =-|||I was negligent in noting that;
This posting is provided "AS IS" with no warranties, and confers no rights.
Now that the lawyers are happy - have fun... :-)
"Mitch vH [MSFT]" wrote:
> This is a fragment from a sp I wrote for a customer that ought to get you
> started...
> declare @.tbl table(DisplayName varchar(100), ColName varchar(100), List
> varchar(20), ShowFld varchar(100))
> select top 1 @.flds=cast(tp_Fields as varchar(8000))
> from dbo.Lists
> where <-- some selection clause -->
> select @.flds = '<root>'+@.flds+'</root>' -- surround field list with top
> level node, otherwise DOM throws error
> exec sp_xml_preparedocument @.hnd output, @.flds
> insert into @.tbl
> select *
> from openxml(@.hnd, N'/root/Field') with (DisplayName varchar(100), ColName
> varchar(100), List varchar(20), ShowField varchar(100))
> where DisplayName is not null
> exec sp_xml_removedocument @.hnd
> select @.cmd='select "ID"=ud.tp_ID, Created=ud.tp_Created,
> Modified=ud.tp_Modified, Author=u1.tp_Title'
> declare crs cursor for select DisplayName, ColName, List, ShowFld from @.tbl
> open crs
> fetch next from crs into @.name, @.colname, @.list, @.showfld
> select @.joinum=2, @.join=''
> while @.@.fetch_status = 0
> begin
> if @.list is not NULL -- if this is a userlist field, join in the list and
> return the value (not the list id)
> begin
> select @.alias = 'u'+cast(@.joinum as varchar(3))
> select @.join=@.join+' join dbo.'+@.list+' '+@.alias+' on
> (ud.'+@.colname+'='+@.alias+'.tp_ID and ud.tp_Siteid='+@.alias+'.tp_SiteID)'
> select @.cmd=@.cmd+', '''+@.name+'''='+@.alias+'.tp_'+@.showfld
> select @.joinum=@.joinum+1
> end
> else
> begin
> if left(@.colname, 5) = 'ntext' select @.colname = 'cast('+@.colname+' as
> varchar('+cast(@.txtlen as varchar(4))+'))'
> select @.cmd=@.cmd+', '''+@.name+'''='+@.colname
> end
> fetch next from crs into @.name, @.colname, @.list, @.showfld
> end
> close crs
> deallocate crs
> select @.cmd=@.cmd+' from dbo.UserData ud join dbo.UserInfo u1 on
> (ud.tp_Author=u1.tp_ID and ud.tp_Siteid=u1.tp_SiteID) '+@.join
> select @.cmd=@.cmd+' order by ud.tp_ID'
> Cheers
> Mitch
> "j schuetz" wrote:
> > Sorry - I can't help you with this one.
> >
> > "Maarten Visser" wrote:
> >
> > > Judith.
> > >
> > > Thanks for the information, I understand your solution.
> > > But, like you are saying.. ' It is a bit of a guesswork'.
> > >
> > > I have to build a solution for a customer, where end users have to build
> > > reports and the manipulation of data has to be as easy as possible. Because
> > > of this, i was thinking to use WSS as a front-end for data input and
> > > Reporting Services for generating reports on this data.
> > >
> > > I'm afraid the given solution would not work in this case, because the user
> > > needs to be able to add columns (in WSS) and the report should than easily be
> > > adapted by the user to show this column. (It would be best if the report
> > > automatically showed the extra column).
> > >
> > > Could the ADO.Net extensibility of Reporting Services do something here..
> > > Would it be possible to build a webservice that gets the information from
> > > Sharepoint and let Reporting Services build reports based on the data (rows)
> > > that this webservice provides?
> > >
> > > Tnx.
> > > Maarten
> > >
> > >
> > > I'm afraid the given solution would not work in this case, because the user
> > > needs to be able to add columns and the report should than easely be adapted
> > > by the user to show this column. (It would be best if the report
> > > automatecally showed the extra column).
> > >
> > >
> > >
> > > "j schuetz" wrote:
> > >
> > > > Dear Maarten
> > > >
> > > > Yes, you can generate a report from data of WSS - although it is a bit of a
> > > > guesswork. WSS saves all user data in one table only (called UserData). You
> > > > will have to filter the right data from this table. In order to know what to
> > > > filter, you will have to identify the tp_ListId (uniqueidentifier) of the
> > > > WSS-List on which you want to base your report. In order to find this
> > > > tp_ListId you have to search first in the Sites table for the tp_ID of the
> > > > site. With this ID you can look up the tp_ID of the subweb in the Webs table.
> > > > And finally, with the ID of the subweb you can look up the ID of the WSS list
> > > > in the Lists table.
> > > >
> > > > The next step will be to identify the fields for the identified list. There
> > > > is only one way: make a print screen from the WSS-list and scroll the list
> > > > date in the UserData table in order to find the fields that store the WSS
> > > > list data.
> > > >
> > > > Furthermore, I have found it easiest to define different views on the
> > > > UserData table and to work with this views in Reporting Services (not
> > > > directly with the UserData table). In the view, you can rename the fields of
> > > > the UserData table with aliases that are the names of the columns of the WSS
> > > > list.
> > > >
> > > > A last hint: you can display reports in WSS. Just define a WSS page with a
> > > > webpart aerea and give this webpart the reportserver link of the report you
> > > > want to show. It works fine.
> > > >
> > > > Good luck - Judith Schuetz (www.osn.ch)
> > > >
> > > >
> > > > "Maarten Visser" wrote:
> > > >
> > > > >
> > > > > I was wondering if it would be possible to generate reports directly from
> > > > > Windows Sharepoint Services (WSS) Lists or from the output of a Webservice?
> > > > >
> > > > > tnx
> > > > >
> > > > > -= Maximizing Creativity and Productivity =-|||I'm reviewing this... sounds promising:
http://www.teuntostring.net/blog/2006/03/update-reporting-over-sharepoint-lists.html
"Maarten Visser" wrote:
> Judith.
> Thanks for the information, I understand your solution.
> But, like you are saying.. ' It is a bit of a guesswork'.
> I have to build a solution for a customer, where end users have to build
> reports and the manipulation of data has to be as easy as possible. Because
> of this, i was thinking to use WSS as a front-end for data input and
> Reporting Services for generating reports on this data.
> I'm afraid the given solution would not work in this case, because the user
> needs to be able to add columns (in WSS) and the report should than easily be
> adapted by the user to show this column. (It would be best if the report
> automatically showed the extra column).
> Could the ADO.Net extensibility of Reporting Services do something here..
> Would it be possible to build a webservice that gets the information from
> Sharepoint and let Reporting Services build reports based on the data (rows)
> that this webservice provides?
> Tnx.
> Maarten
>
> I'm afraid the given solution would not work in this case, because the user
> needs to be able to add columns and the report should than easely be adapted
> by the user to show this column. (It would be best if the report
> automatecally showed the extra column).
>
> "j schuetz" wrote:
> > Dear Maarten
> >
> > Yes, you can generate a report from data of WSS - although it is a bit of a
> > guesswork. WSS saves all user data in one table only (called UserData). You
> > will have to filter the right data from this table. In order to know what to
> > filter, you will have to identify the tp_ListId (uniqueidentifier) of the
> > WSS-List on which you want to base your report. In order to find this
> > tp_ListId you have to search first in the Sites table for the tp_ID of the
> > site. With this ID you can look up the tp_ID of the subweb in the Webs table.
> > And finally, with the ID of the subweb you can look up the ID of the WSS list
> > in the Lists table.
> >
> > The next step will be to identify the fields for the identified list. There
> > is only one way: make a print screen from the WSS-list and scroll the list
> > date in the UserData table in order to find the fields that store the WSS
> > list data.
> >
> > Furthermore, I have found it easiest to define different views on the
> > UserData table and to work with this views in Reporting Services (not
> > directly with the UserData table). In the view, you can rename the fields of
> > the UserData table with aliases that are the names of the columns of the WSS
> > list.
> >
> > A last hint: you can display reports in WSS. Just define a WSS page with a
> > webpart aerea and give this webpart the reportserver link of the report you
> > want to show. It works fine.
> >
> > Good luck - Judith Schuetz (www.osn.ch)
> >
> >
> > "Maarten Visser" wrote:
> >
> > >
> > > I was wondering if it would be possible to generate reports directly from
> > > Windows Sharepoint Services (WSS) Lists or from the output of a Webservice?
> > >
> > > tnx
> > >
> > > -= Maximizing Creativity and Productivity =-|||Do you know if this will be valid for the new version of WSS(v3)?
"Mitch vH [MSFT]" wrote:
> This is a fragment from a sp I wrote for a customer that ought to get you
> started...
> declare @.tbl table(DisplayName varchar(100), ColName varchar(100), List
> varchar(20), ShowFld varchar(100))
> select top 1 @.flds=cast(tp_Fields as varchar(8000))
> from dbo.Lists
> where <-- some selection clause -->
> select @.flds = '<root>'+@.flds+'</root>' -- surround field list with top
> level node, otherwise DOM throws error
> exec sp_xml_preparedocument @.hnd output, @.flds
> insert into @.tbl
> select *
> from openxml(@.hnd, N'/root/Field') with (DisplayName varchar(100), ColName
> varchar(100), List varchar(20), ShowField varchar(100))
> where DisplayName is not null
> exec sp_xml_removedocument @.hnd
> select @.cmd='select "ID"=ud.tp_ID, Created=ud.tp_Created,
> Modified=ud.tp_Modified, Author=u1.tp_Title'
> declare crs cursor for select DisplayName, ColName, List, ShowFld from @.tbl
> open crs
> fetch next from crs into @.name, @.colname, @.list, @.showfld
> select @.joinum=2, @.join=''
> while @.@.fetch_status = 0
> begin
> if @.list is not NULL -- if this is a userlist field, join in the list and
> return the value (not the list id)
> begin
> select @.alias = 'u'+cast(@.joinum as varchar(3))
> select @.join=@.join+' join dbo.'+@.list+' '+@.alias+' on
> (ud.'+@.colname+'='+@.alias+'.tp_ID and ud.tp_Siteid='+@.alias+'.tp_SiteID)'
> select @.cmd=@.cmd+', '''+@.name+'''='+@.alias+'.tp_'+@.showfld
> select @.joinum=@.joinum+1
> end
> else
> begin
> if left(@.colname, 5) = 'ntext' select @.colname = 'cast('+@.colname+' as
> varchar('+cast(@.txtlen as varchar(4))+'))'
> select @.cmd=@.cmd+', '''+@.name+'''='+@.colname
> end
> fetch next from crs into @.name, @.colname, @.list, @.showfld
> end
> close crs
> deallocate crs
> select @.cmd=@.cmd+' from dbo.UserData ud join dbo.UserInfo u1 on
> (ud.tp_Author=u1.tp_ID and ud.tp_Siteid=u1.tp_SiteID) '+@.join
> select @.cmd=@.cmd+' order by ud.tp_ID'
> Cheers
> Mitch
> "j schuetz" wrote:
> > Sorry - I can't help you with this one.
> >
> > "Maarten Visser" wrote:
> >
> > > Judith.
> > >
> > > Thanks for the information, I understand your solution.
> > > But, like you are saying.. ' It is a bit of a guesswork'.
> > >
> > > I have to build a solution for a customer, where end users have to build
> > > reports and the manipulation of data has to be as easy as possible. Because
> > > of this, i was thinking to use WSS as a front-end for data input and
> > > Reporting Services for generating reports on this data.
> > >
> > > I'm afraid the given solution would not work in this case, because the user
> > > needs to be able to add columns (in WSS) and the report should than easily be
> > > adapted by the user to show this column. (It would be best if the report
> > > automatically showed the extra column).
> > >
> > > Could the ADO.Net extensibility of Reporting Services do something here..
> > > Would it be possible to build a webservice that gets the information from
> > > Sharepoint and let Reporting Services build reports based on the data (rows)
> > > that this webservice provides?
> > >
> > > Tnx.
> > > Maarten
> > >
> > >
> > > I'm afraid the given solution would not work in this case, because the user
> > > needs to be able to add columns and the report should than easely be adapted
> > > by the user to show this column. (It would be best if the report
> > > automatecally showed the extra column).
> > >
> > >
> > >
> > > "j schuetz" wrote:
> > >
> > > > Dear Maarten
> > > >
> > > > Yes, you can generate a report from data of WSS - although it is a bit of a
> > > > guesswork. WSS saves all user data in one table only (called UserData). You
> > > > will have to filter the right data from this table. In order to know what to
> > > > filter, you will have to identify the tp_ListId (uniqueidentifier) of the
> > > > WSS-List on which you want to base your report. In order to find this
> > > > tp_ListId you have to search first in the Sites table for the tp_ID of the
> > > > site. With this ID you can look up the tp_ID of the subweb in the Webs table.
> > > > And finally, with the ID of the subweb you can look up the ID of the WSS list
> > > > in the Lists table.
> > > >
> > > > The next step will be to identify the fields for the identified list. There
> > > > is only one way: make a print screen from the WSS-list and scroll the list
> > > > date in the UserData table in order to find the fields that store the WSS
> > > > list data.
> > > >
> > > > Furthermore, I have found it easiest to define different views on the
> > > > UserData table and to work with this views in Reporting Services (not
> > > > directly with the UserData table). In the view, you can rename the fields of
> > > > the UserData table with aliases that are the names of the columns of the WSS
> > > > list.
> > > >
> > > > A last hint: you can display reports in WSS. Just define a WSS page with a
> > > > webpart aerea and give this webpart the reportserver link of the report you
> > > > want to show. It works fine.
> > > >
> > > > Good luck - Judith Schuetz (www.osn.ch)
> > > >
> > > >
> > > > "Maarten Visser" wrote:
> > > >
> > > > >
> > > > > I was wondering if it would be possible to generate reports directly from
> > > > > Windows Sharepoint Services (WSS) Lists or from the output of a Webservice?
> > > > >
> > > > > tnx
> > > > >
> > > > > -= Maximizing Creativity and Productivity =-|||Hi,
In case you are interested, we have developped a Reporting Services Data
Extension for SharePoint. An evaluation version is available on our web site
at http://www.enesyssoftware.com/Default.aspx?tabid=56.
If you would like to develop it from scratch, the article from Teun Duynstee
is surely the way to go.
--
Frederic Latour
Enesys
http://www.enesyssoftware.com
"Bob C." wrote:
> I'm reviewing this... sounds promising:
> http://www.teuntostring.net/blog/2006/03/update-reporting-over-sharepoint-lists.html
> "Maarten Visser" wrote:
> > Judith.
> >
> > Thanks for the information, I understand your solution.
> > But, like you are saying.. ' It is a bit of a guesswork'.
> >
> > I have to build a solution for a customer, where end users have to build
> > reports and the manipulation of data has to be as easy as possible. Because
> > of this, i was thinking to use WSS as a front-end for data input and
> > Reporting Services for generating reports on this data.
> >
> > I'm afraid the given solution would not work in this case, because the user
> > needs to be able to add columns (in WSS) and the report should than easily be
> > adapted by the user to show this column. (It would be best if the report
> > automatically showed the extra column).
> >
> > Could the ADO.Net extensibility of Reporting Services do something here..
> > Would it be possible to build a webservice that gets the information from
> > Sharepoint and let Reporting Services build reports based on the data (rows)
> > that this webservice provides?
> >
> > Tnx.
> > Maarten
> >
> >
> > I'm afraid the given solution would not work in this case, because the user
> > needs to be able to add columns and the report should than easely be adapted
> > by the user to show this column. (It would be best if the report
> > automatecally showed the extra column).
> >
> >
> >
> > "j schuetz" wrote:
> >
> > > Dear Maarten
> > >
> > > Yes, you can generate a report from data of WSS - although it is a bit of a
> > > guesswork. WSS saves all user data in one table only (called UserData). You
> > > will have to filter the right data from this table. In order to know what to
> > > filter, you will have to identify the tp_ListId (uniqueidentifier) of the
> > > WSS-List on which you want to base your report. In order to find this
> > > tp_ListId you have to search first in the Sites table for the tp_ID of the
> > > site. With this ID you can look up the tp_ID of the subweb in the Webs table.
> > > And finally, with the ID of the subweb you can look up the ID of the WSS list
> > > in the Lists table.
> > >
> > > The next step will be to identify the fields for the identified list. There
> > > is only one way: make a print screen from the WSS-list and scroll the list
> > > date in the UserData table in order to find the fields that store the WSS
> > > list data.
> > >
> > > Furthermore, I have found it easiest to define different views on the
> > > UserData table and to work with this views in Reporting Services (not
> > > directly with the UserData table). In the view, you can rename the fields of
> > > the UserData table with aliases that are the names of the columns of the WSS
> > > list.
> > >
> > > A last hint: you can display reports in WSS. Just define a WSS page with a
> > > webpart aerea and give this webpart the reportserver link of the report you
> > > want to show. It works fine.
> > >
> > > Good luck - Judith Schuetz (www.osn.ch)
> > >
> > >
> > > "Maarten Visser" wrote:
> > >
> > > >
> > > > I was wondering if it would be possible to generate reports directly from
> > > > Windows Sharepoint Services (WSS) Lists or from the output of a Webservice?
> > > >
> > > > tnx
> > > >
> > > > -= Maximizing Creativity and Productivity =-