2 votos

Tratando de usar la API SQL de Oracle PL/SQL en CartoDB

Estoy tratando de hacer una llamada http desde un servidor de Oracle a CartoDB. Para hacerlo, he desarrollado un paquete PL/SQL personalizado que generará el SQL y hará las llamadas. Una muestra de la llamada API se muestra a continuación. El estado de retorno parece ser un problema de permisos ({"error":["permission denied for relation address"]})

¿Alguna idea?

http://mycompany.cartodb.com/api/v2/sql?q=INSERT
INTO address(address_id,street_number,city,state,zip_code)  SELECT
'BBE20140321095101832AM5656' address_id, '3469 Shelby Ganges Road'
street_number, 'Shelby' city, 'Ohio' state, '44875' zip_code WHERE NOT EXISTS (
select 1 from ADDRESS WHERE ADDRESS_ID =
'BBE20140321095101832AM5656')&api_key=488e214c52f78b55f2fe9c05daef94074c7e3cd2

1voto

Rob H Puntos 101

Bueno, antes de responder, algunos puntos:

  1. Aunque veo que el dominio está oculto, nunca debes publicar tu api_key.
  2. Cuando uses la api_key debes siempre usar https, no http (y tal vez CartoDB debería hacer cumplir esto).

Ahora, considerando tu error, mi suposición más obvia sería que la api_key está incorrecta o no está siendo pasada correctamente a la API. El error básicamente dice que el usuario que ejecuta la consulta no tiene permisos, pero considerando que estás pasando la api_key, lo cual hace que la consulta se ejecute como propietario de la base de datos, mi mejor suposición es que la api_key no está siendo interpretada correctamente. Mi mejor apuesta sería:

  1. La api_key es incorrecta
  2. Algo en la consulta está haciendo que la api_key sea ignorada, intenta codificar el SQL como un parámetro de URL.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X