使用 powershell 在 sql server 中创建包含记录的表:什么是最好的?
我需要从来自 select-object
的 powershell 对象数组开始在 sql server 数据库上创建并填充一个表。我需要创建具有正确数据类型和字段的表。
我熟知的一种方法是 export-csv
,然后使用 BULK INSERT
来 invoke-sqlcmd
,但我更喜欢跳过 csv 导出。
通常如何使用 invoke-sqlcmd
创建/填充从哈希表数组开始的表? 您是否知道在不使用 invoke-sqlcmd
的情况下完成相同工作的其他方法?我需要使用 System.Data 吗?怎样做?
谢谢
编辑1:另一种可能的方法是New-Object System.Data.SqlClient.SqlConnection
,通过它我可以为每个数组元素ExecuteNonQuery()
。
编辑2:另一个始终基于System.Data
的选项是更新SqlDataAdapter
实例。
I need to create and populate a table on sql server db starting from a powershell array of objects coming from select-object
. I need to create the table with the correct datatypes and fields.
One way that I well know is export-csv
and then invoke-sqlcmd
with BULK INSERT
, but I prefer to skip csv export.
How invoke-sqlcmd
is normally used to create/populate a table starting from array of hash tables?
Do you know other ways doing the same job without using invoke-sqlcmd
? Do I need to use System.Data
? How to?
Thanks
EDIT 1: Another possible way is New-Object System.Data.SqlClient.SqlConnection
by which I could ExecuteNonQuery()
for each array element.
EDIT 2: Another option, always based on System.Data
, is update a SqlDataAdapter
instance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我为脚本专家写了一篇博客文章,其中涵盖了这样的场景
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 插入到新创建的表。这是一个例子
I wrote an blog post for the Scripting Guy that covers just such a scenario
http://blogs.technet.com/b/heyscriptingguy/archive/2010/11/01/use-powershell-to-collect-server-data-and-write-to-sql.aspx
Using the code demonstrated in the blog post you can take any PowerShell command create a System.DataTable, then create a SQL Server Table and finally insert the DataTable into the newly created table. Here's an example