【发布时间】: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