Tuesday, March 20, 2012
Query execution failed for data set...
Query execution failed for data set<dataset name>
Does anyone know why this error could be coming up? If I log in as a member
of the Administrators group the report runs fine.If I run it as a user that
I have given every permission to (Browser, Content Manager, etc.) I get the
error.
TIA,
Jarryd.On Jul 20, 7:14 am, "Jarryd" <jar...@.community.nospam> wrote:
> Hi,
> Query execution failed for data set<dataset name>
> Does anyone know why this error could be coming up? If I log in as a member
> of the Administrators group the report runs fine.If I run it as a user that
> I have given every permission to (Browser, Content Manager, etc.) I get the
> error.
> TIA,
> Jarryd.
You will want to make sure that the default DB user account that the
report is running under has execute permissions on the stored
procedure in the dataset, if you're using one. If you're not using
one, make sure that the default DB user account has select permissions
on any tables used in the query. Note that DB user account/permissions
are not the same as Report Manager/Windows user account/permissions.
Hope this helps.
Regards,
Enrique Martinez
Sr. Software Consultant|||You nailed it dude. Thanks for that.
Jarryd
"EMartinez" <emartinez.pr1@.gmail.com> wrote in message
news:1184936231.667037.306150@.22g2000hsm.googlegroups.com...
> On Jul 20, 7:14 am, "Jarryd" <jar...@.community.nospam> wrote:
>> Hi,
>> Query execution failed for data set<dataset name>
>> Does anyone know why this error could be coming up? If I log in as a
>> member
>> of the Administrators group the report runs fine.If I run it as a user
>> that
>> I have given every permission to (Browser, Content Manager, etc.) I get
>> the
>> error.
>> TIA,
>> Jarryd.
>
> You will want to make sure that the default DB user account that the
> report is running under has execute permissions on the stored
> procedure in the dataset, if you're using one. If you're not using
> one, make sure that the default DB user account has select permissions
> on any tables used in the query. Note that DB user account/permissions
> are not the same as Report Manager/Windows user account/permissions.
> Hope this helps.
> Regards,
> Enrique Martinez
> Sr. Software Consultant
>
Friday, March 9, 2012
Query Date Stored as Text
I am using Windows "Performance Logs and Alerts" to log performance statistics to a SQL database. In this case I am using a Counter Log, which creates the necessary tables upon startup of the log. I can see my data pouring into the database and now I am writing some T-SQL statements to query the data and display it on an aspx page. I have one particular problem that is presenting me with a bit of a challenge. I want to be able to query my captured performance counters based on date ranges entered on the aspx page. Unfortunately I am having trouble doing that because the "CounterDateTime" field where the date for each counter sample is stored is a char(24) data type instead of a datetime data type. I'm not sure why MS chose to store dates in a char field but I am not sure how to query that field for date ranges. So my question is, how would one query for a date range when the dates that I'm querying are in char format? Thanks in advance.
Could you post some sample of how the format of the datetime value looks like in the table? If it is some format that retain order in character format for datetime values then you can simply use string comparisons. Best is to convert the column to datetime and then do your manipulations. Of course, performance will suffer if your primary search condition is the datetime column only. For the conversion part, I think you may have to strip some time part. If I remember correctly the value stored by perfmon are higher resolution than what SQL Server currently supports. This is probably one reason why they can't store it in datetime column for example.|||Here is an example of what the data looks like in the datetime field: 2006-08-15 11:37:17.121
Unfortunately, I doubt that changing the datatype in the table is an option since the table and datatypes are created automatically by the SysMon counter log. My guess is that if I change the structure of the field, the counter log will error out when it tries to log data since the format in the table will not jive with the type of data that the counter log is trying to insert. I don't know if there is a good solution to this problem. Is the CounterDateTime field basically just useless data that one can't query? On my ASP.Net web page, I allow the user to select a start date and an end date. Therefore, in my SQL query I want to select everything that falls in between the two dates. Since the date fields are text, perhaps that is not going to be possible.
Thanks.
|||
It is the ODBC canonical format so you can just use it directly without converting the datetime. This format will preserve order of the values. See examples below:
select * from Northwind.dbo.Orders
where convert(varchar, OrderDate, 121) >= '1996-07-10 00:00:00.000' and
convert(varchar, OrderDate, 121) < '1996-08-01 06:40:00.000'
select * from Northwind.dbo.Orders
where OrderDate >= '1996-07-10 00:00:00.000' and
OrderDate < '1996-08-01 06:40:00.000'
I didn't imply that you should convert the column in the table. Instead you can do a convert at run-time in your query. In any case, it is not really required. You can do your query like:
select *
from perfmon_table
where CounterDateTime >= convert(varchar, @.datetime_start, 121)
and CounterDateTime < convert(varchar, @.datetime_end, 121)
-- or if there is no index on the CounterDateTime column then just do:
select *
from perfmon_table
where cast(CounterDateTime as datetime) >= @.datetime_start
and cast(CounterDateTime as datetime) < @.datetime_end
|||Thanks for your help! That works like a champ!