将数据从csv文件插入sql或直接从远程计算机将数据插入SQL Server

时间:2015-11-05 08:38:33

标签: sql sql-server csv powershell

我在网络上有多个远程计算机,它们上面有一个csv文件,存储在由PowerShell脚本创建的同一位置。

将数据插入Microsoft Sql Server Express数据库的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

执行此操作的一种方法是将所有服务器中的所有CSV文件收集到脚本服务器。然后从脚本服务器运行SQL Invoke-SQLCmd2查询,将数据放入SQL表中。

如我之前的answers之一所述,您可以使用此module INSERT来执行此操作。

另一方面,当您不想首先收集所有CSV文件时,正在从具有CSV文件的每个服务器运行SQL Import-Module -Name '\\SCRIPTSERVER\C$\Windows\system32\WindowsPowerShell\v1.0\Modules\Invoke-SQL' 查询。为此,您必须连接到其他服务器,然后从脚本服务器导入模块,以便您可以使用它:

with products as
(
select 1001 as product_id,  'Bananas' as product_name from dual union all
select 1002 as product_id,  'Apples' as product_name from dual union all
select 1003 as product_id,  'Pears' as product_name from dual union all
select 1004 as product_id,  'Oranges' as product_name from dual
)
SELECT LISTAGG(rn||'. '|| product_name, CHR(13)) WITHIN GROUP (ORDER BY product_name) "Product_Listing" 
FROM
   (SELECT product_id, product_name, row_number() over (order by product_name) as rn
      FROM products)