Не удалось получить доступ к 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.

Есть ли другой способ подключения к другому серверу?


person Piyush aggarwal    schedule 05.03.2015    source источник


Ответы (1)


Да, есть. Вы можете использовать (старый) вариант 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
person Mikael G    schedule 05.03.2015
comment
Попытка ADBC_TEST_CONNECTION => Я получаю сообщение об ошибке: Не удалось открыть соединение G100-ACMM-INT . Произошла ошибка sql 12.154: con=2(p550i01-i01:1521/DBUISS10): ORA-12154: TNS: не удалось разрешить указанный идентификатор подключения - person Piyush aggarwal; 09.03.2015
comment
Кроме того, я хочу получить доступ к серверу Unix (Oracle). Пожалуйста, предложите что-нибудь - person Piyush aggarwal; 09.03.2015
comment
Я пробовал EXEC SQL. ПОДКЛЮЧИТЕСЬ К 'G100-ACMM-INT' ENDEXEC. Он возвращает SY-SUBRC = 4 - person Piyush aggarwal; 09.03.2015
comment
Узнайте у своих сотрудников BASIS об обновлении EHP7. Они сменили хозяина? Они изменили сетевое расположение? Дайте им сообщение об ошибке от ADBC_TEST_CONNECTION. Совершенно очевидно, что системе SAP не разрешено открывать соединение с указанным сервером/портом. Либо из-за брандмауэра, либо из-за неизвестного имени хоста. - person Mikael G; 13.03.2015