Sql server 将CSV从PowerShell导入SQL Server

Sql server 将CSV从PowerShell导入SQL Server,sql-server,powershell,Sql Server,Powershell,我试图将CSV文件从PowerShell导入我的SQL Server数据库。我已经创建了包含列的数据库和表。我得到了需要导入的CSV文件中的数据 我尝试研究并发现了一些我修改过的代码,因此应该可以正常工作,但当我运行代码时,我发现了错误: 导入CsvToSql:exeption调用带有“1”的“writetoserver” 参数:“该事务与 “连接或已完成” 但是我还没有将数据导入到表中,所以我不知道出了什么问题 以下是我目前掌握的代码: Import-Module csvsqlimport I

我试图将CSV文件从PowerShell导入我的SQL Server数据库。我已经创建了包含列的数据库和表。我得到了需要导入的CSV文件中的数据

我尝试研究并发现了一些我修改过的代码,因此应该可以正常工作,但当我运行代码时,我发现了错误:

导入CsvToSql:exeption调用带有“1”的“writetoserver” 参数:“该事务与 “连接或已完成”

但是我还没有将数据导入到表中,所以我不知道出了什么问题

以下是我目前掌握的代码:

Import-Module csvsqlimport
Import-CsvToSql -Csv C:\Users\Tim\Desktop\POWERSHELL\AutoParts.csv `
    -SqlServer DHCP_SERVER -Database FeilAuto4 `
    -Table dbo.Reservedele -FirstRowColumns -Delimiter ";" -Truncate
您可能希望尝试“SqlServer”模块,因为Microsoft正在更新该模块,并且该模块具有多个SQL cmdlet。唯一的缺点是,您必须根据脚本的cmdlet将脚本分为多个命令

## Install module if not installed, this is a one time install.
Install-Module SqlServer

## Input Variables
$csvPath = "C:\Users\Tim\Desktop\POWERSHELL\AutoParts.csv"
$csvDelimiter = ";"
$serverName = "DHCP_SERVER"
$databaseName = "FeilAuto4"
$tableSchema = "dbo"
$tableName = "Reservedele"

## Truncate Table
Invoke-Sqlcmd -ServerInstance $serverName -Database $databaseName -Query "TRUNCATE TABLE $tableSchema.$tableName"

## Import CSV into SQL
Import-Csv -Path $csvPath -Delimiter $csvDelimiter | Write-SqlTableData -ServerInstance $serverName -DatabaseName $databaseName -SchemaName $tableSchema -TableName $tableName -Force

如果要换行,请确保它不会破坏代码。哦,好吧,我的错!:-)