Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 使用powershell在sql server中创建包含记录的表:什么是最好的?_Sql Server_Powershell_System.data - Fatal编程技术网

Sql server 使用powershell在sql server中创建包含记录的表:什么是最好的?

Sql server 使用powershell在sql server中创建包含记录的表:什么是最好的?,sql-server,powershell,system.data,Sql Server,Powershell,System.data,我需要在SQLServerDB上创建并填充一个表,该表从来自select对象的powershell对象数组开始。我需要用正确的数据类型和字段创建表 我知道的一种方法是导出csv,然后使用大容量插入调用sqlcmd,但我更喜欢跳过csv导出 通常如何使用invoke sqlcmd从哈希表数组开始创建/填充表? 您知道不使用invoke-sqlcmd执行相同任务的其他方法吗?我需要使用系统数据吗?怎么做 谢谢 编辑1:另一种可能的方法是新建对象System.Data.SqlClient.SqlCon

我需要在SQLServerDB上创建并填充一个表,该表从来自select对象的powershell对象数组开始。我需要用正确的数据类型和字段创建表

我知道的一种方法是导出csv,然后使用大容量插入调用sqlcmd,但我更喜欢跳过csv导出

通常如何使用invoke sqlcmd从哈希表数组开始创建/填充表? 您知道不使用invoke-sqlcmd执行相同任务的其他方法吗?我需要使用系统数据吗?怎么做

谢谢

编辑1:另一种可能的方法是新建对象System.Data.SqlClient.SqlConnection,通过它我可以为每个数组元素执行OnQuery


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

我为脚本编写人员写了一篇博文,介绍了这种情况

使用博客文章中演示的代码,您可以使用任何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

谢谢,看起来很符合我的要求。我会让你知道的。我必须先将哈希表数组转换成数据表吗?有没有一些简单的方法来实现这一点,例如,只使用一个演员?好的,查德!我在互联网上发现了以下帖子,这并不奇怪,是你写的:,在这里你介绍了out datatable函数。你认为这是个好选择吗?它是否保留数据类型?非常感谢你的帮助。我认为脚本家伙文章是一个更新版本的TEH Sql Services中心文章。PowerShell在推断数据类型方面做得很好,所以我没有在明确定义类型方面遇到麻烦。您需要将getenumerator与哈希表一起使用。下面是一个将数据表与哈希表一起使用的示例:$a=@{name='john';dob='1/1/1980';age=31}$a、 GetEnumerator |输出数据表