Wednesday, March 28, 2012
Intermittent email issue
only works sometimes. Other time it fails with a "Reporting Services
Failure sending mail: Cannot access a closed file" error message.
The report is running off a snapshot that is generated every half hour
and a subscription is setup to email the report to some users. The
snapshot is generated even when the email fails.
It seems the problem is pointed to by userName: [DOMAIN\username]not
found in the database. This seems to be a security problem - but why
would it work sometimes? The log file is below for reference. The user
in question is in the same domain as the report service is running
under.
Environment:
Report service SP2 running on a Windows 2003 EE with SQL Server 2000
Active Director Domain server running on Windows 2003 EE
The report server service is running under a domain account that is in
the local administrator group on the local server.
Has anyone seen this problem?
Thanks
ReportingServicesService!library!2b4!09/02/2005-09:09:38:: i INFO:
Initializing EnableExecutionLogging to 'True' as specified in Server
system properties.
ReportingServicesService!session!2b4!09/02/2005-09:09:38:: i INFO:
LoadSnapshot: Item with session: tc2ixx55bnczhjifyjr2z42q, reportPath:
/Company Reports/MyReport, userName: [DOMAIN\username]not found in the
database
ReportingServicesService!chunks!2b4!09/02/2005-09:09:38:: i INFO: ###
GetReportChunk('MyReport_style', 1), chunk was not found!
this=38c10bb1-1bae-4d41-a03e-f56437fc3c86
ReportingServicesService!emailextension!2b4!09/02/2005-09:09:38:: Error
sending email. System.ObjectDisposedException: Cannot access a closed
file.
at System.IO.__Error.FileNotOpen()
at System.IO.FileStream.Read(Byte[] array, Int32 offset, Int32
count)
at
Microsoft.ReportingServices.Library.PartitionFileStream.Read(Byte[]
buffer, Int32 offset, Int32 count)
at
Microsoft.ReportingServices.Library.MemoryUntilThresholdStream.Read(Byte[]
buffer, Int32 offset, Int32 count)
at Microsoft.ReportingServices.Library.RSStream.Read(Byte[] buffer,
Int32 offset, Int32 count)
at
Microsoft.ReportingServices.EmailDeliveryProvider.EmailProvider.EmbedReport(IMessage
message, RenderedOutputFile[] reportData, Notification notification,
SubscriptionData data)
at
Microsoft.ReportingServices.EmailDeliveryProvider.EmailProvider.ConstructMessageBody(IMessage
message, Notification notification, SubscriptionData data)
at
Microsoft.ReportingServices.EmailDeliveryProvider.EmailProvider.CreateMessage(Notification
notification)
at
Microsoft.ReportingServices.EmailDeliveryProvider.EmailProvider.Deliver(Notification
notification)
ReportingServicesService!notification!2b4!09/02/2005-09:09:38::
Notification 2180101f-6faa-41b7-b1a0-b3217c5d630e completed. Success:
False, Status: Failure sending mail: Cannot access a closed file.,
DeliveryExtension: Report Server Email, Report: MyReport, Attempt 0
ReportingServicesService!dbpolling!2b4!09/02/2005-09:09:38::
NotificationPolling finished processing item
2180101f-6faa-41b7-b1a0-b3217c5d630ejmbackup1024@.gmail.com wrote:
> We are having a problem with a report that is scheduled to be emailed
> only works sometimes. Other time it fails with a "Reporting Services
> Failure sending mail: Cannot access a closed file" error message.
> The report is running off a snapshot that is generated every half hour
> and a subscription is setup to email the report to some users. The
> snapshot is generated even when the email fails.
> It seems the problem is pointed to by userName: [DOMAIN\username]not
> found in the database. This seems to be a security problem - but why
> would it work sometimes? The log file is below for reference. The user
> in question is in the same domain as the report service is running
> under.
> Environment:
> Report service SP2 running on a Windows 2003 EE with SQL Server 2000
> Active Director Domain server running on Windows 2003 EE
> The report server service is running under a domain account that is in
> the local administrator group on the local server.
> Has anyone seen this problem?
> Thanks
> ReportingServicesService!library!2b4!09/02/2005-09:09:38:: i INFO:
> Initializing EnableExecutionLogging to 'True' as specified in Server
> system properties.
> ReportingServicesService!session!2b4!09/02/2005-09:09:38:: i INFO:
> LoadSnapshot: Item with session: tc2ixx55bnczhjifyjr2z42q, reportPath:
> /Company Reports/MyReport, userName: [DOMAIN\username]not found in the
> database
> ReportingServicesService!chunks!2b4!09/02/2005-09:09:38:: i INFO: ###
> GetReportChunk('MyReport_style', 1), chunk was not found!
> this=38c10bb1-1bae-4d41-a03e-f56437fc3c86
> ReportingServicesService!emailextension!2b4!09/02/2005-09:09:38:: Error
> sending email. System.ObjectDisposedException: Cannot access a closed
> file.
> at System.IO.__Error.FileNotOpen()
> at System.IO.FileStream.Read(Byte[] array, Int32 offset, Int32
> count)
> at
> Microsoft.ReportingServices.Library.PartitionFileStream.Read(Byte[]
> buffer, Int32 offset, Int32 count)
> at
> Microsoft.ReportingServices.Library.MemoryUntilThresholdStream.Read(Byte[]
> buffer, Int32 offset, Int32 count)
> at Microsoft.ReportingServices.Library.RSStream.Read(Byte[] buffer,
> Int32 offset, Int32 count)
> at
> Microsoft.ReportingServices.EmailDeliveryProvider.EmailProvider.EmbedReport(IMessage
> message, RenderedOutputFile[] reportData, Notification notification,
> SubscriptionData data)
> at
> Microsoft.ReportingServices.EmailDeliveryProvider.EmailProvider.ConstructMessageBody(IMessage
> message, Notification notification, SubscriptionData data)
> at
> Microsoft.ReportingServices.EmailDeliveryProvider.EmailProvider.CreateMessage(Notification
> notification)
> at
> Microsoft.ReportingServices.EmailDeliveryProvider.EmailProvider.Deliver(Notification
> notification)
> ReportingServicesService!notification!2b4!09/02/2005-09:09:38::
> Notification 2180101f-6faa-41b7-b1a0-b3217c5d630e completed. Success:
> False, Status: Failure sending mail: Cannot access a closed file.,
> DeliveryExtension: Report Server Email, Report: MyReport, Attempt 0
> ReportingServicesService!dbpolling!2b4!09/02/2005-09:09:38::
> NotificationPolling finished processing item
> 2180101f-6faa-41b7-b1a0-b3217c5d630e
Experiencing a very similar issue, running SP1. I created a
parameterized report, from which 93 link reports point to. Those 93
linked reports are set to run nightly at 2:00 am by generating a
snapshot (for historical purposes). All 93 snapshots were created
within about 3 mintutes of 2:00 am. The subscription is suposed to
fire an email whenever it is updated, but only half or so are
successful. On those that are unsuccessful, I get no error message at
all.
It seems timed subscriptions work just fine. Perhaps what I will do is
send the email based only on a timed subscription and also create a
snapshot for historical purposes...I would much rather not have to do
double the processor work, as many more reports are needed for
conversion.
Intermittent data source problem - trying to access a deleted data source
I am using Reporting Services within Visual Studio .Net 2003, connecting to
a SQL Server 2000 database.
I am having an intermittent problem with a report misbehaving. The report
has 5 subreports, all of which work fine on their own (for the most part).
The problem is that, sometimes, when I run the main report I get the
following error:-
"An error occurred while executing the subreport ¡OppsHotProspects¢: An
error has occurred during report processing.
Cannot create a connection to data source 'GuessDB'."
This error sometimes only appears for one report, sometimes for all. The
issue is that the 'GuessDB' data source is no longer used; in its place the
'GuessDBLive' data source is now used. I have removed the 'GuessDB' data
source.
When I run each subreport by itself they run fine, and the data source used
in both the Data tab and the Preview tab is the correct one. One
subreport, however, intermittently misbehaves and gives the same error on
its own.
I am very confused as to why this is happening. Presumably something in
each subreport is referencing the deleted data source, but I can't figure
it out. The deleted one should not be getting used at all.
I'd appreciate any help!
Thanks
DeniseFor anyone else having the same problem, I think I've found the answer.
Out of sheer frustration, I examined the code on each report, and on one
there was a chunk of code which referenced the obsolete data source. I've
no idea why this code remained on one report and not the others, but it
did. I removed the offending code, and the problem (touch wood!) has been
resolved.
On Thu, 3 Nov 2005 12:03:38 +0000, Denise wrote:
> Hello
> I am using Reporting Services within Visual Studio .Net 2003, connecting to
> a SQL Server 2000 database.
> I am having an intermittent problem with a report misbehaving. The report
> has 5 subreports, all of which work fine on their own (for the most part).
> The problem is that, sometimes, when I run the main report I get the
> following error:-
> "An error occurred while executing the subreport ¡OppsHotProspects¢: An
> error has occurred during report processing.
> Cannot create a connection to data source 'GuessDB'."
> This error sometimes only appears for one report, sometimes for all. The
> issue is that the 'GuessDB' data source is no longer used; in its place the
> 'GuessDBLive' data source is now used. I have removed the 'GuessDB' data
> source.
> When I run each subreport by itself they run fine, and the data source used
> in both the Data tab and the Preview tab is the correct one. One
> subreport, however, intermittently misbehaves and gives the same error on
> its own.
> I am very confused as to why this is happening. Presumably something in
> each subreport is referencing the deleted data source, but I can't figure
> it out. The deleted one should not be getting used at all.
> I'd appreciate any help!
> Thanks
> Denise
Monday, March 26, 2012
Interim Summing every x number of rows
Using SQL Server 2005 Standard & SQL Server Reporting Services.
First off, here is the application.
An airport baggage handling system distributes bags using multiple conveyors. Bag counts are logged every 15 minutes. There is a count for each conveyor. Example Log Table layout is as follows (The TIME column is DateTime, the Convx columns are TinyInt)Time Conv1 Conv2 Conv3 Conv4 Conv5 Conv6
i 3 2 3 4 2 1
i+15min 2 3 4 2 2 2
i+30min etc.....................
i+45min
i+60min
etc...
The management team wants a throughput report which will take the following parameters in order to filter the results:
Begin Date End Date Time Interval (selectable as 15mins, 30 mins, 45mins, 60 mins and Daily)My question is this. Given that my raw data has 1 row for every 15 minutes, if they select 60 minutes as their interval I need to run the query with the start and end dates but Sum every 4 rows and display it as 1 row, likewise if they select 30 minute interval, I need to sum every 2 rows. How do I run a query and SUM the Conv count data for every x number of rows and use the 1st TIME value in the returned x row summary?
Thanks for your help and let me know if I need to clarify anything
For this kind of question / problem, it is very very very helpful to post the estructure of the tables, including constraints and indexes, sample data (insert statements) and expected result.
AMB
|||OK, I'm a newbie at all of this so I will try and give you what you asked for:
In the Tables below, RecordID is my Key, Identity field, Increment 1, seed 1 - Data Type Int.
Conv columns are all SmallInt and TimeStampVal is DateTime with DefaultValue of (getdate()) to log the time when the record is inserted. 1 Record will be insertedevery 15 mins via an OPC Server.
Example of table including sample data - for easy explanation of Math I have presumed that each conveyor will have a throughput of 2 bags every 15 minutes
Expected result Data for Query ran with Interval parameter set to 15 mins will be identical to the table above (without the RecordID column.)
Expected result Data for Query ran with Interval Parameter set to 30 Mins
Expected Result Set for Query Ran with Interval Parameter set to 60 Mins
Hope this helps explain it a little more, if not let me know how I can clarify.
Thanks for your time.
|||This is a good start, however, given the information in this format, anyone wanting to help would need to spend some time creating the create table statements and insert statements before they can start helping you. You will get a lot more help if you provide the create table and insert statements like this.
Code Snippet
CREATE TABLE BagCounts
(
RecordID INT IDENTITY (1,1) PRIMARY KEY,
Conv1 smallint,
Conv2 smallint,
Conv3 smallint,
TimeStampVal DateTime
)
GO
INSERT INTO BagCounts (Conv1, Conv2, Conv3, TimeStampVal)
SELECT 2, 2, 2, '2007-06-29 07:00:00.000'
UNION SELECT 2, 2, 2, '2007-06-29 07:15:00.000'
UNION SELECT 2, 2, 2, '2007-06-29 07:30:00.000'
UNION SELECT 2, 2, 2, '2007-06-29 07:45:00.000'
UNION SELECT 2, 2, 2, '2007-06-29 08:00:00.000'
UNION SELECT 2, 2, 2, '2007-06-29 08:15:00.000'
UNION SELECT 2, 2, 2, '2007-06-29 08:30:00.000'
UNION SELECT 2, 2, 2, '2007-06-29 08:45:00.000'
UNION SELECT 2, 2, 2, '2007-06-29 09:00:00.000'
UNION SELECT 2, 2, 2, '2007-06-29 09:15:00.000'
UNION SELECT 2, 2, 2, '2007-06-29 09:30:00.000'
UNION SELECT 2, 2, 2, '2007-06-29 09:45:00.000'
GO
I will see if I can come up with a procedure to show you how to get what you want.
|||Try:
Code Snippet
createtable #t (
RecordID intnotnulluniqueclustered,
Conv1 smallintnotnull,
Conv2 smallintnotnull,
Conv3 smallintnotnull,
TimeStampVal datetimenotnull
)
go
setnocounton
insertinto #t values(1, 2, 2, 2,'2007-06-29 07:00:00.000')
insertinto #t values(2, 2, 2, 2,'2007-06-29 07:15:00.000')
insertinto #t values(3, 2, 2, 2,'2007-06-29 07:30:00.000')
insertinto #t values(4, 2, 2, 2,'2007-06-29 07:45:00.000')
insertinto #t values(5, 2, 2, 2,'2007-06-29 08:00:00.000')
insertinto #t values(6, 2, 2, 2,'2007-06-29 08:15:00.000')
insertinto #t values(7, 2, 2, 2,'2007-06-29 08:30:00.000')
insertinto #t values(8, 2, 2, 2,'2007-06-29 08:45:00.000')
insertinto #t values(9, 2, 2, 2,'2007-06-29 09:00:00.000')
insertinto #t values(10, 2, 2, 2,'2007-06-29 09:15:00.000')
insertinto #t values(11, 2, 2, 2,'2007-06-29 09:30:00.000')
insertinto #t values(12, 2, 2, 2,'2007-06-29 09:45:00.000')
setnocountoff
go
declare @.sd datetime
declare @.interval int
set @.sd = '2007-06-29 07:00:00.000'
set @.interval = 30
;with cte_1
as
(
select
*,
datediff(minute, @.sd, TimeStampVal)/ @.interval as grp
from
#t
)
select
sum(Conv1)as Conv1,
sum(Conv2)as Conv2,
sum(Conv3)as Conv3,
min(TimeStampVal)as TimeStampVal
from
cte_1
group by
grp
order by
min(TimeStampVal)
go
droptable #t
go
AMB
|||Hunchback, Thanks for the solution, it was just what I was looking for. It took me a while to look some stuff up to figure out what you were doing (I've only been using SQL Server for around 2 months now).
I do have a quick question for clarification though if you would indulge me:
In this part of the code i think you are creating a Common Table Expression (cte_1) which basically replicates the original table and adds a new column onto it called grp.
Code Snippet
with cte_1
as
(
select
*,
datediff(minute, @.sd, TimeStampVal) / @.interval as grp
from
#t
)
I had never heard of CTE's until now so please forgive any dumb questions but why do you not have to specify a datatype for the grp column? I know that it somehow defaults to an int from playing with your codesnippet to view the entire cte_1 table but why does it do this when the values returned from the datediff/@.interval function are floating point?
By the way your solution is pure genious - I am still trying to get my brain thinking in t-sql, some of the problems and solutions I am reading on this forum are really opening my eyes as to what is possible.
Thanks again
Colin
|||Hi Colin,
Glad it helped.
> why do you not have to specify a datatype for the grp column? I know that it somehow defaults to an int from playing with your codesnippet to view
> the entire cte_1 table but why does it do this when the values returned from the datediff/@.interval function are floating point?
The function DATEDIFF returns int, the variable @.interval is int and the division of integers yields integer.
select 1 / 2, 1 / 2.
go
I will suggest, if you want to learn more T-SQL, to get the books:
- Inside SQL server 2005: T-SQL Querying
- Inside SQL server 2005: T-SQL Programming
you will not regret having those books.
AMB
Friday, March 23, 2012
Interim Summing every x number of rows
Using SQL Server 2005 Standard & SQL Server Reporting Services.
First off, here is the application.
An airport baggage handling system distributes bags using multiple conveyors. Bag counts are logged every 15 minutes. There is a count for each conveyor. Example Log Table layout is as follows (The TIME column is DateTime, the Convx columns are TinyInt)Time Conv1 Conv2 Conv3 Conv4 Conv5 Conv6
i 3 2 3 4 2 1
i+15min 2 3 4 2 2 2
i+30min etc.....................
i+45min
i+60min
etc...
The management team wants a throughput report which will take the following parameters in order to filter the results:
Begin Date End Date Time Interval (selectable as 15mins, 30 mins, 45mins, 60 mins and Daily)My question is this. Given that my raw data has 1 row for every 15 minutes, if they select 60 minutes as their interval I need to run the query with the start and end dates but Sum every 4 rows and display it as 1 row, likewise if they select 30 minute interval, I need to sum every 2 rows. How do I run a query and SUM the Conv count data for every x number of rows and use the 1st TIME value in the returned x row summary?
Thanks for your help and let me know if I need to clarify anything
For this kind of question / problem, it is very very very helpful to post the estructure of the tables, including constraints and indexes, sample data (insert statements) and expected result.
AMB
|||OK, I'm a newbie at all of this so I will try and give you what you asked for:
In the Tables below, RecordID is my Key, Identity field, Increment 1, seed 1 - Data Type Int.
Conv columns are all SmallInt and TimeStampVal is DateTime with DefaultValue of (getdate()) to log the time when the record is inserted. 1 Record will be insertedevery 15 mins via an OPC Server.
Example of table including sample data - for easy explanation of Math I have presumed that each conveyor will have a throughput of 2 bags every 15 minutes
Expected result Data for Query ran with Interval parameter set to 15 mins will be identical to the table above (without the RecordID column.)
Expected result Data for Query ran with Interval Parameter set to 30 Mins
Expected Result Set for Query Ran with Interval Parameter set to 60 Mins
Hope this helps explain it a little more, if not let me know how I can clarify.
Thanks for your time.
|||This is a good start, however, given the information in this format, anyone wanting to help would need to spend some time creating the create table statements and insert statements before they can start helping you. You will get a lot more help if you provide the create table and insert statements like this.
Code Snippet
CREATE TABLE BagCounts
(
RecordID INT IDENTITY (1,1) PRIMARY KEY,
Conv1 smallint,
Conv2 smallint,
Conv3 smallint,
TimeStampVal DateTime
)
GO
INSERT INTO BagCounts (Conv1, Conv2, Conv3, TimeStampVal)
SELECT 2, 2, 2, '2007-06-29 07:00:00.000'
UNION SELECT 2, 2, 2, '2007-06-29 07:15:00.000'
UNION SELECT 2, 2, 2, '2007-06-29 07:30:00.000'
UNION SELECT 2, 2, 2, '2007-06-29 07:45:00.000'
UNION SELECT 2, 2, 2, '2007-06-29 08:00:00.000'
UNION SELECT 2, 2, 2, '2007-06-29 08:15:00.000'
UNION SELECT 2, 2, 2, '2007-06-29 08:30:00.000'
UNION SELECT 2, 2, 2, '2007-06-29 08:45:00.000'
UNION SELECT 2, 2, 2, '2007-06-29 09:00:00.000'
UNION SELECT 2, 2, 2, '2007-06-29 09:15:00.000'
UNION SELECT 2, 2, 2, '2007-06-29 09:30:00.000'
UNION SELECT 2, 2, 2, '2007-06-29 09:45:00.000'
GO
I will see if I can come up with a procedure to show you how to get what you want.
|||Try:
Code Snippet
create table #t (
RecordID int not null unique clustered,
Conv1 smallint not null,
Conv2 smallint not null,
Conv3 smallint not null,
TimeStampVal datetime not null
)
go
set nocount on
insert into #t values(1, 2, 2, 2, '2007-06-29 07:00:00.000')
insert into #t values(2, 2, 2, 2, '2007-06-29 07:15:00.000')
insert into #t values(3, 2, 2, 2, '2007-06-29 07:30:00.000')
insert into #t values(4, 2, 2, 2, '2007-06-29 07:45:00.000')
insert into #t values(5, 2, 2, 2, '2007-06-29 08:00:00.000')
insert into #t values(6, 2, 2, 2, '2007-06-29 08:15:00.000')
insert into #t values(7, 2, 2, 2, '2007-06-29 08:30:00.000')
insert into #t values(8, 2, 2, 2, '2007-06-29 08:45:00.000')
insert into #t values(9, 2, 2, 2, '2007-06-29 09:00:00.000')
insert into #t values(10, 2, 2, 2, '2007-06-29 09:15:00.000')
insert into #t values(11, 2, 2, 2, '2007-06-29 09:30:00.000')
insert into #t values(12, 2, 2, 2, '2007-06-29 09:45:00.000')
set nocount off
go
declare @.sd datetime
declare @.interval int
set @.sd = '2007-06-29 07:00:00.000'
set @.interval = 30
;with cte_1
as
(
select
*,
datediff(minute, @.sd, TimeStampVal) / @.interval as grp
from
#t
)
select
sum(Conv1) as Conv1,
sum(Conv2) as Conv2,
sum(Conv3) as Conv3,
min(TimeStampVal) as TimeStampVal
from
cte_1
group by
grp
order by
min(TimeStampVal)
go
drop table #t
go
AMB
|||Hunchback, Thanks for the solution, it was just what I was looking for. It took me a while to look some stuff up to figure out what you were doing (I've only been using SQL Server for around 2 months now).
I do have a quick question for clarification though if you would indulge me:
In this part of the code i think you are creating a Common Table Expression (cte_1) which basically replicates the original table and adds a new column onto it called grp.
Code Snippet
with cte_1
as
(
select
*,
datediff(minute, @.sd, TimeStampVal) / @.interval as grp
from
#t
)
I had never heard of CTE's until now so please forgive any dumb questions but why do you not have to specify a datatype for the grp column? I know that it somehow defaults to an int from playing with your codesnippet to view the entire cte_1 table but why does it do this when the values returned from the datediff/@.interval function are floating point?
By the way your solution is pure genious - I am still trying to get my brain thinking in t-sql, some of the problems and solutions I am reading on this forum are really opening my eyes as to what is possible.
Thanks again
Colin
|||Hi Colin,
Glad it helped.
> why do you not have to specify a datatype for the grp column? I know that it somehow defaults to an int from playing with your codesnippet to view
> the entire cte_1 table but why does it do this when the values returned from the datediff/@.interval function are floating point?
The function DATEDIFF returns int, the variable @.interval is int and the division of integers yields integer.
select 1 / 2, 1 / 2.
go
I will suggest, if you want to learn more T-SQL, to get the books:
- Inside SQL server 2005: T-SQL Querying
- Inside SQL server 2005: T-SQL Programming
you will not regret having those books.
AMB
Intergrity of forms and windows Auth
reporting for report purpose ,but report server works on windows
authentication ,due to which dialog box is popping up,i need to know a way of
integratinf the two to have a single sign on Process?Rags,
You have two options:
1. Generating the report on the server side of the application by using the
Render SOAP API. The advantage of this approach is that it is more secure
since the user doesn't see the report URL (everything takes place on the
server). The tradeoff is that the interactive features (drilldown,
drillthrough, etc.) will not work with SOAP since their require direct
access to the Report Server by URL. If you decide to take this approach, you
can pass the web app identity to the Report Server and grant a minimum set
of permissions in RS to this account.
2. Replace the RS Windows security with Forms Authentication by writing a
custom security extension. This will allow you to incorporate interactive
features in your reports. In this scenario, the reports will be requested on
the client side of the application (e.g. by using the Report Viewer sample
control). If you decide to take this approach check out the sample security
extension from MS at
(http://msdn.microsoft.com/library/?url=/library/en-us/dnsql2k/html/ufairs.a
sp?frame=true#ufairs_topic3).
So, you have to carefully weight out your requirements for security,
reporting features and your application architecture to determine the best
integration scenario.
--
Hope this helps.
---
Teo Lachev, MCSD, MCT
Author: "Microsoft Reporting Services in Action"
http://www.prologika.com
"Rags Iyer" <RagsIyer@.discussions.microsoft.com> wrote in message
news:0066D811-7499-4FFD-BB70-D97D8051D1F5@.microsoft.com...
> i Have an ASP.NET Application with forms authentication which uses sql
> reporting for report purpose ,but report server works on windows
> authentication ,due to which dialog box is popping up,i need to know a way
of
> integratinf the two to have a single sign on Process?
Interesting Transactional Replication issue
We have moved from SQL 2000 to SQL 2005 for our main server, and our reporting server, which uses transactional replication.
Now, in SQL 2000 when I originally setup replication, it replicated all of the table indexes.
I have recreated the publications in SQL 2005, but they are no longer there. Do you have any idea what would cause some of our table indexes to be missing?
What can be done to ensure this doesn't happen?
Thank you.
Justin, the default article schema options when creating a transactional publication through the SQL2005 workbench is to not replicate any non-clustered indexes (unique key constraints, clustered index, and primary key are replicated though). Is it possible that the indexes that you are missing at the subscriber are simply non-clustered indexes? Hope that helps.
-Raymond
|||Thanks for the reply. You're correct in that they are non-clustered indexes. How would I modify replication to include these secondary indexes?|||
Hi Justin,
You can use sp_changearticle to enable the NonClusteredIndexes (0x40) schema option, or you can change the 'Copy non-clustered indexes' option to true on the article property sheet (right-click publication node->properties->select Articles on left plane->Click Article Properties button.
Hope that helps,
-Raymond
Monday, March 19, 2012
Interactive Sorting/Execution of query
Does clicking interactive sort button in a column reporting services 2005 result re-execution of the query.
Or will it just re-print the rendered data in the layout and so perform better in comparison to the implementation which can be done using drill down to same report with the help of some extra parameters
Priyank
If the user session hasn't expired, interactive sorting doesn't result in re-executing of the query. The server simply re-uses the cached report.
|||I'd definately prefer the cache over generating another report. But if you feel so inclined, try both and time them to see which one is faster.|||
Thanks, I tried this, rendered data got re-printed without execution of query.
interactive sorting in sql reporting 2000
hi all
how can i get interactive sorting in sql reporting 2000 that is available in sql reporting 2005
plz suggest me the solution for same.
Most people approximated this behavior by using a series of parameters which allowed a user to select which columns to sort on. Then, you'd use the parameter values and inject their values into a custom built expression and/or expressions behind a data region. For example:
= "SELECT MyField, MyField1, MyField2 FROM MyTable ORDER BY " & Parameters!SortParameter.Value
...which would resolve to Select....From MyTable ORDER BY SomeColumn.
The example above is very simple...you'd have to make it fancier and use IIF statemetns to check for empty values, etc. etc..
Monday, March 12, 2012
Interactive sort not working in Tabular View
I am using the following query for DataSet:
SELECT
Store.ID as StoreID,
Store.Name as StoreName,
COUNT(*) as NumReservations,
SUM(Appointment.TotalBeforeTaxes) as Revenue
FROM Store LEFT JOIN Appointment ON Store.ID=Appointment.StoreID
GROUP BY ALL Store.ID, Store.Name
ORDER BY Store.Name ASC
For report, I am using tabular data view. Interactive sorting works great for StoreID, StoreName, but doesn't work for NumReservations and Revenue fields. I turned it on for all 4 columns.
What could be causing this problem?
Figured out the problem... It just doesn't work in FireFox. Seems to work fine in IE.
Interactive sort changes time field values to 0
Thanks, KenThis issue could be related to the data type of the field. There is a fixed set of data types RS supports: string, boolean, numeric, datetime, timespan. When you sort, we have to use the data we temporarily store (so that we don't have to query the data source) to process the report. If it's not one of the types supported, it might cause the loss of the value. Can you check what CLR type the time field is of?|||Hi Fang, Please forgive my ignorance, but I'm not sure what the 'clr' type is. VS2005 says the table field type is OdbcType.Time. If I try to convert it to something silly, VS2005 complains that type 'TimeSpan' cannot be converted to the silly type. So I guess the CLR type is TimeSpan?|||Can you check your RDL file? Look under the <Field> element of that field, what's the value for <rd:TypeName>?|||Thanks for your time Fang, I've pasted the snippet for the field in question:
<Field Name="TIME_RECEIVED">
<rd:TypeName>System.TimeSpan</rd:TypeName>
<DataField>TIME_RECEIVED</DataField>
</Field>|||Hmm, we have not seen this problem before. Can you submit it along with your .rdl and .rdl.data files at https://connect.microsoft.com/SQLServer? We'll investigate it. Thanks.|||Thank you Fang. I have submitted a bug report and uploaded the files.|||Thanks. We have investigated the issue and the fix will hopefully be included in the next service pack.
Interactive sort changes time field values to 0
Thanks, KenThis issue could be related to the data type of the field. There is a fixed set of data types RS supports: string, boolean, numeric, datetime, timespan. When you sort, we have to use the data we temporarily store (so that we don't have to query the data source) to process the report. If it's not one of the types supported, it might cause the loss of the value. Can you check what CLR type the time field is of?|||Hi Fang, Please forgive my ignorance, but I'm not sure what the 'clr' type is. VS2005 says the table field type is OdbcType.Time. If I try to convert it to something silly, VS2005 complains that type 'TimeSpan' cannot be converted to the silly type. So I guess the CLR type is TimeSpan?|||Can you check your RDL file? Look under the <Field> element of that field, what's the value for <rd:TypeName>?|||Thanks for your time Fang, I've pasted the snippet for the field in question:
<Field Name="TIME_RECEIVED">
<rd:TypeName>System.TimeSpan</rd:TypeName>
<DataField>TIME_RECEIVED</DataField>
</Field>|||Hmm, we have not seen this problem before. Can you submit it along with your .rdl and .rdl.data files at https://connect.microsoft.com/SQLServer? We'll investigate it. Thanks.|||Thank you Fang. I have submitted a bug report and uploaded the files.|||Thanks. We have investigated the issue and the fix will hopefully be included in the next service pack.
Interactive Size/Report Size
Hello,
This is SQL 2005 Reporting Services. I have several reports that are repeating tables with grouped information and subtotals. When deployed, we are noticing that the interactive HTML view renders a great deal more detail per page than the printed version of the report.
This didn't really become a problem until a user reported an issue where they wanted to print pages 93-97 of a 104-page report. She based the page number selection on the page numbers she was seeing in the report viewer. When printed, she did not get the data she wanted to print... and the full printed version is about 50 pages longer than the interactive viewer version.
In my report I have the following settings (no page breaks on the groups or anything, it's just a table with a header, footer, and detail rows per group:
Interactive Size: 11"wide by 8.5" long (landscape)
PageSize: 11" wide by 8.5" long (same as above)
Margins: .5in (all 4 sides)
I get the same thing when previewing via Visual Studio... so I don't think it's a web viewer problem. Are there any options to work around this problem?
I guess not. The reporting rendering behaviour of the HTML is different than the printed one. I didn′t investigate that in detail so far, but I know about this issue that the page numbers don′t match in comparison with the HTML and the PDF export.
HTH, Jens Suessmeyer.
http://www.sqlserver2005.de
Interactive reports
application?
I cannot use url access provided with the SQL Reporting Services.
I need to render an OLAP Report with drill down features.I am curious about this as well -> we are integrating a portfolio of reports
into our web app, several of them are dynamic (expand / hide) report
sections.
We have a report parameter page (assembled with SOAP calls) and a seperate
page which reads parameters from url and makes the SOAP call. We are trying
to avoid direct access to the ReportServer so that users do not have "direct"
access to the Web Service.
However, when a direct report is called, the external users are prompted to
login in order to see the + / - images. When they fail, the links are broken
and they cannot toggle open the report sections because the images link
directly to the ReportSever via Url Access.
Can I inject a custom url into the + / - links so that I can redirect the
user to my web app page to call for the opened report? Is there an easier
way to do this?
"massimo" wrote:
> Is there a way to insert reports with interavtive features in my custom web
> application?
> I cannot use url access provided with the SQL Reporting Services.
> I need to render an OLAP Report with drill down features.
>
>|||If you are talking about embedding a report into your asp.net page, then yes
you can. You will find a sample application at: C:\Program Files\Microsoft
SQL Server\MSSQL\Reporting Services\Samples\Applications\ReportViewer
This solution, when compiled will produce the DLL file in Bin directory. You
need to add a reference to this in your project and add the component
(ReportViewer) to the tool box in VS.
Regards,
KS
"massimo" wrote:
> Is there a way to insert reports with interavtive features in my custom web
> application?
> I cannot use url access provided with the SQL Reporting Services.
> I need to render an OLAP Report with drill down features.
>
>|||Yes, I have accomplished this, but we want our reports to have toggle items
while avoiding URLAccess altogether. Is this possible?
"saleek" wrote:
> If you are talking about embedding a report into your asp.net page, then yes
> you can. You will find a sample application at: C:\Program Files\Microsoft
> SQL Server\MSSQL\Reporting Services\Samples\Applications\ReportViewer
> This solution, when compiled will produce the DLL file in Bin directory. You
> need to add a reference to this in your project and add the component
> (ReportViewer) to the tool box in VS.
> Regards,
> KS
> "massimo" wrote:
> > Is there a way to insert reports with interavtive features in my custom web
> > application?
> >
> > I cannot use url access provided with the SQL Reporting Services.
> > I need to render an OLAP Report with drill down features.
> >
> >
> >|||Hi,
I think it is possible. You can see a live demo of MS Reporting
Services on Internet from www.gmsbv.nl / www.reportportal.com and test
the MS Reporting Services reports with paramters by your self. You
even can transfer to OLAP reports and slice and dice.
Regards, Marco
www.gmsbv.nl
"briberry" <briberry@.discussions.microsoft.com> wrote in message news:<029E1873-67A1-4EE8-B433-B4D7F3F27C74@.microsoft.com>...
> Yes, I have accomplished this, but we want our reports to have toggle items
> while avoiding URLAccess altogether. Is this possible?
> "saleek" wrote:
> > If you are talking about embedding a report into your asp.net page, then yes
> > you can. You will find a sample application at: C:\Program Files\Microsoft
> > SQL Server\MSSQL\Reporting Services\Samples\Applications\ReportViewer
> >
> > This solution, when compiled will produce the DLL file in Bin directory. You
> > need to add a reference to this in your project and add the component
> > (ReportViewer) to the tool box in VS.
> >
> > Regards,
> >
> > KS
> >
> > "massimo" wrote:
> >
> > > Is there a way to insert reports with interavtive features in my custom web
> > > application?
> > >
> > > I cannot use url access provided with the SQL Reporting Services.
> > > I need to render an OLAP Report with drill down features.
> > >
> > >
> > >
Interactive Reporting in ASP.NET using SSRS (2005)
Hi, I am looking for some guidance on the way to go for achieving the task described below.
I am working on a project to generate various statistical reports for the Revenue managers.
The application is aimed to be a browser based application usingASP.NET. The reports shall be interactive with all the functionalities like annotations, dynamically changing the range of the x-axis and report-click should take the user to a new report/web page, context menus, multiple reports on the same page - charts and matrix/tabular.
My boss is envisioning the applications to have interactive charts just like those you find on the Yahoo Finance website.http://finance.yahoo.com/charts. They seem to be using the Flash player.
Questions:
- We have a license for SQL Server 2005 reporting services. We had a hard time incorporating the SQL Server reports into the
ASP.NET AJAX enabled web application, using the ReportViewer control that comes along with VS2005, and they are pretty much static. Is there a better approach? I have looked at Dundas Charts they don't quite seem to be as interactive as the google finance and yahoo finance charts.Is the same thing possible without SSRS?. In terms of having Flash like report interactivity on the webpages?.Do Silverlight and/or WPF offer me the capability of building a RIA ASP.NET website (Rich Internet Application) with support for charting.
Any reponse is appreciated.
Thanks
Try the Digital Dashboards & Executive Dashboards.
http://www.dundas.com/Dashboards/index.aspx?Campaign=ASPAlliancePS
|||Thanks Momo_Stev,
I have taken a look at them, however they lack a little on the rich presentation side. After I posted this query, I came accross the below article which sounds to be doable in my case.
Article breifly explains how to integrate Flash into client side with ASP.NET server scripting.
http://www.4guysfromrolla.com/webtech/032603-1.shtml
Thank you.
Interactive Reporting
Software packages like Microsoft Small Business Accounting and Quickbooks offer a very powerful reporting module that lets end users change grouping, filtering, sorting, etc at run time (having it change the report dynamically infront of them). More importantly, their reporting tools let users click on details on the reports which opens the data in the form based portion of their software.
For example: If the end user pulls up a financial report, lets say "All Bills for February 07", the user get a report of all the bills that have gone out in that time frame. The end user can then click on the actual details in the report, and the Bill will come up in the Windows Forms portion of their software so they edit the bill, or create a new bill.
I have done a very limited amount of reporting in SQL Server, so I am not sure of how they were able to achieve this. If someone could give me some key words or ideas that I can bring up more information from in google, or even on here, I'd appreciate it.
Thanks in advance!
Have you taken a look at Report Builder yet?
Jarret
|||Possibly... I will have to look that term up shortly to see what it actually is. So far I have just gone through visual studio biz intelligence projects and created new reporting projects. Ive done the wizards, created them manually, but I havent seen any kind of options to set that would actually let an end user interact with the report directly.
Interactive column sort in Reporting services
Hi,
I have a report with fiive columns, I have implemented interactive column sorting on the report. I have added a group to the report based on Column 2 and there is a page break by group. Now if I am on the second page ( page break by column 2 ) and sort on column 3(there is no grouping on column 3), the sorting happens but after the sort, the first page is displayed.IS there any way to remain on the same page while sorting?
Thanks in Advance.
I do not think that is possible. Once you click on the sort it will sort all the pages in the report.|||It is ok if it sorts all the pages. I wanted to know if there is any way i can stick to the same page even after sorting. ie. If I am on page 5 and I click on sort, it sorts that records and takes me back to Page 1. Is there any way I can remain on page 5 after sorting?
|||I agree... I don't think that is possible (not without some nifty trickery), but do you really want that anyways? What good does it do to remain on the same page if the data is sorted differently? The data being referenced on that page will not be the same so you might as well start from the beginning.Interactive column sort in Reporting services
Hi,
I have a report with fiive columns, I have implemented interactive column sorting on the report. I have added a group to the report based on Column 2 and there is a page break by group. Now if I am on the second page ( page break by column 2 ) and sort on column 3(there is no grouping on column 3), the sorting happens but after the sort, the first page is displayed.IS there any way to remain on the same page while sorting?
Thanks in Advance.
I do not think that is possible. Once you click on the sort it will sort all the pages in the report.|||It is ok if it sorts all the pages. I wanted to know if there is any way i can stick to the same page even after sorting. ie. If I am on page 5 and I click on sort, it sorts that records and takes me back to Page 1. Is there any way I can remain on page 5 after sorting?
|||I agree... I don't think that is possible (not without some nifty trickery), but do you really want that anyways? What good does it do to remain on the same page if the data is sorted differently? The data being referenced on that page will not be the same so you might as well start from the beginning.Friday, March 9, 2012
Intelligent Report Viewer Question
Good Morning,
I have a dumb question. I'm used to working in the VS.NET 2003 environment (C#), and I'm getting into some reporting services stuff for a new client.
Ideally, they'd like to be able to do some code specific stuff with their reports, like only allowing parameters to be changed by certain Active Directory groups, etc...
Ultimately, I'd like to combine C# logic with report viewing capability.
Here's my question: Can I use C# and vanilla web forms with the ReportViewer control to display reports on them?
Thanks in advance for your replies!
Justin
Yes you can. To do what mention you'd want control the parameter rendering manually rather than having RS render the parameter toolbar.
You want to look into displaying the report using URL access to the report server vs rendering the report using the web service API. The API gives you all the information you need about the report to perform your own logic.
Wednesday, March 7, 2012
Integrity Check Job Failure
Psoted this is in Reporting Services, but no response:
I have the AdventureWorks2000 database (part of reporting services)
installed on a couple of servers. I have created a maintenance plan to run
the integrity check on all user servers. The job ran fine until the
AdventureWorks2000 db was installed. The jobs fails only on this db and work
s
just fine on other db's . Here is the
output from the maintenance plan:
Starting maintenance plan 'Master Server - All DB Integrity Check Job' on
4/10/2005 9:30:01 PM
[1] Database AdventureWorks2000: Check Data and Index Linkage...
[Microsoft SQL-DMO (ODBC SQLState: 42000)] Error 1934: [Microsoft]
91;ODBC SQL
Server Driver][SQL Server]DBCC failed because the following SET options
have
incorrect settings: 'QUOTED_IDENTIFIER'.
The following errors were found:
[Microsoft][ODBC SQL Server Driver][SQL Server]DBCC failed becau
se the
following SET options have incorrect settings: 'QUOTED_IDENTIFIER'.
I tried setting different options, but nothing appears to solve the problem.
Any suggestions/ideas?
TIA,
DeeJay PuarLook here, your problem is described there:
http://support.microsoft.com/kb/q301292/
HTH, Jens Smeyer.
http://www.sqlserver2005.de
--
"DeeJay Puar" <DeeJayPuar@.discussions.microsoft.com> schrieb im Newsbeitrag
news:197CD201-850D-447C-A461-C01EBD987657@.microsoft.com...
> Hi,
> Psoted this is in Reporting Services, but no response:
> I have the AdventureWorks2000 database (part of reporting services)
> installed on a couple of servers. I have created a maintenance plan to run
> the integrity check on all user servers. The job ran fine until the
> AdventureWorks2000 db was installed. The jobs fails only on this db and
> works
> just fine on other db's . Here is the
> output from the maintenance plan:
> Starting maintenance plan 'Master Server - All DB Integrity Check Job' on
> 4/10/2005 9:30:01 PM
> [1] Database AdventureWorks2000: Check Data and Index Linkage...
> [Microsoft SQL-DMO (ODBC SQLState: 42000)] Error 1934: [Microsoft]
[ODBC
> SQL
> Server Driver][SQL Server]DBCC failed because the following SET option
s
> have
> incorrect settings: 'QUOTED_IDENTIFIER'.
> The following errors were found:
> [Microsoft][ODBC SQL Server Driver][SQL Server]DBCC failed bec
ause the
> following SET options have incorrect settings: 'QUOTED_IDENTIFIER'.
> I tried setting different options, but nothing appears to solve the
> problem.
> Any suggestions/ideas?
> TIA,
> DeeJay Puar
>|||Hit the Nail on the Head...Thanks Jen.
I was only looking the Reporting Services Documentation.
DeeJay Puar
"Jens Sü?meyer" wrote:
> Look here, your problem is described there:
> http://support.microsoft.com/kb/q301292/
> HTH, Jens Sü?meyer.
> --
> http://www.sqlserver2005.de
> --
> "DeeJay Puar" <DeeJayPuar@.discussions.microsoft.com> schrieb im Newsbeitra
g
> news:197CD201-850D-447C-A461-C01EBD987657@.microsoft.com...
>
>
Integrity Check Job Failure
Psoted this is in Reporting Services, but no response:
I have the AdventureWorks2000 database (part of reporting services)
installed on a couple of servers. I have created a maintenance plan to run
the integrity check on all user servers. The job ran fine until the
AdventureWorks2000 db was installed. The jobs fails only on this db and works
just fine on other db's . Here is the
output from the maintenance plan:
Starting maintenance plan 'Master Server - All DB Integrity Check Job' on
4/10/2005 9:30:01 PM
[1] Database AdventureWorks2000: Check Data and Index Linkage...
[Microsoft SQL-DMO (ODBC SQLState: 42000)] Error 1934: [Microsoft][ODBC SQL
Server Driver][SQL Server]DBCC failed because the following SET options have
incorrect settings: 'QUOTED_IDENTIFIER'.
The following errors were found:
[Microsoft][ODBC SQL Server Driver][SQL Server]DBCC failed because the
following SET options have incorrect settings: 'QUOTED_IDENTIFIER'.
I tried setting different options, but nothing appears to solve the problem.
Any suggestions/ideas?
TIA,
DeeJay Puar
Look here, your problem is described there:
http://support.microsoft.com/kb/q301292/
HTH, Jens Smeyer.
http://www.sqlserver2005.de
"DeeJay Puar" <DeeJayPuar@.discussions.microsoft.com> schrieb im Newsbeitrag
news:197CD201-850D-447C-A461-C01EBD987657@.microsoft.com...
> Hi,
> Psoted this is in Reporting Services, but no response:
> I have the AdventureWorks2000 database (part of reporting services)
> installed on a couple of servers. I have created a maintenance plan to run
> the integrity check on all user servers. The job ran fine until the
> AdventureWorks2000 db was installed. The jobs fails only on this db and
> works
> just fine on other db's . Here is the
> output from the maintenance plan:
> Starting maintenance plan 'Master Server - All DB Integrity Check Job' on
> 4/10/2005 9:30:01 PM
> [1] Database AdventureWorks2000: Check Data and Index Linkage...
> [Microsoft SQL-DMO (ODBC SQLState: 42000)] Error 1934: [Microsoft][ODBC
> SQL
> Server Driver][SQL Server]DBCC failed because the following SET options
> have
> incorrect settings: 'QUOTED_IDENTIFIER'.
> The following errors were found:
> [Microsoft][ODBC SQL Server Driver][SQL Server]DBCC failed because the
> following SET options have incorrect settings: 'QUOTED_IDENTIFIER'.
> I tried setting different options, but nothing appears to solve the
> problem.
> Any suggestions/ideas?
> TIA,
> DeeJay Puar
>
|||Hit the Nail on the Head...Thanks Jen.
I was only looking the Reporting Services Documentation.
DeeJay Puar
"Jens Sü?meyer" wrote:
> Look here, your problem is described there:
> http://support.microsoft.com/kb/q301292/
> HTH, Jens Sü?meyer.
> --
> http://www.sqlserver2005.de
> --
> "DeeJay Puar" <DeeJayPuar@.discussions.microsoft.com> schrieb im Newsbeitrag
> news:197CD201-850D-447C-A461-C01EBD987657@.microsoft.com...
>
>