簡體   English   中英

將SQL值提取到Powershell變量中?

[英]Extracting SQL values into powershell variables?

我目前有以下腳本:

$SQLServer = "sqldev1" 
$SQLDBName = "SPDEV_Printing" 
$SqlQuery = "select * from PcBeheerPrinter WHERE PRT_name = 'bwpsc006'" 

$SqlConnection = New-Object System.Data.SqlClient.SqlConnection 
$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; Integrated Security = True" 

$SqlCmd = New-Object System.Data.SqlClient.SqlCommand 
$SqlCmd.CommandText = $SqlQuery 
$SqlCmd.Connection = $SqlConnection 

$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter 
$SqlAdapter.SelectCommand = $SqlCmd 

$DataSet = New-Object System.Data.DataSet 
$SqlAdapter.Fill($DataSet) 

$SqlConnection.Close() 

clear 

$DataSet.Tables[0]

返回如下控制台輸出:

    PRT_PrintServerName     : pcounter
PRT_Name                : bwpsc006
PRT_PortNameFull        : PCOUNT_bwpsc006
PRT_CAL_SerialNumber    :
PRT_ACTIVE              : 1
PRT_CAL_RespondToPing   : 1
PRT_CAL_NamePinged      : bwpsc006
PRT_CAL_FirstSeendate   : 8/02/2017 20:55:13
PRT_CAL_LastSeendate    : 4/12/2017 11:36:19
PRT_CAL_SNMPPossible    : 1
PRT_CAL_Brand           :
PRT_ShareName           : bwpsc006
PRT_Comment             :
PRT_Datatype            : RAW
PRT_DriverName          : Canon iR-ADV C5045/5051 PCL6
PRT_Location            :
PRT_PrintProcessor      :
PRT_Published           : 0
PRT_Shared              : 0
PRT_NumberOfMissedPings : 0
PRT_LastResponsedate    : 4/12/2017 11:36:19
PRT_RenderingMode       : CSR

我的問題是:如何將其中一些值轉換為PS變量? 我需要Name,SerialNumber和其他一些名稱(它們將作為示例)最終將它們傳輸到SharePoint列表。 我仍然是初學者,無法通過谷歌搜索來解決問題。

謝謝!

當使用System.Data.SqlClient.SqlCommand類時,返回的大多數對象都是datatable類型。 由於$DataSet的類型為datatable,因此您可以像這樣直接使用所有返回的屬性-

$Name = $DataSet.Tables[0].PRT_Name; $SerialNo = $DataSet.Tables[0].PRT_CAL_SerialNumber $Name = $DataSet.Tables[0].PRT_Name; $SerialNo = $DataSet.Tables[0].PRT_CAL_SerialNumber等。

然后,您可以將變量$Name$Serialno用作SharePoint列表的輸入。

如果數據類型是對象,則可以直接使用選擇對象,例如:

$DataSet.Tables[0] | Select-object  PRT_Name,PRT_CAL_SerialNumber

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM