No PowerShell, o objetivo é consultar alguns dados do Sql Server e colocá-los em um arquivo Excel pré-formatado. Para isso, o seguinte snippet de script do PowerShell gera um erro dizendo "faltam assemblies".
Pelo que pude reunir online, SqlClient.SqlDataAdapter
faz parte do ADO.Net
, que não requer a inclusão de nenhum assemblie ( já que está sempre presente na instalação do OS .Net framework ). Isso está correto? Como faço para corrigir isso?
...
... 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
Erro:
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
Coloque isso no topo do seu script:
Sim, faz parte do sistema operacional e não, isso não é normalmente necessário, mas deve haver algum problema na combinação da versão do sistema operacional + versão do PowerShell + SQL 2008 R2.