Powershell CSV到SQL查询 [英] Powershell CSV to SQL Query

查看:47
本文介绍了Powershell CSV到SQL查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我回到了对Powershell的持续学习中,我已经达到了我的能力极限.因此,想知道是否有人可以向正确的方向扔我,或者告诉我我想做的事情是否可行?

我编写了一个脚本,该脚本从网络下载许多文件,然后删除除我希望使用的数据之外的所有文件.这些是.csv的...

我已经添加了到目前为止我设法拼凑的Powershell代码,下载数据时请参见下文.这些文件之一的数据提取看起来像这样.

A列包含说明

B列包含一个ISIN(这是工作信息)

C列包含一个数字

D列是我希望将SQL查询数据返回到的地方

请找到示例数据的链接

我接下来要实现的是基于B列中的数据运行以下SQL命令

 选择*从CL如果在CLISIN('GB0004835483','BE0003793107','GB00B7V2GY97','GB0000595859','GB00B1VCNQ84','GB0004992003','GB0002369352') 

我认为可能需要将此文件导出为另一个文件?尽管使用了导出的最终结果,我仍然需要将这些结果放置在此csv文件的D列中.

希望我已经阐明了这一点,如果没有的话,请告诉我,我将尽可能地广泛.

总之,我可以使用powershell为B列中的每个项目自动运行查询,并将匹配查询的结果添加到D列中的相关行吗?

我无法通过google找到答案,也无法在这里...

  ####下载位置####$ DownloadPTMLocation ="L:\ Operations Database \ TakeOverPanel \ PTMDisclosureTable.xls"$ DownloadPTMCSVLocation ="L:\ Operations Database \ TakeOverPanel \ PTMDisclosureTable.csv"$ DownloadIPTMLocation ="L:\ Operations Database \ TakeOverPanel \ IPTMDisclosureTable.xls"$ DownloadIPTMCSVLocation ="L:\ Operations Database \ TakeOverPanel \ IPTMDisclosureTable.csv"#### WEB URLS ###$ PTMURL ="http://www.thetakeoverpanel.org.uk/new/disclosureTable/v3/disclosuretable.xls"$ PTMCSVURL ="http://www.thetakeoverpanel.org.uk/new/disclosureTable/v3/disclosuretable.csv"$ IPTMURL ="http://irishtakeoverpanel.ie/disclosure/disclosuretable.xls"$ IPTMCSVURL ="http://irishtakeoverpanel.ie/disclosure/disclosuretable.csv"$ Path =获取位置####加载Web服务####$ WebClient =新对象System.Net.WebClient####开始下载进程####写主机正在下载PTM文件1 of 4" $ Path -ForegroundColor绿色$ Url = $ PTMURL$ Path = $ DownloadPTMLocation$ WebClient.DownloadFile($ PTMURL,$ DownloadPTMLocation)写入主机正在下载IPTM文件2之3" $ Path -ForegroundColor蓝色$ Url = $ IPTMURL$ Path = $ DownloadIPTMLocation$ WebClient.DownloadFile($ IPTMURL,$ DownloadIPTMLocation)写入主机正在下载PTM Csv文件3之4" $ Path -ForegroundColor灰色$ Url = $ PTMCSVURL$ Path = $ DownloadPTMCSVLocation$ WebClient.DownloadFile($ PTMCSVURL,$ DownloadPTMCSVLocation)写主机正在下载IPTM文件4之4" $ Path -ForegroundColor红色$ Url = $ IPTMCSVURL$ Path = $ DownloadIPTMCSVLocation$ WebClient.DownloadFile($ IPTMCSVURL,$ DownloadIPTMCSVLocation)####################### PTM ###Custom Vars$ DownloadPTMCSVLocation ="L:\ Operations Database \ TakeOverPanel \ PTMDisclosureTable.csv"$ OutputPTMCSVLocation ="L:\ Operations Database \ TakeOverPanel \ PTMDisclosureTableb.csv"$ Match ="ISIN"$ Matchs ="NSI"##去除不包含ISIN的所有行##(获取内容$ DownloadPTMCSVLocation)-match $ Match |文件外$ OutputPTMCSVLocation删除项$ DownloadPTMCSVLocation重命名项$ OutputPTMCSVLocation -NewName $ DownloadPTMCSVLocation(获取内容$ DownloadPTMCSVLocation)-匹配$ Matchs |文件外$ OutputPTMCSVLocation删除项$ DownloadPTMCSVLocation重命名项$ OutputPTMCSVLocation -NewName $ DownloadPTMCSVLocation获取内容$ DownloadPTMCSVLocation |%{$ _-替换'ISIN:',''} |%{$ _-替换'NSI:',''} |设置内容$ OutputPTMCSVLocation 

