Невозможно загрузить данные с помощью инструмента загрузки IBM DB2 - PullRequest
0 голосов
/ 19 апреля 2020

Я пытаюсь загрузить определенный набор данных для курса, но он продолжает терпеть неудачу и упоминает, что у меня нет необходимой авторизации

Error for batch element #1: The statement failed because the authorization ID does not have the required authorization or privilege to perform the operation. Authorization ID: "HLZ16072". Operation: "CREATE TABLE". Object: "DB2INST1.SCHOOL".. SQLCODE=-551, SQLSTATE=42501, DRIVER=4.26.14

Количество вхождений: 1

Изменения в таблице ошибок отсутствуют, когда я использую схему ошибок, я понимаю, что мне нужно предоставить доступ с правами доступа DATAACCESS , но я все еще не могу понять, как предоставить себе необходимые разрешения для загрузки файла CSV .

Снимок экрана

Выше приведен результат: ВЫБРАТЬ ГРАНТУ, ГРАНТИТИП, SECURITYADMAUTH, DATAACCESSAUTH ИЗ SYSCAT.DBAUTH ГДЕ Y 'В (SECURITYADMAUTH, DATAACCESSAUTH) 1014 *

1 Ответ

1 голос
/ 19 апреля 2020

Кажется, что ваш пользователь HLZ16072 не имеет права создавать таблицы в схеме DB2INST1, и вы не можете получить информацию о пользователе, который может предоставить вам такую ​​возможность (RCA C в таблицах системного каталога?).
Итак, вы должны либо найти своего администратора базы данных и спросить его / ее о такой возможности предоставить вам соответствующие привилегии, либо попытаться понять, по каким схемам вам разрешено создавать таблицы. в. Вы должны попытаться использовать схему HLZ16072 вместо DB2INST1, которая, вероятно, подходит вам. Или попробуйте выполнить следующую инструкцию выбора, чтобы найти такие схемы.

SELECT DISTINCT (P.OBJECTSCHEMA) AS SCHEMA 
--P.PRIVILEGE, P.OBJECTTYPE, P.OBJECTSCHEMA, P.OBJECTNAME, U.AUTHID, U.AUTHIDTYPE
FROM SYSIBMADM.PRIVILEGES P
CROSS JOIN TABLE(VALUES 'HLZ16072') A (AUTHID)
JOIN TABLE 
(
SELECT GROUP, 'G' FROM table(AUTH_LIST_GROUPS_FOR_AUTHID(A.AUTHID))
  UNION ALL
select ROLENAME, 'R' from table(AUTH_LIST_ROLES_FOR_AUTHID(A.AUTHID, 'U'))
  UNION ALL
SELECT * FROM TABLE(VALUES ('PUBLIC', 'G'), (A.AUTHID, 'U')) T (AUTHID, AUTHIDTYPE)
) U (AUTHID, AUTHIDTYPE) ON U.AUTHID=P.AUTHID AND U.AUTHIDTYPE=P.AUTHIDTYPE
WHERE P.PRIVILEGE='CREATEIN';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...