Powershell从

时间:2016-07-29 13:33:53

标签: sql-server csv powershell

我有一个从SQL导入的数据表,它有两列。一个是国家代码,另一个是国家/地区名称。

Country Code table

我有CVS导入的国家/地区名称,我希望浏览每个国家/地区名称的数据表并获取相应的国家/地区代码。

如果它是SQL我可以这样做,但我想不出在PowerShell中如何最好地实现这一点。我当然可以将每个国家/地区名称传递给SQL并查询国家/地区代码但是大约有。 csv文件中有7000个条目。

我有以下代码导入csv文件,我可以遍历其中的对象

$path = "C:\Temp\myImport.csv"
$import = import-csv $path

foreach($object in $import){

}

1 个答案:

答案 0 :(得分:0)

只需为每一行执行插入。

$SQLInsertFormat="insert into [table name goes there]([columns goes there]) values ({0},{1})"

$SQLConnectionString = "[connection string goes there]"
$SQLCmd = New-Object System.Data.SqlClient.SqlCommand
$SQLCmd.CommandType = [System.Data.CommandType]::Text

$SQLCmd.Connection = $SQLConnectionString
$SQLCmd.Connection.Open()
$path = "C:\Temp\myImport.csv"
$import = import-csv $path

foreach($object in $import){
    $SQLCmd.CommandText = $SQLInsertFormat -f $object.CountryCode, $object.UpperCase
    $SQLCmd.ExecuteNonQuery()
}

$SQLCmd.Connection.Close()