2

我需要在 sql server db 上从来自select-object. 我需要使用正确的数据类型和字段创建表。

我熟知的一种方法是export-csv然后invoke-sqlcmd使用BULK INSERT,但我更喜欢跳过 csv 导出。

invoke-sqlcmd通常如何用于从哈希表数组开始创建/填充表?你知道不使用其他方法做同样的工作invoke-sqlcmd吗?我需要使用System.Data吗?如何?

谢谢

编辑1:另一种可能的方式是New-Object System.Data.SqlClient.SqlConnection我可以ExecuteNonQuery()为每个数组元素。

编辑 2:另一个选项,总是基于System.Data,是更新SqlDataAdapter实例。

4

1 回答 1

3

我为脚本专家写了一篇博客文章,其中涵盖了这种情况

http://blogs.technet.com/b/heyscriptingguy/archive/2010/11/01/use-powershell-to-collect-server-data-and-write-to-sql.aspx

使用博客文章中演示的代码,您可以使用任何 PowerShell 命令创建 System.DataTable,然后创建 SQL Server 表,最后将 DataTable 插入新创建的表中。这是一个例子

$dt = get-psdrive | out-datatable
Add-SqlTable -ServerInstance "Z003\R2" -Database dbutility -TableName psdrive -DataTable $dt
Write-DataTable -ServerInstance "Z003\R2" -Database "dbutility" -psdrive"diskspace" -Data $dt
于 2011-04-21T00:48:10.210 回答