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