因此,要进一步研究并解决问题(一旦返回SQL查询更多),这是到目前为止的工作代码...

  ############# 开始 #################下载位置####$ DownloadPTMCSVLocation ="L:\ Operations Database \ TakeOverPanel \ PTMDisclosureTable.csv"$ OutputPTMCSVLocation ="L:\ Operations Database \ TakeOverPanel \ PTMDisclosureTableb.csv"#### WEB URLS ###$ PTMCSVURL ="http://www.thetakeoverpanel.org.uk/new/disclosureTable/v3/disclosuretable.csv"$ Path =获取位置####加载Web服务####$ WebClient =新对象System.Net.WebClient####开始下载进程####写入主机正在下载PTM Csv" $ Path -ForegroundColor灰色$ Url = $ PTMCSVURL$ Path = $ DownloadPTMCSVLocation$ WebClient.DownloadFile($ PTMCSVURL,$ DownloadPTMCSVLocation)####################### PTM ##$ Match ="ISIN"$ Matchs ="NSI"导入-CSV $DownloadPTMCSVLocation -Header @("A", "ISIN", "NSI", "Output") |#导入CSV其中{$ _.ISIN-类似"ISIN:????????????"-和$ _.NSI一样的"NSI:*"} |#过滤行Foreach-Object {$ _.ISIN = $ _.ISIN.Replace("ISIN:",")$ _.NSI = $ _.NSI.Replace("NSI:",")$ query =选择CLIALPHASORTCODE,vl2securitynum,sum(cast(vl2beneficial as float))为有益从t5vaultsl2 vl2左外加入t5client cli在vl2.VL2CLIENTNUM = cli.CLICODE上其中vl2.vl2securitynum ='$($ _.ISIN)'通过CLIALPHASORTCODE分组,VL2SECURITYNUM"##证书##$ MISA ='xx.xx.x.xx'$ MISB ='xx.xx.x.xx'$ userName ='联合国'$ PassWord ='PW'$ DB ='正在报告'##创建MIS凭证##$ SqlConnection =新对象System.Data.SqlClient.SqlConnection$ SqlConnection.ConnectionString =数据源= $ MISA;初始目录= $ DB;初始目录= $ DB;用户ID = $ userName;密码= $ PassWord;"##-从设置位置运行脚本$ SqlCmd =新对象System.Data.SqlClient.SqlCommand;$ SqlCMD.CommandText = $查询;$ SqlCmd.Connection = $ SqlConnection; 

所以脚本现在如下...

