Showing posts with label instance. Show all posts
Showing posts with label instance. Show all posts

Friday, March 30, 2012

Page break after X items

Is it possible to force a page break after a specified number of items in a table?
For instance, I have a name badge report but I'm running into a problem where some badges are sliced down the middle at page breaks when exporting to pdf or tiff. If I could force a page break after every 2nd or 3rd badge it would alleviate that problem.

Thanks in advance.Figured it out. I added a group on Code.GetCount(RowNumber(Nothing)) with a page break at the end and added this function:


public shared function GetCount(CurrentCount As Integer) As Integer
If CurrentCount Mod 2 = 0 Then
GetCount = CurrentCount-1
Else
GetCount = CurrentCount
End If
end function

|||

Hello Nblankton

that was a very good idea, I did try to use it but for some reason it only works with 2 records.

I tried to change it with Mod 4 (I thought that would break after 4 records but that is not the case, I page break after the 1,2 and 4th record).

I'm not sure if I'm missing something or it is a bug.

Any Idea?

Thank you

MQ

|||

You'd also need to also alter the CurrentCode-1 line to subtract the appropriate number so that for all four that returned number is the same.

Something like CurrentCode-(CurrentCode Mod 4)+1.

I worked out a different method later that I think is a little clearer, though. This groups by 3's:

public shared function GetCount(CurrentCount As Integer) As Integer
GetCount = (CurrentCount+1)/3
end function

|||

Hi Nblankton

thank you for the response, after I wrote the note I searched the forum and found this

"=Ceiling(RowNumber(Nothing)/4)" you can put any number (2,5,20) it works, without having to add any code.

Thank you for your help. adding a group to control the amount of record per page is a great idea.

MQ

|||hi, I hope someone can help me!
I don't understand where I must place "=Ceiling(RowNumber(Nothing)/4)"

I added a new group (I selected table, right-click Proprieties, groups and add)
and I've write "=Ceiling(RowNumber(Nothing)/4)" as expression, but when I tried to execute , an error rose!
A scope problem

did I wrong the place to write the expression?

Thanks in advance
sql

Page break after X items

Is it possible to force a page break after a specified number of items in a table?
For instance, I have a name badge report but I'm running into a problem where some badges are sliced down the middle at page breaks when exporting to pdf or tiff. If I could force a page break after every 2nd or 3rd badge it would alleviate that problem.

Thanks in advance.Figured it out. I added a group on Code.GetCount(RowNumber(Nothing)) with a page break at the end and added this function:


public shared function GetCount(CurrentCount As Integer) As Integer
If CurrentCount Mod 2 = 0 Then
GetCount = CurrentCount-1
Else
GetCount = CurrentCount
End If
end function

|||

Hello Nblankton

that was a very good idea, I did try to use it but for some reason it only works with 2 records.

I tried to change it with Mod 4 (I thought that would break after 4 records but that is not the case, I page break after the 1,2 and 4th record).

I'm not sure if I'm missing something or it is a bug.

Any Idea?

Thank you

MQ

|||

You'd also need to also alter the CurrentCode-1 line to subtract the appropriate number so that for all four that returned number is the same.

Something like CurrentCode-(CurrentCode Mod 4)+1.

I worked out a different method later that I think is a little clearer, though. This groups by 3's:

public shared function GetCount(CurrentCount As Integer) As Integer
GetCount = (CurrentCount+1)/3
end function

|||

Hi Nblankton

thank you for the response, after I wrote the note I searched the forum and found this

"=Ceiling(RowNumber(Nothing)/4)" you can put any number (2,5,20) it works, without having to add any code.

Thank you for your help. adding a group to control the amount of record per page is a great idea.

MQ

|||hi, I hope someone can help me!
I don't understand where I must place "=Ceiling(RowNumber(Nothing)/4)"

I added a new group (I selected table, right-click Proprieties, groups and add)
and I've write "=Ceiling(RowNumber(Nothing)/4)" as expression, but when I tried to execute , an error rose!
A scope problem

did I wrong the place to write the expression?

Thanks in advance

Page break after X items

