迁移到 EHP7 后无法访问 DBCONN

Unable to access DBCONN after migration to EHP7

我想从我的 SAP 系统访问 Unix 数据库。 我正在使用 cl_sql_connection class 打开连接。 class 在升级到 EHP7 之前工作正常。 但是,现在,我无法在任何 Stabdard SAP 事务(SE16、SE11...)

中访问 table DBCONN

以下是我的代码,自 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.

的(较旧的)变体

但在你这样做之前,请使用 SE38 中的 ADBC_TEST_CONNECTION 检查连接。

您还可以通过探索您拥有的异常对象来获得更多详细信息。这是我通常的做法:

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