We have several large reports that access tables with millions of records. In
such cases we expect that blocking may occur; however, the report server will
perform specific commands that lock the database as well. These commands
include UPDATE,DELETE,AWAITING COMMAND. We have a program running to monitor
blocking on our databases so we are able to see when the blocking occurs but
we are unable to find the cause of this problem. The program allows us to see
when a user is causing blocking by running a large report or performing some
other action. The blocking that concerns us is not generated by a user but by
the Report Server itself. It appears that the Report Server performs these
actions after a large report is run or after a report is deployed to the
server.I forgot to ask our question. Does anyone know what process is causing the
blocking and what can we do about it?|||Are you sure this activity you are seeing isn't against its own database.
Report server uses its own database extensively but that should not affect
the database you are reporting against. I go against 1-10 million row tables
all the time, I have an 80 million row table as well. Report server has
never caused a problem with any other application going against the
database. There is no way that Report server is doing an update or delete
against your database. The reports run under the credentials you apply them.
The credentials I use is a readonly account on SQL Server (and Sybase, I
report against both).
Bruce Loehle-Conger
MVP SQL Server Reporting Services
"Clark Kent" <ClarkKent@.discussions.microsoft.com> wrote in message
news:F583BA12-3E2C-4C65-A9B5-291FDCEAB3DD@.microsoft.com...
> We have several large reports that access tables with millions of records.
> In
> such cases we expect that blocking may occur; however, the report server
> will
> perform specific commands that lock the database as well. These commands
> include UPDATE,DELETE,AWAITING COMMAND. We have a program running to
> monitor
> blocking on our databases so we are able to see when the blocking occurs
> but
> we are unable to find the cause of this problem. The program allows us to
> see
> when a user is causing blocking by running a large report or performing
> some
> other action. The blocking that concerns us is not generated by a user but
> by
> the Report Server itself. It appears that the Report Server performs these
> actions after a large report is run or after a report is deployed to the
> server.|||Our production databases are on the same server as the report server so when
the report server causes blocking in the master database we are getting
blocking issues server-wide. Is there a way to fine tune the processes that
are blocking or schedule them to run during down times?
"Bruce L-C [MVP]" wrote:
> Are you sure this activity you are seeing isn't against its own database.
> Report server uses its own database extensively but that should not affect
> the database you are reporting against. I go against 1-10 million row tables
> all the time, I have an 80 million row table as well. Report server has
> never caused a problem with any other application going against the
> database. There is no way that Report server is doing an update or delete
> against your database. The reports run under the credentials you apply them.
> The credentials I use is a readonly account on SQL Server (and Sybase, I
> report against both).
>
> --
> Bruce Loehle-Conger
> MVP SQL Server Reporting Services
> "Clark Kent" <ClarkKent@.discussions.microsoft.com> wrote in message
> news:F583BA12-3E2C-4C65-A9B5-291FDCEAB3DD@.microsoft.com...
> > We have several large reports that access tables with millions of records.
> > In
> > such cases we expect that blocking may occur; however, the report server
> > will
> > perform specific commands that lock the database as well. These commands
> > include UPDATE,DELETE,AWAITING COMMAND. We have a program running to
> > monitor
> > blocking on our databases so we are able to see when the blocking occurs
> > but
> > we are unable to find the cause of this problem. The program allows us to
> > see
> > when a user is causing blocking by running a large report or performing
> > some
> > other action. The blocking that concerns us is not generated by a user but
> > by
> > the Report Server itself. It appears that the Report Server performs these
> > actions after a large report is run or after a report is deployed to the
> > server.
>
>|||"Bruce L-C [MVP]" wrote:
> Are you sure this activity you are seeing isn't against its own database.
> Report server uses its own database extensively but that should not affect
> the database you are reporting against. I go against 1-10 million row tables
> all the time, I have an 80 million row table as well. Report server has
> never caused a problem with any other application going against the
> database. There is no way that Report server is doing an update or delete
> against your database. The reports run under the credentials you apply them.
> The credentials I use is a readonly account on SQL Server (and Sybase, I
> report against both).
>
> --
> Bruce Loehle-Conger
> MVP SQL Server Reporting Services
> "Clark Kent" <ClarkKent@.discussions.microsoft.com> wrote in message
> news:F583BA12-3E2C-4C65-A9B5-291FDCEAB3DD@.microsoft.com...
> > We have several large reports that access tables with millions of records.
> > In
> > such cases we expect that blocking may occur; however, the report server
> > will
> > perform specific commands that lock the database as well. These commands
> > include UPDATE,DELETE,AWAITING COMMAND. We have a program running to
> > monitor
> > blocking on our databases so we are able to see when the blocking occurs
> > but
> > we are unable to find the cause of this problem. The program allows us to
> > see
> > when a user is causing blocking by running a large report or performing
> > some
> > other action. The blocking that concerns us is not generated by a user but
> > by
> > the Report Server itself. It appears that the Report Server performs these
> > actions after a large report is run or after a report is deployed to the
> > server.
>
>|||Let me rephrase the whole scenario.
All of our production databases are on the same server as our Reporting
Services database. The reporting services database is causing blocking that
we monitor via our app. Blocking occurs at random times during the day that
do not directly corresponding to pulling a report. For example, if I deploy a
new report to the server, I may get a blocking indicator that the reporting
server is AWAITING COMMAND, or UPDATE. I have had blocking issues when
clicking the Print Preview button as well. It is not necessarily the report
data that is causing the blocking as I mentioned earlier, but it is some
process that the Reporting Services database is performing.
Without getting to far into the Reporting Services database structure, can
anyone tell me what processes are being performed by Reporting Services that
could cause this blocking? Does the database create a cache when you deploy a
new report or print preview a report?
Anyone? Anyone? Beuhler?
If no one knows, then we can live with it; however, it would be nice to
eliminate the blocking altogether.
"BootieNH" wrote:
>
> "Bruce L-C [MVP]" wrote:
> > Are you sure this activity you are seeing isn't against its own database.
> > Report server uses its own database extensively but that should not affect
> > the database you are reporting against. I go against 1-10 million row tables
> > all the time, I have an 80 million row table as well. Report server has
> > never caused a problem with any other application going against the
> > database. There is no way that Report server is doing an update or delete
> > against your database. The reports run under the credentials you apply them.
> > The credentials I use is a readonly account on SQL Server (and Sybase, I
> > report against both).
> >
> >
> > --
> > Bruce Loehle-Conger
> > MVP SQL Server Reporting Services
> >
> > "Clark Kent" <ClarkKent@.discussions.microsoft.com> wrote in message
> > news:F583BA12-3E2C-4C65-A9B5-291FDCEAB3DD@.microsoft.com...
> > > We have several large reports that access tables with millions of records.
> > > In
> > > such cases we expect that blocking may occur; however, the report server
> > > will
> > > perform specific commands that lock the database as well. These commands
> > > include UPDATE,DELETE,AWAITING COMMAND. We have a program running to
> > > monitor
> > > blocking on our databases so we are able to see when the blocking occurs
> > > but
> > > we are unable to find the cause of this problem. The program allows us to
> > > see
> > > when a user is causing blocking by running a large report or performing
> > > some
> > > other action. The blocking that concerns us is not generated by a user but
> > > by
> > > the Report Server itself. It appears that the Report Server performs these
> > > actions after a large report is run or after a report is deployed to the
> > > server.
> >
> >
> >|||Bruce, excuse me for hijacking this thread, but I am currently
troubleshooting a deadlock problem occurring between our application and
ReportServer. I've isolated that our application process, which is invoking
a stored procedure and passing XML to perform either an INSERT or UPDATE, is
deadlocking with a report SELECT query against a view of that database.
Examining the locking detail shows that our UPDATE query is holding an
exclusive intent lock (LCK_M_IX) on the table [inside a transaction] in order
to perform the update, while Report Services is holding a shared lock
(LCK_M_S) on a SELECT of a view. These locks are incompatible, so a deadlock
occurs, and the lower priority transaction is terminated. At least that's my
understanding. I'm wondering how I need to avoid this problem. I'm
surprised I'm not seeing more threads on this topic, I would have expected
more people to be experiencing this. Is it necessary to configure a lock
timeout for SQL Server to avoid this issue? Thanks!
"Bruce L-C [MVP]" wrote:
> Are you sure this activity you are seeing isn't against its own database.
> Report server uses its own database extensively but that should not affect
> the database you are reporting against. I go against 1-10 million row tables
> all the time, I have an 80 million row table as well. Report server has
> never caused a problem with any other application going against the
> database. There is no way that Report server is doing an update or delete
> against your database. The reports run under the credentials you apply them.
> The credentials I use is a readonly account on SQL Server (and Sybase, I
> report against both).
>
> --
> Bruce Loehle-Conger
> MVP SQL Server Reporting Services
> "Clark Kent" <ClarkKent@.discussions.microsoft.com> wrote in message
> news:F583BA12-3E2C-4C65-A9B5-291FDCEAB3DD@.microsoft.com...
> > We have several large reports that access tables with millions of records.
> > In
> > such cases we expect that blocking may occur; however, the report server
> > will
> > perform specific commands that lock the database as well. These commands
> > include UPDATE,DELETE,AWAITING COMMAND. We have a program running to
> > monitor
> > blocking on our databases so we are able to see when the blocking occurs
> > but
> > we are unable to find the cause of this problem. The program allows us to
> > see
> > when a user is causing blocking by running a large report or performing
> > some
> > other action. The blocking that concerns us is not generated by a user but
> > by
> > the Report Server itself. It appears that the Report Server performs these
> > actions after a large report is run or after a report is deployed to the
> > server.
>
>|||Clark, I've spent the last 3 days muddling through extensive locking detail
trying to debug my issue. I think Bruce was implying that Report Server is
doing tons of stuff in its own database, and that shouldn't conflict with
your database. And of course your reports would only be running SELECT
queries. But I'm currently debugging locking issues with exactly this
scenario. Have you looked in detail at the SPIDs of the blocking? Is it
causing behavior problems? I'm trying to figure this out too, and it's not
fun.
"Clark Kent" wrote:
> Let me rephrase the whole scenario.
> All of our production databases are on the same server as our Reporting
> Services database. The reporting services database is causing blocking that
> we monitor via our app. Blocking occurs at random times during the day that
> do not directly corresponding to pulling a report. For example, if I deploy a
> new report to the server, I may get a blocking indicator that the reporting
> server is AWAITING COMMAND, or UPDATE. I have had blocking issues when
> clicking the Print Preview button as well. It is not necessarily the report
> data that is causing the blocking as I mentioned earlier, but it is some
> process that the Reporting Services database is performing.
> Without getting to far into the Reporting Services database structure, can
> anyone tell me what processes are being performed by Reporting Services that
> could cause this blocking? Does the database create a cache when you deploy a
> new report or print preview a report?
> Anyone? Anyone? Beuhler?
> If no one knows, then we can live with it; however, it would be nice to
> eliminate the blocking altogether.
> "BootieNH" wrote:
> >
> >
> > "Bruce L-C [MVP]" wrote:
> >
> > > Are you sure this activity you are seeing isn't against its own database.
> > > Report server uses its own database extensively but that should not affect
> > > the database you are reporting against. I go against 1-10 million row tables
> > > all the time, I have an 80 million row table as well. Report server has
> > > never caused a problem with any other application going against the
> > > database. There is no way that Report server is doing an update or delete
> > > against your database. The reports run under the credentials you apply them.
> > > The credentials I use is a readonly account on SQL Server (and Sybase, I
> > > report against both).
> > >
> > >
> > > --
> > > Bruce Loehle-Conger
> > > MVP SQL Server Reporting Services
> > >
> > > "Clark Kent" <ClarkKent@.discussions.microsoft.com> wrote in message
> > > news:F583BA12-3E2C-4C65-A9B5-291FDCEAB3DD@.microsoft.com...
> > > > We have several large reports that access tables with millions of records.
> > > > In
> > > > such cases we expect that blocking may occur; however, the report server
> > > > will
> > > > perform specific commands that lock the database as well. These commands
> > > > include UPDATE,DELETE,AWAITING COMMAND. We have a program running to
> > > > monitor
> > > > blocking on our databases so we are able to see when the blocking occurs
> > > > but
> > > > we are unable to find the cause of this problem. The program allows us to
> > > > see
> > > > when a user is causing blocking by running a large report or performing
> > > > some
> > > > other action. The blocking that concerns us is not generated by a user but
> > > > by
> > > > the Report Server itself. It appears that the Report Server performs these
> > > > actions after a large report is run or after a report is deployed to the
> > > > server.
> > >
> > >
> > >|||I was hoping that I could avoid getting into the spid detail, but I will look
into it further. As for interference, I can't recall specific instances of
non-reporting service transactions being blocked, but I am pretty sure it has
happened. I will have to pay closer attention to it to make sure. I was
hoping to find a quick answer to all this, but it doesn't look like that will
happen soon. It appears that reporting services is blocking itself the
majority of the time. I will let you know if I find out anything useful.
"BootieNH" wrote:
> Clark, I've spent the last 3 days muddling through extensive locking detail
> trying to debug my issue. I think Bruce was implying that Report Server is
> doing tons of stuff in its own database, and that shouldn't conflict with
> your database. And of course your reports would only be running SELECT
> queries. But I'm currently debugging locking issues with exactly this
> scenario. Have you looked in detail at the SPIDs of the blocking? Is it
> causing behavior problems? I'm trying to figure this out too, and it's not
> fun.
> "Clark Kent" wrote:
> > Let me rephrase the whole scenario.
> >
> > All of our production databases are on the same server as our Reporting
> > Services database. The reporting services database is causing blocking that
> > we monitor via our app. Blocking occurs at random times during the day that
> > do not directly corresponding to pulling a report. For example, if I deploy a
> > new report to the server, I may get a blocking indicator that the reporting
> > server is AWAITING COMMAND, or UPDATE. I have had blocking issues when
> > clicking the Print Preview button as well. It is not necessarily the report
> > data that is causing the blocking as I mentioned earlier, but it is some
> > process that the Reporting Services database is performing.
> >
> > Without getting to far into the Reporting Services database structure, can
> > anyone tell me what processes are being performed by Reporting Services that
> > could cause this blocking? Does the database create a cache when you deploy a
> > new report or print preview a report?
> >
> > Anyone? Anyone? Beuhler?
> >
> > If no one knows, then we can live with it; however, it would be nice to
> > eliminate the blocking altogether.
> >
> > "BootieNH" wrote:
> >
> > >
> > >
> > > "Bruce L-C [MVP]" wrote:
> > >
> > > > Are you sure this activity you are seeing isn't against its own database.
> > > > Report server uses its own database extensively but that should not affect
> > > > the database you are reporting against. I go against 1-10 million row tables
> > > > all the time, I have an 80 million row table as well. Report server has
> > > > never caused a problem with any other application going against the
> > > > database. There is no way that Report server is doing an update or delete
> > > > against your database. The reports run under the credentials you apply them.
> > > > The credentials I use is a readonly account on SQL Server (and Sybase, I
> > > > report against both).
> > > >
> > > >
> > > > --
> > > > Bruce Loehle-Conger
> > > > MVP SQL Server Reporting Services
> > > >
> > > > "Clark Kent" <ClarkKent@.discussions.microsoft.com> wrote in message
> > > > news:F583BA12-3E2C-4C65-A9B5-291FDCEAB3DD@.microsoft.com...
> > > > > We have several large reports that access tables with millions of records.
> > > > > In
> > > > > such cases we expect that blocking may occur; however, the report server
> > > > > will
> > > > > perform specific commands that lock the database as well. These commands
> > > > > include UPDATE,DELETE,AWAITING COMMAND. We have a program running to
> > > > > monitor
> > > > > blocking on our databases so we are able to see when the blocking occurs
> > > > > but
> > > > > we are unable to find the cause of this problem. The program allows us to
> > > > > see
> > > > > when a user is causing blocking by running a large report or performing
> > > > > some
> > > > > other action. The blocking that concerns us is not generated by a user but
> > > > > by
> > > > > the Report Server itself. It appears that the Report Server performs these
> > > > > actions after a large report is run or after a report is deployed to the
> > > > > server.
> > > >
> > > >
> > > >|||This is really not a RS issue but a generic database question. So I posted
your question on the private SQL Server MVP newsgroup and got this answer
back for you:
>>>>>>>>>
Don't use lock timeouts or you will end up with broken transactions. I
suggest using the NOLOCK hint on the select query. You may end up with
imperfect data, but this may not be critical depending on your application
and report. For example, if a weekly call center activity report is off by
one or two calls, it really doesn't matter.
--
Geoff N. Hiten
Senior Database Administrator
Microsoft SQL Server MVP
>>>>>>>>>>
Bruce Loehle-Conger
MVP SQL Server Reporting Services
"BootieNH" <BootieNH@.discussions.microsoft.com> wrote in message
news:9B48D882-7479-4F90-BC8A-5D7308232496@.microsoft.com...
> Bruce, excuse me for hijacking this thread, but I am currently
> troubleshooting a deadlock problem occurring between our application and
> ReportServer. I've isolated that our application process, which is
> invoking
> a stored procedure and passing XML to perform either an INSERT or UPDATE,
> is
> deadlocking with a report SELECT query against a view of that database.
> Examining the locking detail shows that our UPDATE query is holding an
> exclusive intent lock (LCK_M_IX) on the table [inside a transaction] in
> order
> to perform the update, while Report Services is holding a shared lock
> (LCK_M_S) on a SELECT of a view. These locks are incompatible, so a
> deadlock
> occurs, and the lower priority transaction is terminated. At least that's
> my
> understanding. I'm wondering how I need to avoid this problem. I'm
> surprised I'm not seeing more threads on this topic, I would have expected
> more people to be experiencing this. Is it necessary to configure a lock
> timeout for SQL Server to avoid this issue? Thanks!
> "Bruce L-C [MVP]" wrote:
>> Are you sure this activity you are seeing isn't against its own database.
>> Report server uses its own database extensively but that should not
>> affect
>> the database you are reporting against. I go against 1-10 million row
>> tables
>> all the time, I have an 80 million row table as well. Report server has
>> never caused a problem with any other application going against the
>> database. There is no way that Report server is doing an update or delete
>> against your database. The reports run under the credentials you apply
>> them.
>> The credentials I use is a readonly account on SQL Server (and Sybase, I
>> report against both).
>>
>> --
>> Bruce Loehle-Conger
>> MVP SQL Server Reporting Services
>> "Clark Kent" <ClarkKent@.discussions.microsoft.com> wrote in message
>> news:F583BA12-3E2C-4C65-A9B5-291FDCEAB3DD@.microsoft.com...
>> > We have several large reports that access tables with millions of
>> > records.
>> > In
>> > such cases we expect that blocking may occur; however, the report
>> > server
>> > will
>> > perform specific commands that lock the database as well. These
>> > commands
>> > include UPDATE,DELETE,AWAITING COMMAND. We have a program running to
>> > monitor
>> > blocking on our databases so we are able to see when the blocking
>> > occurs
>> > but
>> > we are unable to find the cause of this problem. The program allows us
>> > to
>> > see
>> > when a user is causing blocking by running a large report or performing
>> > some
>> > other action. The blocking that concerns us is not generated by a user
>> > but
>> > by
>> > the Report Server itself. It appears that the Report Server performs
>> > these
>> > actions after a large report is run or after a report is deployed to
>> > the
>> > server.
>>sql
Showing posts with label reports. Show all posts
Showing posts with label reports. Show all posts
Tuesday, March 27, 2012
Thursday, March 8, 2012
Database access log
SQL 2K
We developed a VB.NET application (SQL 2k db) where users can log into the
system and extract reports. We are planning to create a report with user
list who accessed the application in last 30 days.
Can this be achieved by querying directly to the database '
Thanks
JohnHello John,
This will have to be done when your application authenticates. It will need
to create an audit of who logs in and when. This isn't a function of the
database but a function of the way your application is designed.
Aaron Weiker
http://aaronweiker.com/
> SQL 2K
> We developed a VB.NET application (SQL 2k db) where users can log into
> the system and extract reports. We are planning to create a report
> with user list who accessed the application in last 30 days.
> Can this be achieved by querying directly to the database '
> Thanks
> John|||Hi John,
You can get this information, if you would have done one of the following;
(a) Enabled logging in your VB app (the user and datetime)
(b) Logging in the database tables. Again this should have been done with
your application. (the user and datetime)
(c) Enabled Auditing in the database server.
Are you using one super user to connect to SQL Server for all the
application users or are you connecting to SQL Server for every user
accessing your VB application?
In the former case, you will always see one user at the database level.
Thanks
Yogish
We developed a VB.NET application (SQL 2k db) where users can log into the
system and extract reports. We are planning to create a report with user
list who accessed the application in last 30 days.
Can this be achieved by querying directly to the database '
Thanks
JohnHello John,
This will have to be done when your application authenticates. It will need
to create an audit of who logs in and when. This isn't a function of the
database but a function of the way your application is designed.
Aaron Weiker
http://aaronweiker.com/
> SQL 2K
> We developed a VB.NET application (SQL 2k db) where users can log into
> the system and extract reports. We are planning to create a report
> with user list who accessed the application in last 30 days.
> Can this be achieved by querying directly to the database '
> Thanks
> John|||Hi John,
You can get this information, if you would have done one of the following;
(a) Enabled logging in your VB app (the user and datetime)
(b) Logging in the database tables. Again this should have been done with
your application. (the user and datetime)
(c) Enabled Auditing in the database server.
Are you using one super user to connect to SQL Server for all the
application users or are you connecting to SQL Server for every user
accessing your VB application?
In the former case, you will always see one user at the database level.
Thanks
Yogish
Database access log
SQL 2K
We developed a VB.NET application (SQL 2k db) where users can log into the
system and extract reports. We are planning to create a report with user
list who accessed the application in last 30 days.
Can this be achieved by querying directly to the database '
Thanks
JohnHi John,
You can get this information, if you would have done one of the following;
(a) Enabled logging in your VB app (the user and datetime)
(b) Logging in the database tables. Again this should have been done with
your application. (the user and datetime)
(c) Enabled Auditing in the database server.
Are you using one super user to connect to SQL Server for all the
application users or are you connecting to SQL Server for every user
accessing your VB application?
In the former case, you will always see one user at the database level.
Thanks
Yogish
We developed a VB.NET application (SQL 2k db) where users can log into the
system and extract reports. We are planning to create a report with user
list who accessed the application in last 30 days.
Can this be achieved by querying directly to the database '
Thanks
JohnHi John,
You can get this information, if you would have done one of the following;
(a) Enabled logging in your VB app (the user and datetime)
(b) Logging in the database tables. Again this should have been done with
your application. (the user and datetime)
(c) Enabled Auditing in the database server.
Are you using one super user to connect to SQL Server for all the
application users or are you connecting to SQL Server for every user
accessing your VB application?
In the former case, you will always see one user at the database level.
Thanks
Yogish
Database access log
SQL 2K
We developed a VB.NET application (SQL 2k db) where users can log into the
system and extract reports. We are planning to create a report with user
list who accessed the application in last 30 days.
Can this be achieved by querying directly to the database ?
Thanks
John
Hi John,
You can get this information, if you would have done one of the following;
(a) Enabled logging in your VB app (the user and datetime)
(b) Logging in the database tables. Again this should have been done with
your application. (the user and datetime)
(c) Enabled Auditing in the database server.
Are you using one super user to connect to SQL Server for all the
application users or are you connecting to SQL Server for every user
accessing your VB application?
In the former case, you will always see one user at the database level.
Thanks
Yogish
We developed a VB.NET application (SQL 2k db) where users can log into the
system and extract reports. We are planning to create a report with user
list who accessed the application in last 30 days.
Can this be achieved by querying directly to the database ?
Thanks
John
Hi John,
You can get this information, if you would have done one of the following;
(a) Enabled logging in your VB app (the user and datetime)
(b) Logging in the database tables. Again this should have been done with
your application. (the user and datetime)
(c) Enabled Auditing in the database server.
Are you using one super user to connect to SQL Server for all the
application users or are you connecting to SQL Server for every user
accessing your VB application?
In the former case, you will always see one user at the database level.
Thanks
Yogish
Database access log
SQL 2K
We developed a VB.NET application (SQL 2k db) where users can log into the
system and extract reports. We are planning to create a report with user
list who accessed the application in last 30 days.
Can this be achieved by querying directly to the database '
Thanks
JohnHi John,
You can get this information, if you would have done one of the following;
(a) Enabled logging in your VB app (the user and datetime)
(b) Logging in the database tables. Again this should have been done with
your application. (the user and datetime)
(c) Enabled Auditing in the database server.
Are you using one super user to connect to SQL Server for all the
application users or are you connecting to SQL Server for every user
accessing your VB application?
In the former case, you will always see one user at the database level.
Thanks
Yogish
We developed a VB.NET application (SQL 2k db) where users can log into the
system and extract reports. We are planning to create a report with user
list who accessed the application in last 30 days.
Can this be achieved by querying directly to the database '
Thanks
JohnHi John,
You can get this information, if you would have done one of the following;
(a) Enabled logging in your VB app (the user and datetime)
(b) Logging in the database tables. Again this should have been done with
your application. (the user and datetime)
(c) Enabled Auditing in the database server.
Are you using one super user to connect to SQL Server for all the
application users or are you connecting to SQL Server for every user
accessing your VB application?
In the former case, you will always see one user at the database level.
Thanks
Yogish
Sunday, February 19, 2012
Data Type Problem with VB and CSharp...I believe
I am attempting to use VB.Net to interface to a CSharp DLL to print reports.
I have taken the CSharp Example that I have seen reported in this newsgroup
and made it into a DLL. I am trying to use the Reporting Services report
parameter and getting the following error in VB.Net:
TestApp.vb(613): Value of type '1-dimensional array of
TestApp.ParameterValue' cannot be converted to '1-dimensional array of
ParameterValue' because 'TestApp.ParameterValue' is not derived from
'ParameterValue'.
In the public function in the CSharp DLL, I am looking for three parameters.
public bool PrintReport(string reportPath, ParameterValue[]
reportParameters, string printer)
In VB, I am calling the function like this:
PrintServer.PrintReport(ReportURL, ReportParameters, Printer)
Here is how I have declared the ReportParameters object:
Private ReportParameters(4) as ParameterValue
Can someone please explain to me the error message and how to fix it?Hi. Try fully declaring your ParameterValue[] parameter with the same
namespace as that of the cSharp library.
Regards,
Tim Ellison, MCP
Ironworks Consulting, LLC
(m) 804.405.4874
"Mike Collins" <MikeCollins@.discussions.microsoft.com> wrote in message
news:2DF92759-B44A-4D8B-A2D5-028EE17FF7FB@.microsoft.com...
> I am attempting to use VB.Net to interface to a CSharp DLL to print
reports.
> I have taken the CSharp Example that I have seen reported in this
newsgroup
> and made it into a DLL. I am trying to use the Reporting Services report
> parameter and getting the following error in VB.Net:
> TestApp.vb(613): Value of type '1-dimensional array of
> TestApp.ParameterValue' cannot be converted to '1-dimensional array of
> ParameterValue' because 'TestApp.ParameterValue' is not derived from
> 'ParameterValue'.
> In the public function in the CSharp DLL, I am looking for three
parameters.
> public bool PrintReport(string reportPath, ParameterValue[]
> reportParameters, string printer)
> In VB, I am calling the function like this:
> PrintServer.PrintReport(ReportURL, ReportParameters, Printer)
> Here is how I have declared the ReportParameters object:
> Private ReportParameters(4) as ParameterValue
> Can someone please explain to me the error message and how to fix it?
>|||Thanks for the response Tim, but I am not sure what you mean by declcaring
ParameterValue[] parameter with the same namespance as that of the cSharp
library.
I tried what I believe you were saying in my VB declaration:
Private ReportParameters(4) as SQLPrintServer.localhost.ParameterValue, with
SQLPrintServer being the namespace of my cSharp library, and got the same
error message.
TestApp.vb(570): Value of type '1-dimensional array of
SQLPrintServer.localhost.ParameterValue' cannot be converted to
'1-dimensional array of TestApp.ParameterValue' because
'SQLPrintServer.localhost.ParameterValue' is not derived from
'TestApp.ParameterValue'.
"TIM ELLISON" wrote:
> Hi. Try fully declaring your ParameterValue[] parameter with the same
> namespace as that of the cSharp library.
>
> --
> Regards,
> Tim Ellison, MCP
> Ironworks Consulting, LLC
> (m) 804.405.4874
> "Mike Collins" <MikeCollins@.discussions.microsoft.com> wrote in message
> news:2DF92759-B44A-4D8B-A2D5-028EE17FF7FB@.microsoft.com...
> > I am attempting to use VB.Net to interface to a CSharp DLL to print
> reports.
> > I have taken the CSharp Example that I have seen reported in this
> newsgroup
> > and made it into a DLL. I am trying to use the Reporting Services report
> > parameter and getting the following error in VB.Net:
> >
> > TestApp.vb(613): Value of type '1-dimensional array of
> > TestApp.ParameterValue' cannot be converted to '1-dimensional array of
> > ParameterValue' because 'TestApp.ParameterValue' is not derived from
> > 'ParameterValue'.
> >
> > In the public function in the CSharp DLL, I am looking for three
> parameters.
> >
> > public bool PrintReport(string reportPath, ParameterValue[]
> > reportParameters, string printer)
> >
> > In VB, I am calling the function like this:
> > PrintServer.PrintReport(ReportURL, ReportParameters, Printer)
> >
> > Here is how I have declared the ReportParameters object:
> > Private ReportParameters(4) as ParameterValue
> >
> > Can someone please explain to me the error message and how to fix it?
> >
> >
>
>|||Your web reference is going to create a namespace inside which the proxy for
the web service resides. I'm assuming from your code that it's
"SQLPrintServer.localhost".
You also have a test application whose default namespace appears to be
"TestApp".
A fully qualified name for a class is "NameSpace.ClassName". Therefore,
"SQLPrintServer.localhost.Parameter" is not equivalent to
"TestApp.Parameter".
Can you provide the code please? That might help.
--
Regards,
Tim Ellison, MCP
Ironworks Consulting, LLC
(m) 804.405.4874
"Mike Collins" <MikeCollins@.discussions.microsoft.com> wrote in message
news:B1D28046-E92D-4336-8B1E-AD826C084505@.microsoft.com...
> Thanks for the response Tim, but I am not sure what you mean by declcaring
> ParameterValue[] parameter with the same namespance as that of the cSharp
> library.
> I tried what I believe you were saying in my VB declaration:
> Private ReportParameters(4) as SQLPrintServer.localhost.ParameterValue,
with
> SQLPrintServer being the namespace of my cSharp library, and got the same
> error message.
> TestApp.vb(570): Value of type '1-dimensional array of
> SQLPrintServer.localhost.ParameterValue' cannot be converted to
> '1-dimensional array of TestApp.ParameterValue' because
> 'SQLPrintServer.localhost.ParameterValue' is not derived from
> 'TestApp.ParameterValue'.
> "TIM ELLISON" wrote:
> > Hi. Try fully declaring your ParameterValue[] parameter with the same
> > namespace as that of the cSharp library.
> >
> >
> > --
> > Regards,
> >
> > Tim Ellison, MCP
> > Ironworks Consulting, LLC
> > (m) 804.405.4874
> > "Mike Collins" <MikeCollins@.discussions.microsoft.com> wrote in message
> > news:2DF92759-B44A-4D8B-A2D5-028EE17FF7FB@.microsoft.com...
> > > I am attempting to use VB.Net to interface to a CSharp DLL to print
> > reports.
> > > I have taken the CSharp Example that I have seen reported in this
> > newsgroup
> > > and made it into a DLL. I am trying to use the Reporting Services
report
> > > parameter and getting the following error in VB.Net:
> > >
> > > TestApp.vb(613): Value of type '1-dimensional array of
> > > TestApp.ParameterValue' cannot be converted to '1-dimensional array of
> > > ParameterValue' because 'TestApp.ParameterValue' is not derived from
> > > 'ParameterValue'.
> > >
> > > In the public function in the CSharp DLL, I am looking for three
> > parameters.
> > >
> > > public bool PrintReport(string reportPath, ParameterValue[]
> > > reportParameters, string printer)
> > >
> > > In VB, I am calling the function like this:
> > > PrintServer.PrintReport(ReportURL, ReportParameters, Printer)
> > >
> > > Here is how I have declared the ReportParameters object:
> > > Private ReportParameters(4) as ParameterValue
> > >
> > > Can someone please explain to me the error message and how to fix it?
> > >
> > >
> >
> >
> >|||Actually, I think that is what I need. I will take what you gave me and try
it. If it does not work, I will add another post. Thanks for explaining it
further.
"TIM ELLISON" wrote:
> Your web reference is going to create a namespace inside which the proxy for
> the web service resides. I'm assuming from your code that it's
> "SQLPrintServer.localhost".
> You also have a test application whose default namespace appears to be
> "TestApp".
> A fully qualified name for a class is "NameSpace.ClassName". Therefore,
> "SQLPrintServer.localhost.Parameter" is not equivalent to
> "TestApp.Parameter".
> Can you provide the code please? That might help.
> --
> Regards,
> Tim Ellison, MCP
> Ironworks Consulting, LLC
> (m) 804.405.4874
> "Mike Collins" <MikeCollins@.discussions.microsoft.com> wrote in message
> news:B1D28046-E92D-4336-8B1E-AD826C084505@.microsoft.com...
> > Thanks for the response Tim, but I am not sure what you mean by declcaring
> > ParameterValue[] parameter with the same namespance as that of the cSharp
> > library.
> >
> > I tried what I believe you were saying in my VB declaration:
> > Private ReportParameters(4) as SQLPrintServer.localhost.ParameterValue,
> with
> > SQLPrintServer being the namespace of my cSharp library, and got the same
> > error message.
> >
> > TestApp.vb(570): Value of type '1-dimensional array of
> > SQLPrintServer.localhost.ParameterValue' cannot be converted to
> > '1-dimensional array of TestApp.ParameterValue' because
> > 'SQLPrintServer.localhost.ParameterValue' is not derived from
> > 'TestApp.ParameterValue'.
> >
> > "TIM ELLISON" wrote:
> >
> > > Hi. Try fully declaring your ParameterValue[] parameter with the same
> > > namespace as that of the cSharp library.
> > >
> > >
> > > --
> > > Regards,
> > >
> > > Tim Ellison, MCP
> > > Ironworks Consulting, LLC
> > > (m) 804.405.4874
> > > "Mike Collins" <MikeCollins@.discussions.microsoft.com> wrote in message
> > > news:2DF92759-B44A-4D8B-A2D5-028EE17FF7FB@.microsoft.com...
> > > > I am attempting to use VB.Net to interface to a CSharp DLL to print
> > > reports.
> > > > I have taken the CSharp Example that I have seen reported in this
> > > newsgroup
> > > > and made it into a DLL. I am trying to use the Reporting Services
> report
> > > > parameter and getting the following error in VB.Net:
> > > >
> > > > TestApp.vb(613): Value of type '1-dimensional array of
> > > > TestApp.ParameterValue' cannot be converted to '1-dimensional array of
> > > > ParameterValue' because 'TestApp.ParameterValue' is not derived from
> > > > 'ParameterValue'.
> > > >
> > > > In the public function in the CSharp DLL, I am looking for three
> > > parameters.
> > > >
> > > > public bool PrintReport(string reportPath, ParameterValue[]
> > > > reportParameters, string printer)
> > > >
> > > > In VB, I am calling the function like this:
> > > > PrintServer.PrintReport(ReportURL, ReportParameters, Printer)
> > > >
> > > > Here is how I have declared the ReportParameters object:
> > > > Private ReportParameters(4) as ParameterValue
> > > >
> > > > Can someone please explain to me the error message and how to fix it?
> > > >
> > > >
> > >
> > >
> > >
>
>
I have taken the CSharp Example that I have seen reported in this newsgroup
and made it into a DLL. I am trying to use the Reporting Services report
parameter and getting the following error in VB.Net:
TestApp.vb(613): Value of type '1-dimensional array of
TestApp.ParameterValue' cannot be converted to '1-dimensional array of
ParameterValue' because 'TestApp.ParameterValue' is not derived from
'ParameterValue'.
In the public function in the CSharp DLL, I am looking for three parameters.
public bool PrintReport(string reportPath, ParameterValue[]
reportParameters, string printer)
In VB, I am calling the function like this:
PrintServer.PrintReport(ReportURL, ReportParameters, Printer)
Here is how I have declared the ReportParameters object:
Private ReportParameters(4) as ParameterValue
Can someone please explain to me the error message and how to fix it?Hi. Try fully declaring your ParameterValue[] parameter with the same
namespace as that of the cSharp library.
Regards,
Tim Ellison, MCP
Ironworks Consulting, LLC
(m) 804.405.4874
"Mike Collins" <MikeCollins@.discussions.microsoft.com> wrote in message
news:2DF92759-B44A-4D8B-A2D5-028EE17FF7FB@.microsoft.com...
> I am attempting to use VB.Net to interface to a CSharp DLL to print
reports.
> I have taken the CSharp Example that I have seen reported in this
newsgroup
> and made it into a DLL. I am trying to use the Reporting Services report
> parameter and getting the following error in VB.Net:
> TestApp.vb(613): Value of type '1-dimensional array of
> TestApp.ParameterValue' cannot be converted to '1-dimensional array of
> ParameterValue' because 'TestApp.ParameterValue' is not derived from
> 'ParameterValue'.
> In the public function in the CSharp DLL, I am looking for three
parameters.
> public bool PrintReport(string reportPath, ParameterValue[]
> reportParameters, string printer)
> In VB, I am calling the function like this:
> PrintServer.PrintReport(ReportURL, ReportParameters, Printer)
> Here is how I have declared the ReportParameters object:
> Private ReportParameters(4) as ParameterValue
> Can someone please explain to me the error message and how to fix it?
>|||Thanks for the response Tim, but I am not sure what you mean by declcaring
ParameterValue[] parameter with the same namespance as that of the cSharp
library.
I tried what I believe you were saying in my VB declaration:
Private ReportParameters(4) as SQLPrintServer.localhost.ParameterValue, with
SQLPrintServer being the namespace of my cSharp library, and got the same
error message.
TestApp.vb(570): Value of type '1-dimensional array of
SQLPrintServer.localhost.ParameterValue' cannot be converted to
'1-dimensional array of TestApp.ParameterValue' because
'SQLPrintServer.localhost.ParameterValue' is not derived from
'TestApp.ParameterValue'.
"TIM ELLISON" wrote:
> Hi. Try fully declaring your ParameterValue[] parameter with the same
> namespace as that of the cSharp library.
>
> --
> Regards,
> Tim Ellison, MCP
> Ironworks Consulting, LLC
> (m) 804.405.4874
> "Mike Collins" <MikeCollins@.discussions.microsoft.com> wrote in message
> news:2DF92759-B44A-4D8B-A2D5-028EE17FF7FB@.microsoft.com...
> > I am attempting to use VB.Net to interface to a CSharp DLL to print
> reports.
> > I have taken the CSharp Example that I have seen reported in this
> newsgroup
> > and made it into a DLL. I am trying to use the Reporting Services report
> > parameter and getting the following error in VB.Net:
> >
> > TestApp.vb(613): Value of type '1-dimensional array of
> > TestApp.ParameterValue' cannot be converted to '1-dimensional array of
> > ParameterValue' because 'TestApp.ParameterValue' is not derived from
> > 'ParameterValue'.
> >
> > In the public function in the CSharp DLL, I am looking for three
> parameters.
> >
> > public bool PrintReport(string reportPath, ParameterValue[]
> > reportParameters, string printer)
> >
> > In VB, I am calling the function like this:
> > PrintServer.PrintReport(ReportURL, ReportParameters, Printer)
> >
> > Here is how I have declared the ReportParameters object:
> > Private ReportParameters(4) as ParameterValue
> >
> > Can someone please explain to me the error message and how to fix it?
> >
> >
>
>|||Your web reference is going to create a namespace inside which the proxy for
the web service resides. I'm assuming from your code that it's
"SQLPrintServer.localhost".
You also have a test application whose default namespace appears to be
"TestApp".
A fully qualified name for a class is "NameSpace.ClassName". Therefore,
"SQLPrintServer.localhost.Parameter" is not equivalent to
"TestApp.Parameter".
Can you provide the code please? That might help.
--
Regards,
Tim Ellison, MCP
Ironworks Consulting, LLC
(m) 804.405.4874
"Mike Collins" <MikeCollins@.discussions.microsoft.com> wrote in message
news:B1D28046-E92D-4336-8B1E-AD826C084505@.microsoft.com...
> Thanks for the response Tim, but I am not sure what you mean by declcaring
> ParameterValue[] parameter with the same namespance as that of the cSharp
> library.
> I tried what I believe you were saying in my VB declaration:
> Private ReportParameters(4) as SQLPrintServer.localhost.ParameterValue,
with
> SQLPrintServer being the namespace of my cSharp library, and got the same
> error message.
> TestApp.vb(570): Value of type '1-dimensional array of
> SQLPrintServer.localhost.ParameterValue' cannot be converted to
> '1-dimensional array of TestApp.ParameterValue' because
> 'SQLPrintServer.localhost.ParameterValue' is not derived from
> 'TestApp.ParameterValue'.
> "TIM ELLISON" wrote:
> > Hi. Try fully declaring your ParameterValue[] parameter with the same
> > namespace as that of the cSharp library.
> >
> >
> > --
> > Regards,
> >
> > Tim Ellison, MCP
> > Ironworks Consulting, LLC
> > (m) 804.405.4874
> > "Mike Collins" <MikeCollins@.discussions.microsoft.com> wrote in message
> > news:2DF92759-B44A-4D8B-A2D5-028EE17FF7FB@.microsoft.com...
> > > I am attempting to use VB.Net to interface to a CSharp DLL to print
> > reports.
> > > I have taken the CSharp Example that I have seen reported in this
> > newsgroup
> > > and made it into a DLL. I am trying to use the Reporting Services
report
> > > parameter and getting the following error in VB.Net:
> > >
> > > TestApp.vb(613): Value of type '1-dimensional array of
> > > TestApp.ParameterValue' cannot be converted to '1-dimensional array of
> > > ParameterValue' because 'TestApp.ParameterValue' is not derived from
> > > 'ParameterValue'.
> > >
> > > In the public function in the CSharp DLL, I am looking for three
> > parameters.
> > >
> > > public bool PrintReport(string reportPath, ParameterValue[]
> > > reportParameters, string printer)
> > >
> > > In VB, I am calling the function like this:
> > > PrintServer.PrintReport(ReportURL, ReportParameters, Printer)
> > >
> > > Here is how I have declared the ReportParameters object:
> > > Private ReportParameters(4) as ParameterValue
> > >
> > > Can someone please explain to me the error message and how to fix it?
> > >
> > >
> >
> >
> >|||Actually, I think that is what I need. I will take what you gave me and try
it. If it does not work, I will add another post. Thanks for explaining it
further.
"TIM ELLISON" wrote:
> Your web reference is going to create a namespace inside which the proxy for
> the web service resides. I'm assuming from your code that it's
> "SQLPrintServer.localhost".
> You also have a test application whose default namespace appears to be
> "TestApp".
> A fully qualified name for a class is "NameSpace.ClassName". Therefore,
> "SQLPrintServer.localhost.Parameter" is not equivalent to
> "TestApp.Parameter".
> Can you provide the code please? That might help.
> --
> Regards,
> Tim Ellison, MCP
> Ironworks Consulting, LLC
> (m) 804.405.4874
> "Mike Collins" <MikeCollins@.discussions.microsoft.com> wrote in message
> news:B1D28046-E92D-4336-8B1E-AD826C084505@.microsoft.com...
> > Thanks for the response Tim, but I am not sure what you mean by declcaring
> > ParameterValue[] parameter with the same namespance as that of the cSharp
> > library.
> >
> > I tried what I believe you were saying in my VB declaration:
> > Private ReportParameters(4) as SQLPrintServer.localhost.ParameterValue,
> with
> > SQLPrintServer being the namespace of my cSharp library, and got the same
> > error message.
> >
> > TestApp.vb(570): Value of type '1-dimensional array of
> > SQLPrintServer.localhost.ParameterValue' cannot be converted to
> > '1-dimensional array of TestApp.ParameterValue' because
> > 'SQLPrintServer.localhost.ParameterValue' is not derived from
> > 'TestApp.ParameterValue'.
> >
> > "TIM ELLISON" wrote:
> >
> > > Hi. Try fully declaring your ParameterValue[] parameter with the same
> > > namespace as that of the cSharp library.
> > >
> > >
> > > --
> > > Regards,
> > >
> > > Tim Ellison, MCP
> > > Ironworks Consulting, LLC
> > > (m) 804.405.4874
> > > "Mike Collins" <MikeCollins@.discussions.microsoft.com> wrote in message
> > > news:2DF92759-B44A-4D8B-A2D5-028EE17FF7FB@.microsoft.com...
> > > > I am attempting to use VB.Net to interface to a CSharp DLL to print
> > > reports.
> > > > I have taken the CSharp Example that I have seen reported in this
> > > newsgroup
> > > > and made it into a DLL. I am trying to use the Reporting Services
> report
> > > > parameter and getting the following error in VB.Net:
> > > >
> > > > TestApp.vb(613): Value of type '1-dimensional array of
> > > > TestApp.ParameterValue' cannot be converted to '1-dimensional array of
> > > > ParameterValue' because 'TestApp.ParameterValue' is not derived from
> > > > 'ParameterValue'.
> > > >
> > > > In the public function in the CSharp DLL, I am looking for three
> > > parameters.
> > > >
> > > > public bool PrintReport(string reportPath, ParameterValue[]
> > > > reportParameters, string printer)
> > > >
> > > > In VB, I am calling the function like this:
> > > > PrintServer.PrintReport(ReportURL, ReportParameters, Printer)
> > > >
> > > > Here is how I have declared the ReportParameters object:
> > > > Private ReportParameters(4) as ParameterValue
> > > >
> > > > Can someone please explain to me the error message and how to fix it?
> > > >
> > > >
> > >
> > >
> > >
>
>
Subscribe to:
Posts (Atom)