Is it possible to force a page break after a specified number of items in a table?
For instance, I have a name badge report but I'm running into a problem where some badges are sliced down the middle at page breaks when exporting to pdf or tiff. If I could force a page break after every 2nd or 3rd badge it would alleviate that problem.

Thanks in advance.Figured it out. I added a group on Code.GetCount(RowNumber(Nothing)) with a page break at the end and added this function:


public shared function GetCount(CurrentCount As Integer) As Integer
If CurrentCount Mod 2 = 0 Then
GetCount = CurrentCount-1
Else
GetCount = CurrentCount
End If
end function

|||

Hello Nblankton

that was a very good idea, I did try to use it but for some reason it only works with 2 records.

I tried to change it with Mod 4 (I thought that would break after 4 records but that is not the case, I page break after the 1,2 and 4th record).

I'm not sure if I'm missing something or it is a bug.

Any Idea?

Thank you

MQ

|||

You'd also need to also alter the CurrentCode-1 line to subtract the appropriate number so that for all four that returned number is the same.

Something like CurrentCode-(CurrentCode Mod 4)+1.

I worked out a different method later that I think is a little clearer, though. This groups by 3's:

public shared function GetCount(CurrentCount As Integer) As Integer
GetCount = (CurrentCount+1)/3
end function

|||

Hi Nblankton

thank you for the response, after I wrote the note I searched the forum and found this

"=Ceiling(RowNumber(Nothing)/4)" you can put any number (2,5,20) it works, without having to add any code.

Thank you for your help. adding a group to control the amount of record per page is a great idea.

MQ

|||hi, I hope someone can help me!
I don't understand where I must place "=Ceiling(RowNumber(Nothing)/4)"

I added a new group (I selected table, right-click Proprieties, groups and add)
and I've write "=Ceiling(RowNumber(Nothing)/4)" as expression, but when I tried to execute , an error rose!
A scope problem

did I wrong the place to write the expression?

Thanks in advance

PAE SQL server questions...

Hey all,

I'm wondering what command I could issue to see the amount of memory a named instance is using from within the instance itself. We've enabled address extensions (PAE), and task manager no longer shows the correct amount of mem being used by the process. Under perfmon, I've added the object MSSQL$INSTANCENAME:Memory and I'm looking at the Total Server Memory. I'm seeing 4 gigs, when max memory is capped at 2gigs. This must show the server memory and not the instance memory ? Is there some way to see the instance memory ?

Cheers,
-KilkaDBCC MEMORYSTATUS. It'll give you enough to start with. Coupled with MEMUSAGE, you can pi-point the exact object that hogs the memory.|||Thanks rdjabarov,

I'll have to check this out on our testing environments. I've read that MEMUSAGE can cause the instance to crash, I'll have to do some more testing when I get back to work to verify that it'll be safe to use on live.

Cheers,
-Kilka

Tuesday, March 20, 2012

package detect that instance is already running?

Folks,

I have a package scheduled to run every hour.

Users have asked if, in addition to the scheduled run, they can have it

so that they could dump a file into the input directory and then

kick-off the package immediately.

Problem is that things fail if they try to start the package when the scheduled instance of the package is still running.

Is there any way that the package could check to see if an instance if

itself is currently executing and refuse to execute if there IS an

instance running?

PJHow do users start the package?

If they use the same job that you run periodically, just start it manually regardless of schedule using sp_start_job, the single-instance behavior will be implemented by Agent (sp_start_job fails if the job is currently running).|||

You can use the MSMQ package to synchronize packages.

Kirk Haselden
Author "SQL Server Integration Services"

|||

Hi Michael,

Currently I'm just piloting this by getting users to go to SQL Server Agent in the management studio, right clicking on the job and selecting "Start Job at step.."

and I was going to give them a small winforms app to run which would do it.. I suppose I could get the app to execute a call to sp_start_job now and when it fails just inform em that the scheduled job is running...

By the way, if the scheduled time between runs is too short.. and the job is started again before the previous run has completed.. Agent will just fail the new instance ? Is that right?

Thanks

PJ

|||

By the way, if the scheduled time between runs is too short.. and the job is started again before the previous run has completed.. Agent will just fail the new instance ? Is that right?

Yes, I believe Agent always ensures only instance of a Job is ever running, so it will not run the second instance in this scenario.