将 SQL 服务器连接到 SAP 后端(也是 SQL 服务器)
Connect SQL Server to SAP Backend (also a SQL Server)
我正在尝试将我的 SQL 服务器直接连接到 SAP 后端数据库,这样我就不必每天使用 SSIS 包提取数据(对于新数据)。
相反,我想创建将直接访问此数据(直接查询)并定期刷新的视图。
谁能给我 link 或 show/tell 我如何执行此操作的步骤?
如果你知道后端服务器的主机名,你可以这样做:
SELECT TOP 1 * FROM hostname.databasename.dbo.tablename
如果您想在 SAP 中直接从外部 SQL 服务器访问数据,您可以在事务 DBCO 中定义与外部数据库的连接:
然后在您的 ABAP 代码中,您可以使用 OPEN SQL:
编写 SQL 语句
EXEC SQL.
CONNECT TO my_new_connection.
ENDEXEC.
...
EXEC SQL.
SELECT * INTO TABLE :lt_internal_table FROM dbtable.
ENDEXEC.
...
EXEC SQL.
DISCONNECT my_new_connection.
ENDEXEC.
或使用 类 CL_SQL_CONNECTION, CL_SQL_STATEMENT
。示例程序 ADBC_DEMO
展示了如何使用它。
我正在尝试将我的 SQL 服务器直接连接到 SAP 后端数据库,这样我就不必每天使用 SSIS 包提取数据(对于新数据)。
相反,我想创建将直接访问此数据(直接查询)并定期刷新的视图。
谁能给我 link 或 show/tell 我如何执行此操作的步骤?
如果你知道后端服务器的主机名,你可以这样做:
SELECT TOP 1 * FROM hostname.databasename.dbo.tablename
如果您想在 SAP 中直接从外部 SQL 服务器访问数据,您可以在事务 DBCO 中定义与外部数据库的连接:
然后在您的 ABAP 代码中,您可以使用 OPEN SQL:
编写 SQL 语句EXEC SQL.
CONNECT TO my_new_connection.
ENDEXEC.
...
EXEC SQL.
SELECT * INTO TABLE :lt_internal_table FROM dbtable.
ENDEXEC.
...
EXEC SQL.
DISCONNECT my_new_connection.
ENDEXEC.
或使用 类 CL_SQL_CONNECTION, CL_SQL_STATEMENT
。示例程序 ADBC_DEMO
展示了如何使用它。