SQL Server管理对象:表对象不适用于Write-SqlTableData

时间:2018-07-02 14:46:50

标签: sql-server powershell smo

我在将Microsoft.SqlServer.Management.Smo.Table对象与Write-SqlTableData cmdlet一起使用时遇到问题。

我的代码类似于以下内容(出于隐私目的更改了名称)

# $sc is a working SQL Server connection
$srv = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Server $sc 

$Table = $srv.databases["Database"].tables["Table"]

# $Data is a DataSet full of data
$Result = Write-SqlTableData -InputData $Data -InputObject $Table -PassThru

我遇到以下错误:

  

Write-SqlTableData:无法绑定参数“ InputObject”。无法将类型“ Microsoft.SqlServer.Management.Smo.Table”的“ [dbo]。[Table]”值转换为类型“ Microsoft.SqlServer.Management.Smo.Table”。

     

在C:\ Script.ps1:177 char:68
  + ... ableData -InputData $ Data -InputObject $ Table -PassTh ...
  + ~~~~~~   + CategoryInfo:InvalidArgument:(:) [Write-SqlTableData],ParameterBindingException
  + FullyQualifiedErrorId:CannotConvertArgumentNoMessage,Microsoft.SqlServer.Management.PowerShell.WriteSqlTableData

所有连接均已测试并且可以正常工作。我应该有权访问数据库。我认为在创建表对象方面可能会丢失一些东西。也许我需要给它更多信息以便进行转换。但是它应该能够转换成自己类型的对象吗?

0 个答案:

没有答案