我需要将包含350列的.csv
文件导入SQL Server 2008 R2数据库。
上网时,我想出了一个来自Chad Miller的Out-DataTable
函数:link to script on Technet
我用它来完成PowerShell脚本,如下所示:
#----------------------------------------------------------------
$logNaam=MylogFileName
TRY
{
$ConnectionString = "Data Source=mySQLServer; Initial Catalog=MyDB; Trusted_Connection=True;";
. ".\Out-DataTable.ps1"
$csvDataTable = Import-CSV -Path "MyCSV_FileAndPath" | Out-DataTable
$bulkCopy = new-object ("Data.SqlClient.SqlBulkCopy") $ConnectionString
$bulkCopy.DestinationTableName = "to_MyTableName"
$bulkCopy.WriteToServer($csvDataTable)
}
Catch
{
$ErrorMessage = $_.Exception.Message
$FailedItem = $_.Exception.ItemName
"Error: Job starten lukt niet : ($ErrorMessage) " | out-file $logNaam -append
"Error: Job starten lukt niet : ($FailedItem) " | out-file $logNaam -append
}
Finally
{}
#----------------------------------------------------------------
在PowerShell命令提示符下运行此代码,我收到此错误:
表达式或陈述中出现意外的标记'数据' 在。\ MyScript.ps1:20 char:27
+ $ ConnectionString =“Data<<<< Source = MySQLServer; Initial Catalog = MyDB ; Trusted_Connection = TRUE;“;
+ CategoryInfo:ParserError:(data:String)[],ParseException
+ FullyQualifiedErrorId:UnexpectedToken
我坚持这一点,并且不知道从哪里开始。将Data Source=MySQLServer
更改为Server=MySQLServer
并不能解决问题。消息仅更改为指向MySQLServer<<<<<<<<
同时向其添加Windows服务器名称(MyWinServer\MySQLServer
)也无济于事。
非常感谢任何建议,指示,解释或帮助编写此脚本。