SDKSequence access from remote location

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
DS_SUPPORT
Premium Member
Premium Member
Posts: 232
Joined: Fri Aug 04, 2006 1:20 am
Location: Bangalore

SDKSequence access from remote location

Post by DS_SUPPORT »

Hi all,

I have a scenario where 2 projects are created P1 and P2 .
Both of them are located on different servers .

My aim is to point the SDKSequences file( generated when using the keymgtgetNextvaluConcurrent) on a remote server and acces it, so that i can make the same file available for both projects.

Is this possible?

Your help greatly appreciated .

Thanks,
Kirtikumar
Participant
Posts: 437
Joined: Fri Oct 15, 2004 6:13 am
Location: Pune, India

Post by Kirtikumar »

I have never yused these routines.

But ya, you can point to same file from both the servers. You can use the NFS for that. Then Create this file on this NFS directory. It should be accessilbe from both the servers.
Regards,
S. Kirtikumar.
DS_SUPPORT
Premium Member
Premium Member
Posts: 232
Joined: Fri Aug 04, 2006 1:20 am
Location: Bangalore

Post by DS_SUPPORT »

Kirtikumar wrote:I have never yused these routines.

But ya, you can point to same file from both the servers. You can use the NFS for that. Then Create this file on this NFS directory. It should be accessilbe from both the servers.
can you please elaborate on that . I am unaware as to how to go about it.

Thanks,
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

It is singularly dangerous to do, because the record-level lock taken when you update a record in SDKSequences is recorded in shared memory on the executing machine, so that the other server will be unaware of it, and may engender lost updates. There is no networking software, so you would need to create your own client/server relationship between the two servers and execute the updates only through a routine that uses BCI routines to execute the update remotely.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
DS_SUPPORT
Premium Member
Premium Member
Posts: 232
Joined: Fri Aug 04, 2006 1:20 am
Location: Bangalore

Post by DS_SUPPORT »

ray.wurlod wrote:It is singularly dangerous to do, because the record-level lock taken when you update a record in SDKSequences is recorded in shared memory on the executing machine, so that the other server will be unaware of it, and may engender lost updates. There is no networking software, so you would need to create your own client/server relationship between the two servers and execute the updates only through a routine that uses BCI routines to execute the update remotely.

Thanks ray for your response.

So what can be the best approach to follow for this scenario...??

Can I have both the projects on the same server and then point SDKSequence file to a common location . so that both projects use the same file for updation ???

I tried this out.. But somehow when i wrk with project1 the SDKSequence placed at the common location gets updated.
where as when i use it in Project2 , the routine does not take the last updated value from the SDKSequence file (common path).
what am i missing...?

I have created the VOC pointers in both the projects which will refer to the common path.


any help.. please advise

Thanks
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Create your own client/server relationship between the two servers (via a "remote UniVerse" DSN in uvodbc.config that specifies host name) and execute the updates only through a routine that uses BCI routines to execute the update remotely.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
DS_SUPPORT
Premium Member
Premium Member
Posts: 232
Joined: Fri Aug 04, 2006 1:20 am
Location: Bangalore

Post by DS_SUPPORT »

ray.wurlod wrote:Create your own client/server relationship between the two servers (via a "remote UniVerse" DSN in uvodbc.config that specifies host name) and execute the updates only through a routine that uses BCI routines to execute the update remotely.
Thanks Ray... that was realy helpful .

I will defintely try that out.. meanwhile BCI routines :?:
From the serach engine " BCI routines" , I get to know that there needs to be a seperate license for these to run :) .


Ray,
Can you please let me know what am i missing in the situation below:


I have both the projects on the same server and then point SDKSequence file to a common location . so that both projects use the same file for updation .

I tried this out.. But somehow when i wrk with project1 the SDKSequence placed at the common location gets updated.
where as when i use it in Project2 , the routine does not take the last updated value from the SDKSequence file (common path).
what am i missing...?

I have created the VOC pointers in both the projects which will refer to the common path.

any help... please advise ....

Thanks,
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

You do not need additional licences to use BCI routines with UNIVERSE data sources.

Please post the VOC entries to SDKSequences from both projects. The only obvious reason that the behaviour you describe would occur is that they do not point to the same hashed file.

Code: Select all

LIST.ITEM VOC 'SDKSequences'
in each project.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
DS_SUPPORT
Premium Member
Premium Member
Posts: 232
Joined: Fri Aug 04, 2006 1:20 am
Location: Bangalore

Post by DS_SUPPORT »

ray.wurlod wrote:You do not need additional licences to use BCI routines with UNIVERSE data sources.

Please post the VOC entries to SDKSequences from both projects. The only obvious reason that the behaviour you describe would occur is that they do not point to the same hashed file.

Code: Select all

LIST.ITEM VOC 'SDKSequences'
in each project.
Thanks ray It worked!!!!!!!!!!!!!! :D
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

What worked?

Were the VOC entries each pointing to SDKSequences in the local project?

If so, what change(s) did you make?
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
DS_SUPPORT
Premium Member
Premium Member
Posts: 232
Joined: Fri Aug 04, 2006 1:20 am
Location: Bangalore

Post by DS_SUPPORT »

ray.wurlod wrote:What worked?

Were the VOC entries each pointing to SDKSequences in the local project?

If so, what change(s) did you make?
YES , the Voc pointers were not pointing to the common path.
I created two new projects .
Placed the SDKSequence File at a common path outside the projects.
Created VOc pointers to this file placed at new location .
Ran the jobs. Both projects fetch the right value from the common file.

Initially what went wrong cud be that , probably the project would have got corrupted. As i was trying to play around a bit too much with VOC file s :shock:

Thanks once again ray... will try with the BCI routine too and get bak...

Thanks,
Post Reply