【问题标题】:Powershell select value from datatable wherePowershell 从数据表中选择值 where
【发布时间】:2016-12-04 06:08:28
【问题描述】:

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

我有一个国家名称的 CVS 导入,我想通过每个国家名称的数据表并获取其对应的国家代码。

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

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

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

foreach($object in $import){

}

【问题讨论】:

  • 所以...您需要借助 PowerShell 从 SQL Server 中的 CSV 文件加载数据?

标签: sql-server csv powershell


【解决方案1】:

只需对每一行执行插入。

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

【讨论】:

    猜你喜欢
    • 2020-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-11
    • 2020-12-20
    • 1970-01-01
    • 1970-01-01
    • 2016-02-03
    相关资源
    最近更新 更多