我在一台机器上运行 nifi 实例,在另一台机器上运行 SQL Server。
在这里,我可以尝试在 SQLserver 中使用批量插入查询来执行批量插入操作。但我无法从一台机器插入数据并将其移动到另一台机器的 SQL Server 中。
如果我在同一台机器上运行 nifi 和 SQL Server,那么我可以轻松地执行批量插入操作。
我已经配置了GetFile->ReplaceText(BulkInsertQuery)-->PutSQL
处理器。
我已经在单台机器上尝试了 nifi 和 sql server 然后批量插入工作但当两个实例在不同的机器上时不起作用。
我需要从一台机器上获取所有数据并编写一个查询来将该数据移动到另一台机器上运行的 SQL 中。
当 nifi 和 sql server 在同一台机器上时,下面的查询有效
BULK INSERT BI FROM 'C:\Directory\input.csv' WITH (FIRSTROW = 1, ROWTERMINATOR = '\n', FIELDTERMINATOR = ',', ROWS_PER_BATCH = 10000)
如果我在另一台机器上运行该查询,那么它说..,"FileNotFoundError"
由于 Host1 机器中的“input.csv”,但在 sql server 机器(host2)中运行查询
任何人都可以给我建议这样做吗?
SQL 查询正在托管 SQL Server 应用程序的计算机上执行。由于查询使用文件系统路径定义传入数据,因此尝试解析该路径的机器是 SQL 机器。该路径中不存在数据,因此无法加载。您有几个选择来处理这个问题:
GetFile
/PutFTP
或ExecuteStreamCommand
with RoboCopy
(Windows 模拟到rsync
)——这将完全避免将内容引入 NiFi 的成本。本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句