【问题标题】:INSERT data From IBM i-series database table into SNOWFLAKE database table using Linked server connection使用链接服务器连接将数据从 IBM i 系列数据库表插入 SNOWFLAKE 数据库表
【发布时间】:2020-05-28 22:49:45
【问题描述】:

从 IBM i 系列数据库(已创建链接服务器连接 -SOFT)表中插入数据到 SNOWFLAKE 数据库表(已创建链接服务器连接 -SF_64)

链接服务器连接(在其中一台 SQL 服务器中创建) SOFT - 与 IBM ISeries 数据库的链接服务器连接 SF_64 - 与 IBM Iseries 数据库的链接服务器连接

INSERT INTO [SF_64].[PROD].[REPORTING].[DPMPPHY_SSIS_TESTING]
SELECT * FROM OPENQUERY(SOFT, 'SELECT * FROM ABC.DPMPPHY')

在 SQL Server 中执行上述查询时出现以下错误

消息 7399,第 16 层,状态 1,第 1 行
链接服务器“SF_64”的 OLE DB 提供程序“MSDASQL”报告错误。提供商没有提供有关该错误的任何信息。
消息 7312,第 16 级,状态 1,第 1 行
链接服务器“SF_64”的 OLE DB 提供程序“MSDASQL”的架构或目录使用无效。提供了一个由四部分组成的名称,但提供者没有公开必要的接口来使用目录或架构。​​

【问题讨论】:

  • 为什么?您正在一个数据库引擎中执行查询,该查询从另一个(远程)引擎检索数据,以便将其插入另一个(远程)引擎。这没什么意义。我建议您重新审视导致这种方法的决策 - 链接服务器是出了名的脆弱、容易出错且难以调试。
  • 已经是从 ISeries DB 运行和加载到 MS SQL 服务器数据库的进程之一。我想使用相同的流程加载云数据库(Snowflake)。

标签: sql-server linked-server snowflake-cloud-data-platform openquery snowflake-schema


【解决方案1】:
INSERT INTO OPENQUERY(SF_64,'SELECT * FROM REPORTING.DPMPPHY_SSIS_TESTING') SELECT *FROM OPENQUERY(SOFT,'SELECT * FROM ABC.DPMPPHY') 

【讨论】:

    猜你喜欢
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-30
    • 1970-01-01
    • 2021-07-17
    相关资源
    最近更新 更多