我想从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.
我可以通过其他方式连接到其他服务器吗
是的。您可以使用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