Не удалось получить доступ к DBCONN после перехода на EHP7
Я хочу получить доступ к базе данных Unix из моей системы SAP. Я использовал класс cl_sql_connection, чтобы открыть соединение. Этот класс работал отлично до перехода на EHP7. Но теперь я не могу получить доступ к таблице DBCONN в любой транзакции Stabdard SAP (SE16, SE11...)
Ниже приведен мой код, возвращающий исключение после обновления EPH7.
* Fetch data from the ACMM application, using db-links.
TRY.
CALL METHOD cl_sql_connection=>get_connection
EXPORTING
con_name = lw_dbcon_name
RECEIVING
con_ref = lo_sql_connection.
CATCH cx_sql_exception .
=>An exception occurred while opening SQL Connection
ENDTRY.
Является ли их другим способом, через который я могу подключиться к другому серверу?
Да, есть. Вы можете использовать (более старый) вариант EXEC SQL.
Но прежде чем вы это сделаете, проверьте соединение с помощью ADBC_TEST_CONNECTION в SE38.
Вы также можете получить более подробную информацию, исследуя объект исключения, который у вас есть. Вот как я обычно это делаю:
TRY.
EXEC SQL.
CONNECT TO 'ZUNIXDB_DBCON'
ENDEXEC.
EXEC SQL.
OPEN dbcur FOR
SELECT id FROM table
ENDEXEC.
CATCH cx_sy_native_sql_error INTO lr_cx_native_sql_error.
Теперь у вас есть информация:
lr_cx_native_sql_error->get_text( )
lr_cx_native_sql_error->get_longtext( )
lr_cx_native_sql_error->sqlmsg