Conectar Sap Con Oracle

Esta consulta me parece muy interesante, mas que todo habiendo trabajado con base de datos oracle:

¿Qué parámetros (información) es necesaria para conectarse a una base de datos Oracle desde SAP? He estado investigando que debo generar un registro mediante la DBCO y colocar algunos parámetros:
El que no me queda claro es la información que debo colocar en el campo:

User:
Conn Info: Database-specific information for a database connection

Detalles: la BD esta en un servidor (es posible que el archivo TNSNAMES.ORA este relacionado?).

Gracias!!!

con que aplicación deseas conectarte a la base de datos?

Holaaaaa
Lo que tienes que hacer es:
Definir la referencia a base de datos externa con la transacción dbco.
Si tu sitema sap tine bd oracle, la base de datos externa la puedes agregarla en el tnsnames.ora, y luego usar esa referencia en la transacción dbco de SAP.

luebo en abap haces refeencia a la conexión definida por la tx dbco.


Abrir conexión

EXEC SQL.
CONNECT TO dbs [AS con]
ENDEXEC.


Seleccionar la conexión

Syntax

EXEC SQL.
SET CONNECTION {con|DEFAULT}
ENDEXEC.


La determinación de la conexión

Syntax

EXEC SQL.
GET CONNECTION :con
ENDEXEC.


Cerrar la conexion

Syntax

EXEC SQL.
DISCONNECT con
ENDEXEC.


Ejemplo

Inicia una conexión a una base de datos Oracle e importa todas las entradas de una columna en la tabla de base de SCARR.

PARAMETERS dbs TYPE dbcon-con_name.

DATA carrid_wa TYPE scarr-carrid.

DATA dbtype TYPE dbcon_dbms.

SELECT SINGLE dbms
FROM dbcon
WHERE con_name = @dbs
INTO @dbtype.

IF dbtype = ‘ORA’.
TRY.
EXEC SQL.
CONNECT TO :dbs
ENDEXEC.
IF sy-subrc <> 0.
RAISE EXCEPTION TYPE cx_sy_native_sql_error.
ENDIF.
EXEC SQL.
OPEN dbcur FOR
SELECT carrid
FROM scarr
WHERE mandt = :sy-mandt
ENDEXEC.
DO.
EXEC SQL.
FETCH NEXT dbcur INTO :carrid_wa
ENDEXEC.
IF sy-subrc <> 0.
EXIT.
ELSE.
cl_demo_output=>write( |{ carrid_wa }| ).
ENDIF.
ENDDO.
EXEC SQL.
CLOSE dbcur
ENDEXEC.
EXEC SQL.
DISCONNECT :dbs
ENDEXEC.
CATCH cx_sy_native_sql_error.
MESSAGE Error in Native SQL. TYPE ‘I’.
ENDTRY.
ENDIF.
cl_demo_output=>display( ).

Espero que esto te sirva
saludos

1 me gusta

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.