簡體   English   中英

使用MS SQL查找和讀取XML文件

[英]Finding and Reading a XML file using MS SQL

我有一個要在多個數據庫上運行的SQL腳本。 該腳本運行幾個update和insert語句,我也想在不同的路徑上打開和解析xml文件。
我遇到的問題是,我知道要打開的文件在哪里(目錄),但我不知道它的名稱(名字是隨機的),但是擴展名始終是.profile (這是一個xml文件),在那里每個目錄中只有一個文件。
我想知道如何在不使用MS SQL知道確切名稱的情況下打開XML /配置文件。

據我正確理解您的問題:

declare @files table (ID int IDENTITY, fileName varchar(max))
insert into @files execute xp_cmdshell 'dir <yourdirectoryhere>\*.profile /b'
declare @fileName varchar(max)
select top 1 @fineName = fileName * from @files

做你想要的,但是基於調用xp_cmdshell ,使用它通常是一個非常糟糕的主意

嘗試一些類似的方法:

DECLARE @output NVARCHAR(MAX) 

CREATE TABLE #OUTPUT 
  ( 
     OUTPUT VARCHAR(255) NULL 
  ) 

INSERT #OUTPUT 
EXEC @output = XP_CMDSHELL 
  'DIR "C:\temp\*.profile" /B ' 

SELECT * 
FROM   #OUTPUT 

DROP TABLE #OUTPUT 

正如解釋這里 (這只是單程),您可以訪問從SQL Server磁盤內容,提供您的權限工作正常。

IIRC,需要啟用以下選項。 但是,無論如何,您都需要它們才能從SQL Server訪問文件。

EXEC sp_configure 'show advanced options', 1
GO

RECONFIGURE
GO

EXEC sp_configure 'xp_cmdshell', 1
GO

暫無
暫無

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

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