Showing posts with label users. Show all posts
Showing posts with label users. Show all posts

Tuesday, March 27, 2012

Books, Courses and Training about Reporting Service for dummies

Hi,

We have currently done one data ware house project with MS SQL server, reporting server, analysis server and integration server and the users are very happy with it (especially the speed).

The reports have been developed by a developer. I have years of experience in Visual studio, SQL, reports so I could do it very quickly. The users want to make their own reports so they need training. If I look at the requirements for most books and courses they are pretty hard. You must have some experience in SQL server. Or books are focussed on RS2000. Or the books could elapse the whole spectrum of SQL, ETL, cubes and reports or they go in to securing reports.

I think that is not the information that the users want to know. It should start with what is a cube, what are dimensions and what are facts. Then explain something in how do I get the information in excel. And then make reports in the visual studio environment (not the builder on the report server, but the report designer that comes with the client tools in visual studio). Keep in mind that they are not developers nor database administrators.

Any suggestions,

Constantijn Enders

Can u help to to solve my problem . Please excuse me for asking my doubt to u against ur queries. Becuase many time this question arised in the forum no one answer to me to find out the solution for my problem. So please help

I am using report builder thru LocalHost\Report . I want a drill through report by using Report Builder and cube . I created the report but unfortunatly I cannot create a drill through report using parameters .How can I pass parameter in report1 to jump into report2 .

When I running the report after giving drill through properties in report the following error will occure.

'The 'DrillthroughSourceQuery' parameter is missing a value

How can I create a report using parameter for drill down in report builder

I am expecting one answer from u expertise

Sunday, March 11, 2012

Blocking ms-access

