У меня проблемы с использованием Microsoft.SqlServer.Management.Smo.Table
объектов с командлетом Write-SqlTableData
.
Мой код похож на следующий (имена изменены для конфиденциальности)
# $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'. Не удается преобразовать значение «[dbo]. [Table]» типа «Microsoft.SqlServer.Management.Smo.Table» в тип «Microsoft.SqlServer.Management.Smo.Table».
На C: \ Script.ps1: 177 символов: 68
+ ... ableData -InputData $ Data -InputObject $ Table -PassTh ...
+ ~~~~~~
+ CategoryInfo: InvalidArgument: (:) [Write-SqlTableData], ParameterBindingException
+ FullyQualifiedErrorId: CannotConvertArgumentNoMessage, Microsoft.SqlServer.Management.PowerShell.WriteSqlTableData
Все соединения проверены и работают. У меня должно быть разрешение на доступ к базе данных. Я думаю, что я могу что-то упустить с точки зрения создания объекта таблицы. Возможно, мне нужно дать ему больше информации, чтобы сделать это преобразование Но он должен быть в состоянии преобразовать в объект своего собственного типа, верно?