如何在PowerShell SqlBulkCopy中使用格式文件(.fmt)?

时间:2018-03-16 17:41:20

标签: sql powershell format bulkinsert

是否可以在PowerShell SqlBulkCopy中使用格式文件(.fmt)?

我在PowerShell中有一个使用Data.SqlClient.SqlBulkCopy的脚本,但我找不到如何使用这种方法使用Format Files ...

我正在使用的是什么:

$bulkcopy = New-Object Data.SqlClient.SqlBulkCopy("connection string",
 [System.Data.SqlClient.SqlBulkCopyOptions]::TableLock) 
$bulkcopy.DestinationTableName = "table name"
$bulkcopy.bulkcopyTimeout = 0 
$bulkcopy.batchsize = 50000

我正在使用Stream Reader来读取要导入的文件:

$reader = New-Object System.IO.StreamReader("txt file", "encoding")

我可以在Stream Reader中设置分隔符:

$columns = (Get-Content "txt file" -First 1).Split("delimiter") 

并定义First Row是否为标题:

if ($isFirstRowHeader -eq $true) { 
$null = $reader.readLine()
}  

但我可以看到像SQL Server一样使用FORMATFILE(.fmt)的选项:

BULK INSERT myTestFormatFiles   
   FROM 'C:\myTestFormatFiles-c.Dat'   
   WITH (FORMATFILE = 'C:\myTestFormatFiles.Fmt');  

0 个答案:

没有答案