[英]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.