1

SAP システムから Unix データベースにアクセスしたいと考えています。cl_sql_connection クラスを使用して接続を開きました。このクラスは、EHP7 へのアップグレード前は問題なく動作していました。しかし、現在、Stabdard SAP トランザクション (SE16、SE11...) でテーブル 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.

他のサーバーに接続できる他の方法はありますか?

4

1 に答える 1

2

はいあります。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
于 2015-03-05T12:50:24.157 に答える