我使用以下代码,一切正常
DECLARE @Directory varchar(100)
SELECT @Directory = 'c:\XML\'
DECLARE @FileExist int
DECLARE @FileName varchar(500),@DeleteCommand varchar(1000),@FullFileName varchar(500), @SQLFullFileName varchar(500)
DECLARE @X XML
SELECT @X = CONVERT(xml,[ICECAT-interface],2)
FROM OPENROWSET(BULK 'C:\XML\1382.xml',SINGLE_BLOB) AS Import([ICECAT-interface])
select P1.X.value('@ID', 'int') as ProductID,
P2.X.value('@ID', 'int') as ProductID
from @X.nodes('/ICECAT-interface/Product') as P1(X)
cross apply P1.X.nodes('ProductRelated') as PR(X)
cross apply PR.X.nodes('Product') as P2(X)
如果我将此行替换为 C:\XML\1382.xml 中的文件名
SELECT @X = CONVERT(xml,[ICECAT-interface],2)
FROM OPENROWSET(BULK ' + @FullFileName + ' ,SINGLE_BLOB) AS Import([ICECAT-interface])
它错误地说该文件不存在,但在调试模式下我可以看到变量@FullFileName 存在并且是正确的。
任何输入将不胜感激。
谢谢
约翰