繁体   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