What does "could not create operator sync table" m
Moderators: chulett, rschirm, roy
What does "could not create operator sync table" m
I'm trying to move data from Teradata (Teradata Enterprise Stage) to a MS SQL table (DRS stage). I get the following:
main_program: Fatal Error: APT_TeraSync: could not create operator sync table.
I have all the logins and passwords correct.
Regards,
CB
main_program: Fatal Error: APT_TeraSync: could not create operator sync table.
I have all the logins and passwords correct.
Regards,
CB
If this is still an issue, it likely means that the Teradata user id identified in the Teradata stage does not have the ability to create and administer data in the TeraSync table, or that the database it is trying to create the TeraSync table in does not have any perm or enough perm space to contain the table.
If you do not have a WORKDB env variable set, DataStage tries to create the TeraSync table from the Teradata user id's perm. At our shop users do not get perm space so we used the WORKDB env variable to direct DataStage to create the TeraSync table in a database that owns perm. Then we had to explicitly grant the Teradata user id rights to create/drop tables and insert, select, delete and update data in that database. That solved the problem.
Adam
If you do not have a WORKDB env variable set, DataStage tries to create the TeraSync table from the Teradata user id's perm. At our shop users do not get perm space so we used the WORKDB env variable to direct DataStage to create the TeraSync table in a database that owns perm. Then we had to explicitly grant the Teradata user id rights to create/drop tables and insert, select, delete and update data in that database. That solved the problem.
Adam
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
Just adding further info to this post...
This is what ascential says about this issue:
Enhancement request is tracked under 87666. considered not writable from Teradata Enterprise stage
NCR Team response is that if the following query returns no rows, then the table is considered not writable from Teradata Enterprise stage point of view:
Quote:
select * from dbc.userrights where databasename = 'dbname'
and (tablename = 'xxxxxx' or tablename = 'all') and accessright = 'I'
Which means if you grant privileges on the database level or grant roles insert rights, and then assign a particular id that role, it is not good enough.
The suggested workaround is to grant insert access directly to the userid, or to grant insert access to all tables in the database using the ALL keyword.
Enhancement request is tracked under 87666. considered not writable from Teradata Enterprise stage
NCR Team response is that if the following query returns no rows, then the table is considered not writable from Teradata Enterprise stage point of view:
Quote:
select * from dbc.userrights where databasename = 'dbname'
and (tablename = 'xxxxxx' or tablename = 'all') and accessright = 'I'
Which means if you grant privileges on the database level or grant roles insert rights, and then assign a particular id that role, it is not good enough.
The suggested workaround is to grant insert access directly to the userid, or to grant insert access to all tables in the database using the ALL keyword.
as explained you need to have previlages to create terasync table on the database where you have your table that you are reading/writing
teradata ent uses this table to log the sql commands that it is using aganist the table that you are reading/writing and terasync table that you created.
if yo specify APT_TERA_SYNC_DATABASE env variable at job level or project level [search for that string in this form you might find lot of posts] teradata ent stage will create terasync table in that database by any chance if your id that you are using on teredata ent stage doesnt have permissions to create table , delete , insert , update permissions on that database where you are creating terasync table your operation will fail.
now coming to the follwing error , contact IBM to get a patch. datastage used to check the permissions they are not doing it anymore better you get the patch
select * from dbc.userrights where databasename = 'dbname'
and (tablename = 'xxxxxx' or tablename = 'all') and accessright = 'I'
teradata ent uses this table to log the sql commands that it is using aganist the table that you are reading/writing and terasync table that you created.
if yo specify APT_TERA_SYNC_DATABASE env variable at job level or project level [search for that string in this form you might find lot of posts] teradata ent stage will create terasync table in that database by any chance if your id that you are using on teredata ent stage doesnt have permissions to create table , delete , insert , update permissions on that database where you are creating terasync table your operation will fail.
now coming to the follwing error , contact IBM to get a patch. datastage used to check the permissions they are not doing it anymore better you get the patch
select * from dbc.userrights where databasename = 'dbname'
and (tablename = 'xxxxxx' or tablename = 'all') and accessright = 'I'
Thanks & Regards
Pratap Bhimireddy
Pratap Bhimireddy