#### 下载位置####$ DownloadPTMCSVLocation ="L:\ Operations Database \ TakeOverPanel \ PTMDisclosureTable.csv"$ OutputPTMCSVLocation ="L:\ Operations Database \ TakeOverPanel \ PTMDisclosureTableb.csv"$ ExportLocation ="L:\ Operations Database \ TakeOverPanel \ test.csv"$ ExportLocationb ="L:\ Operations Database \ TakeOverPanel \ test.xml"#### WEB URLS ###$ PTMCSVURL ="http://www.thetakeoverpanel.org.uk/new/disclosureTable/v3/disclosuretable.csv"$ Path =获取位置####加载Web服务####$ WebClient =新对象System.Net.WebClient####开始下载进程####写主机下载 PTM Csv" $Path -ForegroundColor 灰色$ Url = $ PTMCSVURL$ Path = $ DownloadPTMCSVLocation$ WebClient.DownloadFile($ PTMCSVURL,$ DownloadPTMCSVLocation)#################### 询问  ####################$ query = @选择CLIALPHASORTCODE,vl2securitynum,sum(cast(vl2beneficial as float)作为受益)从t5vaultsl2 vl2左外加入t5client cli在vl2.VL2CLIENTNUM = cli.CLICODE上其中vl2.vl2securitynum ='$($ _.ISIN)'通过CLIALPHASORTCODE,VL2SECURITYNUM分组"@;####################################$ Match ="ISIN"$ Matchs ="NSI"##准备SQL ##$ MISA ='xx.xx.x.xx'$ MISB ='xx.xx.x.xx'$ userName ='联合国'$ PassWord ='PW'$ DB ='正在报告'##创建SQL连接##$ SqlConnection =新对象System.Data.SqlClient.SqlConnection"$ SqlConnection.ConnectionString ="数据源= $ MISA;初始目录= $ DB;初始目录= $ DB;用户ID = $ userName;密码= $ PassWord;$ SqlConnection.Open()# 把所有东西都放在一个 Try 块中,所以如果有错误,SQL#连接仍然关闭尝试{$ SqlCmd = $ SqlConnection.CreateCommand()##处理CSV ##Import-Csv $ DownloadPTMCSVLocation-标头@("A","ISIN","NSI",输出")|#导入CSV其中{$ _.ISIN-类似"ISIN:????????????"-和$ _.NSI一样的"NSI:*"} |#过滤行Foreach-Object {$ _.ISIN = $ _.ISIN.Replace("ISIN:",")$ _.NSI = $ _.NSI.Replace("NSI:",")#从SQL获取数据$ query =选择CLIALPHASORTCODE,vl2securitynum,sum(cast(vl2beneficial as float))受益于t5vaultsl2 vl2在vl2上从左外部加入t5client cli.通过CLIALPHASORTCODE分组,VL2SECURITYNUM"$ SqlCmd.CommandText = $查询$结果= $ SqlCmd.ExecuteReader()$ table =新对象"System.Data.DataTable"$ table.Load($ result)$ t = $ table.Vl2有益#通过管道传递行$ _.输出= $ table.VL2有益$ table |Export-Clixml $ ExportLocationb写输出$ _} |Export-Csv $ OutputPTMCSVLocation -NoTypeInformation}最后{#即使遇到错误,也始终关闭SQL连接.$ SqlConnection.Close()} 

解决方案

  ## PTM ##$ Match ="ISIN"$ Matchs ="NSI"##准备SQL ##$ MISA ='xx.xx.x.xx'$ MISB ='xx.xx.x.xx'$ userName ='联合国'$ PassWord ='PW'$ DB ='正在报告'##创建SQL连接##$ SqlConnection =新对象System.Data.SqlClient.SqlConnection"$ SqlConnection.ConnectionString ="数据源= $ MISA;初始目录= $ DB;初始目录= $ DB;用户ID = $ userName;密码= $ PassWord;$ SqlConnection.Open()#将所有内容放在Try块中,以便在出现错误时SQL#连接仍然关闭尝试{$ SqlCmd = $ SqlConnection.CreateCommand()##处理CSV ##Import-Csv $ DownloadPTMCSVLocation-标头@("A","ISIN","NSI",输出")|#导入CSV其中{$ _.ISIN-类似"ISIN:????????????"-和$ _.NSI一样的"NSI:*"} |#过滤行Foreach-Object {$ _.ISIN = $ _.ISIN.Replace("ISIN:",")$ _.NSI = $ _.NSI.Replace("NSI:",")# 从 SQL 中获取数据$ query =选择CLIALPHASORTCODE,vl2securitynum,sum(cast(vl2beneficial as float))受益于t5vaultsl2 vl2在vl2上从左外部加入t5clientcli.VL2CLIENTNUM= cli.CLICODE,其中vl2.vl2securitynum ='$($ _.ISIN)'通过CLIALPHASORTCODE分组,VL2SECURITYNUM"$ SqlCmd.CommandText = $查询$结果= $ SqlCmd.ExecuteReader()$ table =新对象"System.Data.DataTable"$ table.Load($ result)#通过管道传递行$ _.输出= $ table.VL2有益写输出$ _} |Export-Csv $ OutputPTMCSVLocation -NoTypeInformation}最后{#即使遇到错误,也始终关闭SQL连接.$ SqlConnection.Close()} 

基本上,我删除了所有文件重命名,因为它完全没有必要(如果需要,可以使用变量进行此类操作),Import-Csv返回一个对象数组,每行一个对象,因此我将它们通过管道传递给过滤器(其中将ISIN检查为仅12个字符),然后循环执行以对数据进行排序.

