是否可以在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');