我想将文本文件读入变量并使用Powershell在SQL Server中插入该变量

时间:2017-09-14 14:43:24

标签: sql-server powershell

我创建了以下代码

$a = Get-Content sample_Cntl.TXT
$a
$e= $a.Substring(84,5)
$e
$server=server_name
$db=database_name

Invoke-Sqlcmd -Query "INSERT INTO table_name VALUES ('4070','12','0.0','0.0',$e,'6.31');" -ServerInstance $server -Database $db

我想在数据库表中插入$ e和其他值,但这都是错误的。

我得到的是$ a value as

............................................... ........................... 201703 ... 06.31

我想获得$ e = 201703并将其插入表中。

感谢您的任何帮助。

1 个答案:

答案 0 :(得分:0)

$e是一个数组,或者某种程度上没有为INSERT语句保存适当的数据项。您可能需要遍历数组并一次提供单个值。尝试这样的事情:

$a = Get-Content sample_Cntl.TXT
$e= $a.Substring(84,5)
$server=server_name
$db=database_name
foreach($f in $e){
    Invoke-Sqlcmd -Query "INSERT INTO table_name VALUES ('4070','12','0.0','0.0',$f,'6.31');" -ServerInstance $server -Database $db
}