2011-08-22 79 views
1

我正在使用簡單的PowerShell腳本從Web服務中檢索某些XML數據。 XML正在寫入文件,但我想修改腳本並將XML插入到SQL Server表中。我怎樣才能做到這一點?將文件內容插入到SQL Server表中

cls 

$apiKey = "00000000-1111-2222-3333-444444444444" 
$userName = "12345678" 
$password = "SamplePassword" 

$URI  = "https://www.example.com/api/TestWS.TestService.svc?wsdl" 
$prox = New-WebServiceProxy -uri $URI -namespace WebServiceProxy 

$chambersListData = $prox.chambersList($userName, $password, $apiKey, 0, $false, 0, $false) 
$chambersListData | Get-Member 

for($pageNumber = 1; $pageNumber -lt $chambersListData.pagesCount ; $pageNumber++) 
{ 
    $Page = $prox.chambersList($userName, $password, $apiKey, $pageNumber, $true, 0, $false) 
    $Page.chambersList | Export-Clixml ("C:\TEST_EXPORT\chambersList"+$pageNumber+".txt") -Encoding UTF8 
} 

樣品INSERT可能類似於:

INSERT INTO [mydatabase].[test].[TestExportXml] 
(
[MethodName], 
[XmlData] 
) 
SELECT 
'chambersList', 
* here comes the C:\TEST_EXPORT\chambersList"+$pageNumber+".txt file content * 

回答

2

你需要先創建該文件,然後將該文件導入SQL Server表?如果是這樣你可以使用T-SQL OPENROWSET如下:

INSERT INTO dbo.TestExportXml (MethodName, XmlData) 
    SELECT 'chambersList' AS MethodName,* 
    FROM OPENROWSET(BULK N'E:\test.xml', SINGLE_BLOB) AS XmlData 

你可以調用與調用,SQLCMD cmdlet中的T-SQL語句或使用此功能:

http://poshcode.org/2279