2016-07-29 4 views
1

두 개의 열이있는 SQL에서 가져온 데이터 테이블이 있습니다. 하나는 국가 코드이고 다른 하나는 국가 이름입니다.Powershell에서 데이터 테이블의 값을 선택하십시오.

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() 
관련 문제