sql-server - 将 CSV 从 PowerShell 导入 SQL Server
问题描述
我试图将 CSV 文件从 PowerShell 导入我的 SQL Server 数据库。我已经创建了带有列的数据库和表。我获得了需要导入的 CSV 文件中的数据。
我试图研究并发现我修改了一些代码,所以它应该可以工作,但是当我运行代码时,我得到了错误:
Import-CsvToSql:使用“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
推荐阅读
- algorithm - 优化问题的特征是什么意思?
- airflow - 如何使用 Apache Airflow 组织开发工作流程?
- java - 对于外部 jar,如果 jar 已经存在/复制到 lib 文件夹,是否有必要在 pom.xml 文件中添加具有系统路径的依赖项
- mysql - 替代嵌套选择 mysql
- c++ - C++ 铸造 Windows IAction
- matlab - 扫描矩阵并在 Matlab 中找到 2 个范围之间的最大值
- html - HTML动态表格 - 插入文本时停止扩展高度
- forms - 在 Bootstrap 3 中,您可以在哪里更改表单选择悬停时的背景颜色(默认为蓝色)
- javascript - maxlenght 或 ng-maxlength 似乎都不起作用
- php - 如何将返回的谷歌应用脚本“doPost(e)”函数存储在 cURL 的变量中?