Sql-Server-2008-R2
Powershell:Powershell 中的 System.Data.SqlClient.SqlDataAdapter 使用是否需要一些 ADO.Net 安裝?
在 PowerShell 中,目標是從 Sql Server 查詢一些數據並將其放入預先格式化的 Excel 文件中。為此,以下 PowerShell 腳本片段會引發錯誤,提示“缺少程序集”。
從我可以線上收集的內容來看,它
SqlClient.SqlDataAdapter
是 的一部分ADO.Net
,它不需要包含任何程序集(因為它始終存在於 OS .Net 框架安裝中)。它是否正確?我該如何糾正這個問題?... ... other connection code ... $SqlCmd = New-Object System.Data.SqlClient.SqlCommand; $SqlCmd.Connection = $SqlConnection; $SqlCmd.CommandText = $ActiveTransactions_Count_Query; $SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter; $SqlAdapter.SelectCommand = $SqlCmd; $DataSet_ActiveTransaction = New-Object System.Data.DataSet; $SqlAdapter.Fill($DataSet_ActiveTransaction); $DataSetTable = $DataSet_ActiveTransaction.Tables[0]; $DataSetTable
錯誤:
New-Object : Cannot find type [Sql.Data.SqlClient.SqlDataAdapter]: make sure the assembly containing this type is loaded. At M:\Build.ps1:21 char:25 + $SqlAdapter = New-Object <<<< Sql.Data.SqlClient.SqlDataAdapter; + CategoryInfo : InvalidType: (:) [New-Object], PSArgumentException + FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand
將其放在腳本的頂部:
Add-Type -AssemblyName System.Data
是的,它是作業系統的一部分,不,這通常不是必需的,但是您的作業系統版本 + PowerShell 版本 + SQL 2008 R2 的組合肯定存在一些問題。