我在一台机器上运行nifi实例,并在另一台机器上安装了SQL Server。如何从一台机器执行到SQLServer的大容量插入?
在这里,我可以尝试在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"
因“input.csv”在主机1机但在SQL服务器机器(主机2)运行查询
任何人都可以给我建议这样做吗?
你读过这个:[https://stackoverflow.com/questions/41489816/connect-sql-to-apache-nifi] –
@PrabhatG我已经试过这种方式。那些形式InsertQuery的每一行适用于少量的数据,但我有大量的数据,这就是为什么我选择批量插入操作。 –
批量插入:你的意思是调用'bcp' util? https://docs.microsoft.com/en-us/sql/tools/bcp-utility – daggett