Propósito
Encontré que acceder a las tablas en el contenedor HDI usando SAP BAS es un poco complicado y he estado lidiando con cómo usar el editor de formularios para sinónimos. Aquí hay un consejo para alguien que podría haber estado en el mismo dilema que yo, o para quien no quiere perder tiempo investigando y dando vueltas tratando de encontrar la razón como yo hice.
Entorno
Una tabla ("city") y los datos se han generado en una fuente de datos externa - Data Lake cuya conexión ya está establecida en HANA Data Explore (Consulte otro blog si necesita enlazar fuentes de datos externas a HANA). Creé un esquema 'booking' en mi nube de HANA.
Nota: Necesita iniciar sesión en HANA Data Explore como usuario administrador con el privilegio de administrador de base de datos para gestionar objetos de base de datos. La forma de conectar recursos externos en SAP Web IDE puede ser un poco diferente y eventualmente SAP Web IDE desaparecerá y será reemplazado por BAS.
Se creó una tabla 'city' en la fuente de datos remota 'BLLAKE' como
Luego se montó la tabla 'city' en mi HANA DB BLHANA como una tabla virtual bajo el esquema 'booking'
También creé dos tablas llamadas 'AIRPLANE' y 'FLINFO' como se muestra a continuación en mi HANA DB directamente, bajo el mismo esquema 'booking'
Debería poder notar que la tabla virtual 'city' que hace referencia al Data Lake externo tiene un ícono de triángulo verde en la parte inferior.
Importé datos en ellos usando la función de importación en el Explorador de base de datos HANA... que son como
Bien ..... ahora ve al BTP Cockpit
En mi BTP cockpit, tengo 2 espacios definidos bajo mi subcuenta, uno para desarrollo, y otro para pruebas.
Nota: Los enlaces de la base de datos para HANA y Data Lake están configurados en el espacio 'dev' pero 'test' comparte el enlace que permite a los desarrolladores acceder a las bases de datos desde el espacio 'test'. Destinado a separar este proyecto de mis otros proyectos
Definir Acceso y rol
Esta es una parte muy importante para acceder a esquemas clásicos desde el contenedor HDI en BAS. ve a SAP Database Explorer nuevamente
Crea un usuario final 'BKUSER'
CREATE USER BKUSR PASSWORD "Password1" NO FORCE_FIRST_PASSWORD_CHANGE ;
Luego necesitas crear un rol que puedes hacer en SAP DE, alternativamente, también puedes hacer el rol en el cockpit de administrador de base de datos. Asigna los privilegios necesarios para gestionar y acceder a los datos en las tablas bajo el esquema 'BOOKING'
CREATE ROLE BOOKING_CROLE;
grant SELECT, UPDATE, INSERT, DELETE, EXECUTE, SELECT METADATA ON SCHEMA "BOOKING" TO BOOKING_CROLE with grant option;
Ahora otorga el rol al usuario final con la opción de administrador,
grant BOOKING_CROLE to BKUSR with admin option;
Ahora también los usuarios técnicos necesitan que se les otorgue el rol.
Ve a tu BTP cockpit y define una instancia HDI proporcionada por el usuario. Es "booking_external_access" en el espacio "test" en mi caso.
<