Page 1 of 1

error connecting to UniData 6

Posted: Wed Feb 22, 2006 3:35 pm
by gmorey
I've creating a new test project which is essentially a copy of a production project.

This new test project is connecting to an AIX box with a UniData database - test version. We have a working production version (yes, going backwards).

When I try to run an extract job against the UniData file, I'm getting this error in my UniData 6 stage:

...job_in: ds_uciopen() - SQLExecDirect: Failed with SQLSTATE S0002 - Native error 0, [IBM][SQL Client][UNIDATA]You have no privilege on file XXXX
JobName..XXXX.job_in: DSD.UCIOpen GCI $DS.UCIOpen error -100.

Our unix admin says the permissions are the same on production and test.

Any idea what may be wrong?

Thanks..

Posted: Wed Feb 22, 2006 4:25 pm
by ray.wurlod
Presumably the UniData file has been SQL-ized and you have not been granted SELECT privilege to it. Ask your UniData Administrator.

Posted: Wed Feb 22, 2006 4:32 pm
by gmorey
ray.wurlod wrote:Presumably the UniData file has been SQL-ized and you have not been granted SELECT privilege to it. Ask your UniData Administrator.
What do you mean by "SQL-ized"? I can't find any documentation on this, but I know it must be around somewhere.

Posted: Wed Feb 22, 2006 5:08 pm
by kumar_s
gmorey wrote:
ray.wurlod wrote:Presumably the UniData file has been SQL-ized and you have not been granted SELECT privilege to it. Ask your UniData Administrator.
What do you mean by "SQL-ized"? I can't find any documentation on this, but I know it must be around somewhere.
When tried to queried.
Try to grant previlage on the table to the user.

Posted: Wed Feb 22, 2006 8:38 pm
by ray.wurlod
UniData natively is, like UniVerse, a non-first-normal form database. UniData tables can be presented, for SQL access, as first normal form tables using dynamic normalization techniques. A UniData Administrator is usually involved in this process. Once there exists a schema, then table privileges must be granted to allow users access to those tables. That's what I mean by "SQL-ized" - your UniData Administrator will know the term.

Posted: Thu Feb 23, 2006 6:08 am
by dpotts
Sorry I can't give you an answer, but we are having similar problems and getting the permissions error. We have been told that one of issues is that DataStage server is set up on a UNIX box and that if we'd been on a Windows box we'd have no (or at least) fewer problems. So can I ask what's the platform that your DataStage server is running on?

Rgds

David Potts

Posted: Thu Feb 23, 2006 2:10 pm
by ray.wurlod
This week Windows, next week UNIX. I'm a self-employed contractor - I don't have my own copy of DataStage (my fees would need to be way higher to afford it). Haven't connected to UniData in some time. However, I do teach IBM classes in both UniVerse and UniData, so I have some idea of what I am saying. I don't believe the platform should make any difference; DataStage connects to UniData through an interface called the UCI - ask your UniData administrator whether uci.config has all the required entries in it.

Posted: Mon Feb 27, 2006 8:47 am
by gmorey
I might have the solution now.

There is a readme.txt file in the \Ascential\Datastage\ folder that has a bit about the new (as of 7.1) UniData 6 stage.

It states that a script, MIGRATE.SQL, must be run on an account to make it a UniData 6 account. Another program, Privilege.B, must be run to make the existing files accessible to the account.

This was probably done on our production system, but not the development system (which was not used with DataStage previously, it appears).

I'll let you know if this works.

Posted: Mon Feb 27, 2006 11:57 am
by gmorey
gmorey wrote:I might have the solution now.

There is a readme.txt file in the \Ascential\Datastage\ folder that has a bit about the new (as of 7.1) UniData 6 stage.

It states that a script, MIGRATE.SQL, must be run on an account to make it a UniData 6 account. Another program, Privilege.B, must be run to make the existing files accessible to the account.

This was probably done on our production system, but not the development system (which was not used with DataStage previously, it appears).

I'll let you know if this works.
It looks like this was already done, so I'm still looking for an answer.

The UniData administrator doesn't know anything about SQL-izing the files. We're running DataStage on Windows.

Posted: Tue Feb 28, 2006 11:13 am
by gmorey
After manually changing a couple of files to match the ones on production, we were able to get to the table/file, but got a new error:

....job_in: ds_ucigetnext() - SQLBindMvCol: Failed with SQLSTATE S1000 - Native error 0, [IBM][SQL Client][UNIDATA]Unidata lower level function error with fetch

Also tried re-running the Privilege.B script, but still getting this error.

Anyone have any idea what might be wrong? Again, this is our new-ish test system.. production system is working fine.