[英]How to import csv data into sql using powershell import-csv
我使用了其中一个问题中的类似代码,并将其用于将 csv 数据导入 sql 表,但出现了一个奇怪的错误。 无法在我的编辑器中找到它,需要一双额外的眼睛。
$database = 'ABC_Test'
$server = 'ABCTEST.com'
$table = 'XYZ\A12.ABC_PayCode'
Import-CSV C:\Users\Downloads\sampledata.csv | ForEach-Object {Invoke-Sqlcmd `
-Database $database -ServerInstance $server `
-Query "insert into $table VALUES ('$($_.EMPLOYEE_ID)','$($_.FIRST_NAME)','$($_.LAST_NAME)','$($_.WORK_DATE)','$($_.EARNINGS_CODE)','$($_.HOURS)')"
}
在 Invoke-Sqlcmd 中抛出一个错误:'' 附近的语法不正确。 在 \\mgroupnet.com\\RedirectedFolders\\Documents\\powershell.ps1:5 字符:69
~~~~~~~~~~~~~~~
这里的问题是架构和表名称具有分隔标识符( \\
和_
)。 你的 SQL 语句必须用引号或括号对它们进行转义:
# Brackets
$table = '[XYZ\A12].[ABC_PayCode]'
# Quotes
$table = '"XYZ\A12"."ABC_PayCode"'
请注意,模式和表名是分开转义的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.