使用PowerShell DataTable将数据导入SQL Server表

时间:2016-08-30 08:05:42

标签: sql-server powershell

我需要将包含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)也无济于事。

非常感谢任何建议,指示,解释或帮助编写此脚本。

0 个答案:

没有答案