2016-07-29 60 views
1

我有一個數據表,我從SQL中導入了兩列。一個是國家代碼,另一個是國家名稱。Powershell從datatable中選擇值其中

Country Code table

我有國名的CVS進口,我想通過數據表與每個國家的名字,並得到其相應的國家代碼。

如果是SQL我可以做到這一點,但我想不出在PowerShell中如何最好地實現這一點。我當然可以通過每個國家的名稱到SQL和查詢國家代碼,但有約。 csv文件中的7000個條目。

我有以下代碼導入CSV文件,我可以通過對象中迭代它

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

foreach($object in $import){ 

} 
+0

因此...您需要在PowerShell的幫助下從SQL Server中的CSV文件加載數據? – gofr1

回答

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()