I am back on my on-going learning into powershell, I have hit the limits of my capabilities. So wondering if anyone can throw me in the right direction and or tell me if what I am wanting to do is possible?

I have written a script which downloads a number of file(s) from the web and then deletes out all but the data that I wish to work with. These are .csv's...

I have added the Powershell code that I have managed to cobble together so far, when the data is downloaded see below. The data extract of one of these files looks like this.

Column A contains a description

Column B contains an ISIN (this is the working information)

Column C contains a numerical figure

Column D is where I want the SQL query data to be returned to

Please find a link to the sample data Data Example Data Example

What I then want to achieve is to run the following SQL command based on the data within Column B

Select *
From CL
Where CLISIN in ('GB0004835483',
'BE0003793107',
'GB00B7V2GY97',
'GB0000595859',
'GB00B1VCNQ84',
'GB0004992003',
'GB0002369352')

I believe that I will need to export this as another file perhaps? Though using the final results that are exported I then need to place these within Column D in this csv file.

Hoping that I have made this clear, if not please let me know and I will be as expansive as possible.

Long and the short is can I use powershell to automatically run a query for each item in column B and add the results of that matching query to the correlating line in column D?

I cannot find the answer via google nor here...

#### DOWNLOAD LOCATIONS ####
$DownloadPTMLocation =  "L:\Operations Database\TakeOverPanel\PTMDisclosureTable.xls"
$DownloadPTMCSVLocation =  "L:\Operations Database\TakeOverPanel\PTMDisclosureTable.csv"
$DownloadIPTMLocation = "L:\Operations Database\TakeOverPanel\IPTMDisclosureTable.xls"
$DownloadIPTMCSVLocation = "L:\Operations Database\TakeOverPanel\IPTMDisclosureTable.csv"

#### WEB URLS ###
$PTMURL = "http://www.thetakeoverpanel.org.uk/new/disclosureTable/v3/disclosuretable.xls"
$PTMCSVURL = "http://www.thetakeoverpanel.org.uk/new/disclosureTable/v3/disclosuretable.csv"
$IPTMURL = "http://irishtakeoverpanel.ie/disclosure/disclosuretable.xls"
$IPTMCSVURL = "http://irishtakeoverpanel.ie/disclosure/disclosuretable.csv"

$Path = Get-Location

#### Load Web Service #### 
$WebClient = New-Object System.Net.WebClient

#### Start download Process ####
Write-Host "Downloading PTM File 1 of 4" $Path -ForegroundColor Green
    $Url = $PTMURL
    $Path = $DownloadPTMLocation
    $WebClient.DownloadFile($PTMURL, $DownloadPTMLocation)

Write-Host "Downloading IPTM File 2 of 3" $Path -ForegroundColor Blue
    $Url = $IPTMURL 
    $Path = $DownloadIPTMLocation
    $WebClient.DownloadFile($IPTMURL, $DownloadIPTMLocation)

Write-Host "Downloading PTM Csv File 3 of 4" $Path -ForegroundColor Gray
    $Url = $PTMCSVURL
    $Path = $DownloadPTMCSVLocation
    $WebClient.DownloadFile($PTMCSVURL, $DownloadPTMCSVLocation)

Write-Host "Downloading IPTM File 4 of 4" $Path -ForegroundColor Red
    $Url = $IPTMCSVURL 
    $Path = $DownloadIPTMCSVLocation
    $WebClient.DownloadFile($IPTMCSVURL, $DownloadIPTMCSVLocation)



    #####################


    ## PTM ## 

#Customise Vars
$DownloadPTMCSVLocation = "L:\Operations Database\TakeOverPanel\PTMDisclosureTable.csv"
$OutputPTMCSVLocation = "L:\Operations Database\TakeOverPanel\PTMDisclosureTableb.csv"
$Match = "ISIN"
$Matchs = "NSI"

## Strips all lines that do not contain ISIN ##

(Get-Content $DownloadPTMCSVLocation) -match $Match | Out-File $OutputPTMCSVLocation

Remove-Item $DownloadPTMCSVLocation

Rename-Item $OutputPTMCSVLocation -NewName $DownloadPTMCSVLocation

(Get-Content $DownloadPTMCSVLocation) -match $Matchs | Out-File $OutputPTMCSVLocation

Remove-Item $DownloadPTMCSVLocation

