2017-07-10 53 views
2

PowerShellを使用してCSVファイルからデータをインポートしたいとします。 ここに投稿された回答: How to import data from .csv in SQL Server using PowerShell? は魅力的です。PowerShellを使用してCSVファイルからSQL Serverに追加の列をインポートする

しかし、私はこのソリューションを構築したいと思います。ファイルに2つの列が含まれている場合(例:フィーチャー1、フィーチャー2、テーブルに3番目の列があることを希望します。名。目的は、異なる名前に対応する複数のファイルを1つのテーブルにロードすることです。

Feature1 | Feature2 | Name 
Value1 | Value2 | NameA 
Value3 | Value4 | NameA 
... 
Value5 | Value6 | NameB 

私はPowerShellを与える場合は、変数

$NameValue = "NameA" 

がどのようにコマンドでこれを正しく含まれます:

Import-CSV .\NameA.csv | ForEach-Object {Invoke-Sqlcmd ` 
    -Database $database -ServerInstance $server ` 
    -Query "insert into $table VALUES ('$($_.Feature1)','$($_.Feature2)', '$($NameValue.Name)')" 
    } 

現在、これは単なる機能の列を埋めますが、名前列は空白です。

+1

ちょうど '$ NameValue' – TessellatingHeckler

+0

感謝を。それはうまくいった。しかし、私は最初にそれを試したときに逃したものだと思います。 – PGHE

答えて

0

これは(あなたが文字列の中から変数のプロパティにアクセスしている場合を除き部分式$()演算子を使用する必要はありません)、それを実行する必要があります。

Import-CSV .\NameA.csv | ForEach-Object {Invoke-Sqlcmd ` 
    -Database $database -ServerInstance $server ` 
    -Query "insert into $table VALUES ('$($_.Feature1)','$($_.Feature2)', '$NameValue')" 
} 
関連する問題