2011-08-04 3 views
0

私は何が必要です: 1、SQL Serverのdatatableからxmlの行を照会します。以下の写真を参照してください。StageDescという名前の行は、XMLファイルです。powershellによるSQLテーブルからXMLコンテンツを表示するには?

The Row named StageDesc contents xml file

2、xmlファイルの内容私は、これはxmlファイルに<releasepath>//sharespace/test1/10.0.1212.0</releasepath>として形成された取得する必要がありますパス//sharespace/test1/10.0.1212.0。ここで

は私のコードは、それを取得しようとしている。

$SqlCmd = New-Object System.Data.SqlClient.SqlCommand 

$SqlQuery = "SELECT Stage.Description as StageDesc,Stage.StageStatusId FROM [Build].[dbo].[WorkflowInstance_View] as Build 
    join [Build].[dbo].[Stage_View] as Stage on Build.Id=Stage.[WorkflowInstanceId] where Stage.ParentId is null and Stage.StageStatusId <>4 and Stage.StageStatusId <>7 order by Build.Id desc" 

$SqlCmd.CommandText = $SqlQuery 

$SqlCmd.Connection = $Connection 

$DBResult = $sqlcmd.ExecuteReader() 

$DataTable = New-Object system.data.datatable 

$DataTable.load($DBResult) 

foreach ($StageDesc in $DataTable) { 

[XML]$ReturnedXML=$StageDesc.releasepath 

} 

コードが渡されたが、何も返されません。なぜこれが起こったのですか?誰も私を助けたいと思っていますか?

答えて

0

コード内で行うことは、変数の宣言と割り当てです。何かを出力または表示するコードはありません。また、変数を返すこともありません。だから、コードは何を返すべきだと思いますか?どの行?あなたはコードをデバッグしようとしましたか?

2

xmlデータを変数$ RetrunedXMLに割り当て、foreachの各繰り返しで割り当てを上書きします。あなたは$ ReturnedXMLをチェックしましたか?

$serverName = "$env:computername\sql1" 
$databaseName = "AdventureWorks" 
$query = "SELECT * from Person.Contact where AdditionalContactInfo IS NOT NULL" 
$conn=new-object System.Data.SqlClient.SQLConnection 
$connString = “Server=$serverName;Database=$databaseName;Integrated Security=SSPI;” 
$conn.ConnectionString=$connString 
$conn.Open() 
$cmd=new-object system.Data.SqlClient.SqlCommand($Query,$conn) 
$da = New-Object “System.Data.SqlClient.SqlDataAdapter” ($cmd) 
$dt = New-Object “System.Data.DataTable” 
$da.fill($dt) | out-null 
$conn.Close() 

$dt | foreach {[xml]$ReturnedXML = $_.AdditionalContactInfo; $ReturnedXML} 
0
$da.fill($dt)

は、DataTableの$ dtのにクエリ結果をロードします:SQL Server 2008のサンプルデータベースを使用して

は、私がこれを使用することができます。

$dt | Out-GridView

すべてのデータを表示します。

スクリプトは私にとってはうまくいった(最後の行は例外で、私の場合は当てはまりませんでした)。

+0

ありがとうございます!私はすぐにそれを試してみる〜 – pansal

関連する問題