Rename-Item $OutputPTMCSVLocation -NewName $DownloadPTMCSVLocation

Get-Content $DownloadPTMCSVLocation | % {
    $_ -replace 'ISIN: ',''
    } | % {
    $_ -replace 'NSI: ',''
    } | Set-Content $OutputPTMCSVLocation

So working on this further and having hit the wall (once more returning SQL query) here is the working code so far...

###########
## BEGIN ##
###########

#### DOWNLOAD LOCATIONS ####

$DownloadPTMCSVLocation =  "L:\Operations Database\TakeOverPanel\PTMDisclosureTable.csv"
$OutputPTMCSVLocation = "L:\Operations Database\TakeOverPanel\PTMDisclosureTableb.csv"


#### WEB URLS ###

$PTMCSVURL = "http://www.thetakeoverpanel.org.uk/new/disclosureTable/v3/disclosuretable.csv"


$Path = Get-Location

#### Load Web Service #### 
$WebClient = New-Object System.Net.WebClient

#### Start download Process ####


Write-Host "Downloading PTM Csv" $Path -ForegroundColor Gray
    $Url = $PTMCSVURL
    $Path = $DownloadPTMCSVLocation
    $WebClient.DownloadFile($PTMCSVURL, $DownloadPTMCSVLocation)



#####################


## PTM ## 

$Match = "ISIN"
$Matchs = "NSI"

Import-Csv $DownloadPTMCSVLocation -Header @("A", "ISIN", "NSI", "Output") | #Import the CSV
  Where { $_.ISIN -like "ISIN: ????????????" -and $_.NSI -like "NSI:*" } | #Filter rows
  Foreach-Object {
    $_.ISIN = $_.ISIN.Replace("ISIN: ", "")
    $_.NSI = $_.NSI.Replace("NSI: ", "")

    $query = "select CLIALPHASORTCODE, vl2securitynum, sum(cast(vl2beneficial as float)) as beneficial 
    from t5vaultsl2 vl2 left outer join t5client cli
    on vl2.VL2CLIENTNUM = cli.CLICODE

    where vl2.vl2securitynum = '$($_.ISIN)'

    group by CLIALPHASORTCODE, VL2SECURITYNUM"


##Credentials## 

$MISA = 'xx.xx.x.xx'
$MISB = 'xx.xx.x.xx'
$userName = 'UN'
$PassWord='PW'
$DB = 'reporting'


## CREATE MIS CREDENTIALS ##
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Data Source=$MISA;Initial Catalog=$DB;
Initial Catalog=$DB;User ID=$userName;Password=$PassWord;"

## - Runs Script from Set Location

$SqlCmd = New-Object System.Data.SqlClient.SqlCommand;
$SqlCMD.CommandText = $query;
$SqlCmd.Connection = $SqlConnection;

So script is now as follows...

#### DOWNLOAD LOCATIONS ####

$DownloadPTMCSVLocation =  "L:\Operations Database\TakeOverPanel\PTMDisclosureTable.csv"
$OutputPTMCSVLocation = "L:\Operations Database\TakeOverPanel\PTMDisclosureTableb.csv"
$ExportLocation = "L:\Operations Database\TakeOverPanel\test.csv"
$ExportLocationb = "L:\Operations Database\TakeOverPanel\test.xml"


#### WEB URLS ###

$PTMCSVURL = "http://www.thetakeoverpanel.org.uk/new/disclosureTable/v3/disclosuretable.csv"
$Path = Get-Location


#### Load Web Service #### 
$WebClient = New-Object System.Net.WebClient

#### Start download Process ####


Write-Host "Downloading PTM Csv" $Path -ForegroundColor Gray
    $Url = $PTMCSVURL
    $Path = $DownloadPTMCSVLocation
    $WebClient.DownloadFile($PTMCSVURL, $DownloadPTMCSVLocation)



################
#### Query  ####
################

$query = @"
    select CLIALPHASORTCODE, vl2securitynum, sum(cast(vl2beneficial as float)) as beneficial 
    from t5vaultsl2 vl2 left outer join t5client cli
    on vl2.VL2CLIENTNUM = cli.CLICODE

    where vl2.vl2securitynum = '$($_.ISIN)'

    group by CLIALPHASORTCODE, VL2SECURITYNUM
"@;


#####################################

$Match = "ISIN"
$Matchs = "NSI"

## Prepare SQL ##

$MISA = 'xx.xx.x.xx'
$MISB = 'xx.xx.x.xx'
$userName = 'UN'
$PassWord='PW'
$DB = 'reporting'


## CREATE SQL Connection ##
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Data Source=$MISA;Initial Catalog=$DB;Initial Catalog=$DB;User ID=$userName;Password=$PassWord;"
$SqlConnection.Open()

# Put everything in a Try block so if there is an error the SQL
# connection is still closed
try
{
    $SqlCmd = $SqlConnection.CreateCommand()

    ## Process CSV ##

    Import-Csv $DownloadPTMCSVLocation -Header @("A", "ISIN", "NSI", "Output") | #Import the CSV
      Where { $_.ISIN -like "ISIN: ????????????" -and $_.NSI -like "NSI:*" } | #Filter rows
      Foreach-Object {
        $_.ISIN = $_.ISIN.Replace("ISIN: ", "")
        $_.NSI = $_.NSI.Replace("NSI: ", "")

        # Get data from SQL
        $query = "select CLIALPHASORTCODE, vl2securitynum, sum(cast(vl2beneficial as float)) as beneficial from t5vaultsl2 vl2 left outer join t5client cli on vl2.VL2CLIENTNUM = cli.CLICODE where vl2.vl2securitynum = '$($_.ISIN)' group by CLIALPHASORTCODE, VL2SECURITYNUM"

        $SqlCmd.CommandText  = $query
        $result = $SqlCmd.ExecuteReader()
        $table = New-Object "System.Data.DataTable"
        $table.Load($result)

        $t = $table.Vl2Beneficial

        # Pass row on through the pipeline
        $_.Output = $table.VL2Beneficial

        $table | Export-Clixml $ExportLocationb

        Write-Output $_
    } | Export-Csv $OutputPTMCSVLocation -NoTypeInformation
}
finally
{
    # Always close SQL connection even if error is encountered.
    $SqlConnection.Close()
}

解决方案

## PTM ## 

$Match = "ISIN"
$Matchs = "NSI"

## Prepare SQL ##

$MISA = 'xx.xx.x.xx'
$MISB = 'xx.xx.x.xx'
$userName = 'UN'
$PassWord='PW'
$DB = 'reporting'

## CREATE SQL Connection ##
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Data Source=$MISA;Initial Catalog=$DB;Initial Catalog=$DB;User ID=$userName;Password=$PassWord;"
$SqlConnection.Open()

# Put everything in a Try block so if there is an error the SQL
# connection is still closed
try
{
    $SqlCmd = $SqlConnection.CreateCommand()

    ## Process CSV ##

    Import-Csv $DownloadPTMCSVLocation -Header @("A", "ISIN", "NSI", "Output") | #Import the CSV
      Where { $_.ISIN -like "ISIN: ????????????" -and $_.NSI -like "NSI:*" } | #Filter rows
      Foreach-Object {
        $_.ISIN = $_.ISIN.Replace("ISIN: ", "")
        $_.NSI = $_.NSI.Replace("NSI: ", "")

        # Get data from SQL
        $query = "select CLIALPHASORTCODE, vl2securitynum, sum(cast(vl2beneficial as float)) as beneficial from t5vaultsl2 vl2 left outer join t5client cli on vl2.VL2CLIENTNUM = cli.CLICODE where vl2.vl2securitynum = '$($_.ISIN)' group by CLIALPHASORTCODE, VL2SECURITYNUM"

        $SqlCmd.CommandText  = $query
        $result = $SqlCmd.ExecuteReader()
        $table = New-Object "System.Data.DataTable"
        $table.Load($result)

        # Pass row on through the pipeline
        $_.Output = $table.VL2Beneficial

        Write-Output $_
    } | Export-Csv $OutputPTMCSVLocation -NoTypeInformation
}
finally
{
    # Always close SQL connection even if error is encountered.
    $SqlConnection.Close()
}

Basically I threw out all the file renaming as it's completely unnecessary (use variables for that sort of thing if you need to), Import-Csv returns an array of objects, one for each row so I pipe them to the filter (where ISIN is checked to be 12 chars only) then loops through sorting out the data.

这篇关于Powershell CSV到SQL查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