Hi,
There is a way to block all request that come from a ms-
access ?
I am working for a company where users always connects to a SQL database to get information they need (because applications don't provide them).
The problem is when the users run queries, they lock almost all database preventing others users to work.
I can't remove SQL permissions because the application depends on it to run and i can't uninstall ms-access from the users because they need the information to do their job.
I am configuring a log shipping environment with "read-
only" permission and trying to identify users running ms-
access querying sysprocesses (to change the odbc to another server) but not everyone that uses ms-access are logged in sysprocesses as "Microsoft=AE Access", sometimes the application in sysprocesses is empty and i can't identify what user is running.
Any suggetion ?
Thanks,
Julio CarvalhoYours is probably the best solution. If another SQL Server isn't an
option due to cost or whatever, the data could always be pushed out to
an Access mdb and users could run reports by linking to it instead of
the server.
-- Mary
Microsoft Access Developer's Guide to SQL Server
http://www.amazon.com/exec/obidos/ASIN/0672319446
On Tue, 22 Jul 2003 15:26:18 -0400, "Stefan" <st@.email.net> wrote:
>Julio,
>I have exactly the same environment here. We had to set up another server
>and use transactional replication to push data. Then all Access clients were
>pointed to this new box where they could run their reports without
>disturbing any other production application.
>"Julio Carvalho" <jc.carvalho@.terra.com.br> wrote in message
>news:01ec01c3507c$b7fbb8c0$a401280a@.phx.gbl...
>Hi,
>There is a way to block all request that come from a ms-
>access ?
>I am working for a company where users always connects to
>a SQL database to get information they need (because
>applications don't provide them).
>The problem is when the users run queries, they lock
>almost all database preventing others users to work.
>I can't remove SQL permissions because the application
>depends on it to run and i can't uninstall ms-access from
>the users because they need the information to do their
>job.
>I am configuring a log shipping environment with "read-
>only" permission and trying to identify users running ms-
>access querying sysprocesses (to change the odbc to
>another server) but not everyone that uses ms-access are
>logged in sysprocesses as "Microsoft® Access", sometimes
>the application in sysprocesses is empty and i can't
>identify what user is running.
>Any suggetion ?
>Thanks,
>Julio Carvalho
>

Wednesday, March 7, 2012

Block row from been updated

I need to block some rows from being updated using mssql 2000.
this is because some users are changing data after the product has been
factured.
The VB program does not let any body to change the data but some advanced
users have done it directly to the database.
If some one can help me I will be very thankful
Regards, LinaWhy do those "advanced users" even have access to the database?
They should not.|||Given that you need to solve the problem as it exists, the simplest approach
would be to put a trigger on the table that checks to see if one of the
"non-alterable" records is being updated and roll back the transaction. You
might also want to log who is updating the row for future personnel related
actions.
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
<Octavius@.gmail.com> wrote in message
news:1135822838.009333.252160@.g14g2000cwa.googlegroups.com...
> Why do those "advanced users" even have access to the database?
> They should not.
>|||Thanks a lot, Lina
"Roger Wolter[MSFT]" wrote:

> Given that you need to solve the problem as it exists, the simplest approa
ch
> would be to put a trigger on the table that checks to see if one of the
> "non-alterable" records is being updated and roll back the transaction. Y
ou
> might also want to log who is updating the row for future personnel relate
d
> actions.
> --
> This posting is provided "AS IS" with no warranties, and confers no rights
.
> Use of included script samples are subject to the terms specified at
> http://www.microsoft.com/info/cpyright.htm
> <Octavius@.gmail.com> wrote in message
> news:1135822838.009333.252160@.g14g2000cwa.googlegroups.com...
>
>|||You could try using the APP_NAME function. Run SQL Query Analyzer, and
execute sp_who2 while some users are connected. Look under the ProgramName
column to see what the name of your application is as it appears to the
server.
Then put some logic into your stored procedures, or into an INSTEAD OF
trigger on your table(s)
IF APP_NAME() <> 'YourApp'
--Sorry Charlie!
If your application doesn't report a ProgramName, but the "advanced users"
are using something like Access or a command line tool that does report a
ProgramName, you could block it with something like
IF APP_NAME() IN ('Microsoft Access', 'osql')
"Lina Manjarres" wrote:

> I need to block some rows from being updated using mssql 2000.
> this is because some users are changing data after the product has been
> factured.
> The VB program does not let any body to change the data but some advanced
> users have done it directly to the database.
> If some one can help me I will be very thankful
> Regards, Lina|||Thanks a lot Mark
I used this:
IF EXISTS(SELECT * FROM inserted WHERE facturado_Cliente = 1)
Begin
ROLLBACK TRAN
End
and i had a problem wit it. After the facturado_Cliente where changed to 0
again, it did not let me change the row any more. I mean, I couldn't make it
1 again, it allways rolled back.
So I will try what you suggest me, because it sound perfect. Is it posible
to do so, but with the HostName?
Thanks a lot, Lina
"Mark Williams" wrote:
> You could try using the APP_NAME function. Run SQL Query Analyzer, and
> execute sp_who2 while some users are connected. Look under the ProgramName
> column to see what the name of your application is as it appears to the
> server.
> Then put some logic into your stored procedures, or into an INSTEAD OF
> trigger on your table(s)
> IF APP_NAME() <> 'YourApp'
> --Sorry Charlie!
> If your application doesn't report a ProgramName, but the "advanced users"
> are using something like Access or a command line tool that does report a
> ProgramName, you could block it with something like
> IF APP_NAME() IN ('Microsoft Access', 'osql')
> "Lina Manjarres" wrote:
>|||The HOST_NAME() function will return the hostname of the system associated
with the connection, which you could use in a WHERE clause, but it is
probably not a good idea. You would have to block individual machine names,
and all someone would have to do in order to defeat your filter is
move to another machine , or
change their machine name
It would probably work out better to put in a filter condition based on
APP_NAME() . Does your application show a ProgramName value when you run
sp_who2 ? If it does, filter the updates based on the ProgramName.
"Lina Manjarres" wrote:
> Thanks a lot Mark
> I used this:
> IF EXISTS(SELECT * FROM inserted WHERE facturado_Cliente = 1)
> Begin
> ROLLBACK TRAN
> End
> and i had a problem wit it. After the facturado_Cliente where changed to 0
> again, it did not let me change the row any more. I mean, I couldn't make
it
> 1 again, it allways rolled back.
> So I will try what you suggest me, because it sound perfect. Is it posible
> to do so, but with the HostName?
> Thanks a lot, Lina
> "Mark Williams" wrote:
>|||Thanks a lot Mark.
One more question.
What happend when I have several SQL replicating. Is there any problem wit i
t?
"Mark Williams" wrote:
> The HOST_NAME() function will return the hostname of the system associated
> with the connection, which you could use in a WHERE clause, but it is
> probably not a good idea. You would have to block individual machine names
,
> and all someone would have to do in order to defeat your filter is
> move to another machine , or
> change their machine name
> It would probably work out better to put in a filter condition based on
> APP_NAME() . Does your application show a ProgramName value when you run
> sp_who2 ? If it does, filter the updates based on the ProgramName.
> "Lina Manjarres" wrote:
>|||If the table is involved in replication, you can place the application
checking logic into an INSTEAD OF trigger, and create the trigger with the
NOT FOR REPLICATION option. This will prevent the trigger from firing when a
replication operation modifies the table. See books online for more details.
If you posted to this forum through TechNet, and you found my answers
helpful, please mark them as answers. Thanks!
"Lina Manjarres" wrote:
> Thanks a lot Mark.
> One more question.
> What happend when I have several SQL replicating. Is there any problem wit
it?
> "Mark Williams" wrote:
>|||Dear Mark
I am using this:
AFTER UPDATE NOT FOR REPLICATION
Is it ok or do I have to use Instead of?
Thanks a lot, Lina
"Mark Williams" wrote:
> If the table is involved in replication, you can place the application
> checking logic into an INSTEAD OF trigger, and create the trigger with the
> NOT FOR REPLICATION option. This will prevent the trigger from firing when
a
> replication operation modifies the table. See books online for more detail
s.
> --
> If you posted to this forum through TechNet, and you found my answers
> helpful, please mark them as answers. Thanks!
>
> "Lina Manjarres" wrote:
>

Block remote login

How can I block users from using their SQL accounts to access SQL 2000 server
remotely thru enterprise manager or sql query analyzer? Appreciate any help.
Thanks.
Hi,
There is no methodology in SQL Server 2000 to restrict the remote access; if
the users have access to network. The only way to restrict
is by setting complex password to the SQL Account.
Thanks
Hari
SQL Server Mvp
"Benny" <Benny@.discussions.microsoft.com> wrote in message
news:0EE6279A-1977-4B3E-A4AB-EC1719C2B447@.microsoft.com...
> How can I block users from using their SQL accounts to access SQL 2000
> server
> remotely thru enterprise manager or sql query analyzer? Appreciate any
> help.
> Thanks.

Block remote login

How can I block users from using their SQL accounts to access SQL 2000 server
remotely thru enterprise manager or sql query analyzer? Appreciate any help.
Thanks.Hi,
There is no methodology in SQL Server 2000 to restrict the remote access; if
the users have access to network. The only way to restrict
is by setting complex password to the SQL Account.
Thanks
Hari
SQL Server Mvp
"Benny" <Benny@.discussions.microsoft.com> wrote in message
news:0EE6279A-1977-4B3E-A4AB-EC1719C2B447@.microsoft.com...
> How can I block users from using their SQL accounts to access SQL 2000
> server
> remotely thru enterprise manager or sql query analyzer? Appreciate any
> help.
> Thanks.

Block remote login

How can I block users from using their SQL accounts to access SQL 2000 serve
r
remotely thru enterprise manager or sql query analyzer? Appreciate any help.
Thanks.Hi,
There is no methodology in SQL Server 2000 to restrict the remote access; if
the users have access to network. The only way to restrict
is by setting complex password to the SQL Account.
Thanks
Hari
SQL Server Mvp
"Benny" <Benny@.discussions.microsoft.com> wrote in message
news:0EE6279A-1977-4B3E-A4AB-EC1719C2B447@.microsoft.com...
> How can I block users from using their SQL accounts to access SQL 2000
> server
> remotely thru enterprise manager or sql query analyzer? Appreciate any
> help.
> Thanks.

Friday, February 24, 2012

Blank sub report:

Hi, I have a report which has a subtotal and users can click on the
subtotal and go to a sub report.
However, when people click on the subtotal they are shown a blank
screen (Apart from the standard reporting services header). When I
right-click on the blank screen and view the properties of the report
I get the following
http://webserver/ReportServer?rs:Command=Blank
I have triple checked all the stored procedures, parameters etc. The
*exact* same code runs fine on our development server and I can view
the report via the Visual Studio 2003 IDE no problems at all.
Any ideas welcomed!
Thanks
MarkusOn Apr 26, 5:46 pm, Markus...@.gmail.com wrote:
> Hi, I have a report which has a subtotal and users can click on the
> subtotal and go to a sub report.
> However, when people click on the subtotal they are shown a blank
> screen (Apart from the standard reporting services header). When I
> right-click on the blank screen and view the properties of the report
> I get the following
> http://webserver/ReportServer?rs:Command=Blank
> I have triple checked all the stored procedures, parameters etc. The
> *exact* same code runs fine on our development server and I can view
> the report via the Visual Studio 2003 IDE no problems at all.
> Any ideas welcomed!
> Thanks
> Markus
This might sound trivial, but are both the report and the subreport
physically located in the same directory on the Report Server? Also,
is the subreport's datasource set correctly on the Report Server?
Regards,
Enrique Martinez
Sr. Software Consultant|||On Apr 27, 12:52 pm, EMartinez <emartinez...@.gmail.com> wrote:
> On Apr 26, 5:46 pm, Markus...@.gmail.com wrote:
>
>
> > Hi, I have a report which has a subtotal and users can click on the
> > subtotal and go to a sub report.
> > However, when people click on the subtotal they are shown a blank
> > screen (Apart from the standard reporting services header). When I
> > right-click on the blank screen and view the properties of the report
> > I get the following
> >http://webserver/ReportServer?rs:Command=Blank
> > I have triple checked all the stored procedures, parameters etc. The
> > *exact* same code runs fine on our development server and I can view
> > the report via the Visual Studio 2003 IDE no problems at all.
> > Any ideas welcomed!
> > Thanks
> > Markus
> This might sound trivial, but are both the report and the subreport
> physically located in the same directory on the Report Server? Also,
> is the subreport's datasource set correctly on the Report Server?
> Regards,
> Enrique Martinez
> Sr. Software Consultant- Hide quoted text -
> - Show quoted text -
Hi, yes, both the reports are in the same directory and they are both
using the same datasource.
The parent report is called rptShowAllIncome and the associated child
report is called rptShowIncomeDaily (In case there is some problem
with naming conventions or something else I should know about).
In the parent rerport I am grouping by business and I have created a
link through to the child report on the following field
=Sum(Fields!TotalEarnedMonth.Value)
and I am passing through two parameters to the child report (The child
report is populated by a stored procedure which takes three parameters
but the third one is nullable so I am not specifying anything for this
paramater). I have tried specifying a value for the nullable parameter
but it still did not work.
Again, like I said I get no errors just a blank screen with
http://webserver/ReportServer?rs:Command=Blank
Thanks for any/ all help
Cheers
Markus

Thursday, February 16, 2012

Blank Listbox output from SPROC

I have setup an Access Project using SQL Server. Our Tech rep Restored my Backup copy to a server and gave some of the users dbo permissions. When they Open a certain form with a listbox that has as the Rowsource a SPROC, no data is returned (other Forms with listboxes do work). When our Tech rep opens the same form, the listbox appears with the correct data. He thinks it's my Access project that is the problem and I on the other hand think it has something to do with the SQL Server setup side of things. Help would be appreciated.you said "my backup to a server'. Does this mean that the database was residing on another server? If that's the case, - it's a permissions issue.|||I created a backup version of my database and he restored it to his server and setup the necessary permissions. I'm sure permissions is the issue, he says it's setup correctly. I'm not sure where to look at this point as I don't know enough about the security side of things.|||on his server change to the databaase in question and type:

exec sp_change_users_login 'report'

if the output returns anything, check what user ids became orphan. You may find users that have empty listbox there.|||We tried that and the report was empty. Any idea what I should try next? Thanks

Friday, February 10, 2012

Birthday Query

Hi, i have a table users which contains a birthday field, i would like to have a query that displays the users birthdays for the coming 7 days. Can someone help me with this.
Thanx allot.
Wimmoselect birthday,username from table where convert(datetime,convert(varchar(10),birthday,101) ,101) between convert(datetime,convert(varchar(10),getdate(),101 ),101) and convert(datetime,convert(varchar(10),dateadd(dd,7, getdate()),101),101)

A very rough cut .. but i think it will work|||if this column is datetime, then you can use difference of getdate and datediff function for wanted result.|||Hi Enigma thanx for your reply, your query works but only when the year of birth is the current year|||My Bad ...|||http://www.dbforums.com/showthread.php?threadid=985381 for a similar thread and reference.

HTH|||http://www.dbforums.com/showthread.php?threadid=985381 for a similar thread and reference.

HTH
I tried that solution but it didn't work for me|||How can i change your query so that it dont look @. the year but only to the day & month|||WHERE DATEDIFF(dd,GetDate(),Birthdate) <= 7?|||Ooopps...

DECLARE @.x datetime, @.y datetime
SELECT @.x = GetDate(), @.y = '05/6/2004'
SET @.x = '1900/'+CONVERT(varchar(2),DATEPART(mm,@.x))+'/'+CONVERT(varchar(2),DATEPART(dd,@.x))
SET @.y = '1900/'+CONVERT(varchar(2),DATEPART(mm,@.y))+'/'+CONVERT(varchar(2),DATEPART(dd,@.y))

SELECT DATEDIFF(dd,@.x,@.y)

Did you look at the function?

That should definetly work for you...|||Thanx for your response but i do not completely understand what you are saying here|||I am trying to get the function work but i do not know what i am doing wrong|||Try using:-- ptp 20040427 Compute days to next anniversary

CREATE FUNCTION dbo.fDaysToAnniversary(
@.pdAnn DATETIME -- Base Date
, @.pdNow DATETIME -- Target date, usually today
) RETURNS SMALLINT AS BEGIN

DECLARE @.dNext DATETIME -- Next anniversary

SET @.dNext = DateAdd(year, DateDiff(year, @.pdAnn, @.pdNow), @.pdAnn) -- First guess
IF @.dNext < @.pdNow SET @.dNext = DateAdd(year, 1, @.dNext) -- Bump if already past

RETURN DateDiff(day, @.pdNow, @.dNext)
END
GOThis function takes two arguments, one is a date you wish to project an anniversary for, and the other is the date you want to figure the days from. You'd typically use it something like:SELECT dbo.fDaysToAnniversary('2001-09-11', GetDate())-PatP|||http://r937.com/sql.cfm|||Cut and paste this...I think there was a type-o in the original code...should execute no proble in QA

USE Northwind
GO

CREATE FUNCTION udf_DaysToBDay(@.Bday datetime, @.Dateuntil datetime)
RETURNS int
AS
BEGIN
DECLARE @.x int, @.ModifyBDay datetime

SET @.ModifyBDay = CONVERT(datetime,
CONVERT(char(4),year(@.Dateuntil))
+ '/'
+ CONVERT(char(5),@.Bday,101)
)

SET @.x = datediff(dd, @.Dateuntil, @.ModifyBDay)

RETURN @.x
END

GO

SELECT dbo.udf_DaysToBDay('10/24/1960',GetDate())

SELECT dbo.udf_DaysToBDay(BirthDate,GetDate()) FROM Employees
GO

DROP FUNCTION udf_DaysToBDay
GO|||Just an observation, but my function looks at the problem differently than Brett's does. My function returns the number of days (0-366) until the next anniversary of a given date. Brett's function returns the number of days (-365 to 365) to/from the anniversary of that data this year.

You'll need to decide which works better for you. If you need to be able to work across year boundaries to find upcoming birthdays, I think you'll be better off using mine.

-PatP|||Thanx Guys to all of you, i tried the things that you guys proposed, the thing that workes for me is the 1 from Blindman, I really appreciate the time that all of you spend on my problems.

Thanx Wimmo|||Good point...

They year however is based on whatever the date supplied is...just did that because getdate() is non determenistic...

And yes, I would assume (based on the fact they wanted 7 days) that for Christmas day and forward, mine would be incorrect... :eek: