Antes que nada permítanme agradecer a las personas que respondieron a mis preguntas anteriores. Ustedes son increíbles!Cómo enlazar Datareader y crear DataTable en Powershell
Aquí está mi pregunta: Me gusta consultar el servidor de sql Procedimiento almacenado y devolver un lector de datos. Sin embargo, quiero crear una tabla. Esa tabla la usaré para cargar Excel utilizando los nuevos comandos Powershell OpenXML. El código falla cuando intento construir DataTable. No creo que esté cargando correctamente el nuevo objeto "System.Object []". Aquí es lo que tengo hasta ahora:
$sqlConnection = new-object System.Data.SqlClient.SqlConnection "server=localhost;database=Demo;Integrated Security=sspi"
$sqlConnection.Open()
#Create a command object
$sqlCommand = $sqlConnection.CreateCommand()
$sqlCommand.CommandText = "EXEC Demo.usp_GetTableValueParameter_Data"
#Execute the Command
$sqlReader = $sqlCommand.ExecuteReader()
#Parse the records
$sqlReader | &{ begin{$values = new-object "System.Object[]" $sqlReader["Name"], $sqlReader["Level_Desc"], $sqlReader["Level"]} process {$_.GetValues($values); $datatable.Rows.Add($values)}}
##$datatable | format-table -autosize
# Close the database connection
$sqlConnection.Close()
#STARTING OPENXML PROCESS
#----------------------------
$xlsFile = "C:\Temp\Data.xlsx"
$datatable | Export-OpenXmlSpreadSheet -OutputPath $xlsFile -InitialRow 3
Simplemente agregue signos de dólar ($) en los lugares correctos :-) – onupdatecascade