gpt4 book ai didi

xml - 使用 sqlcmd ":r"将 XML 文件的内容获取到变量中

转载 作者:数据小太阳 更新时间:2023-10-29 02:02:12 28 4
gpt4 key购买 nike

我有一个 XML 文件,我想用它来将静态数据加载到我的数据库中。我最好使用 sqlcmd ":r"进行文本替换,以便在我的 sql 脚本中将 xml 视为硬编码数据。

有了硬编码数据,我的脚本就可以工作了

--Working Code
DECLARE @XML XML
SET @XML = '
<clients>
<client>
<ClientNumber>ClientA</ClientNumber>
</client>
<client>
<ClientNumber>ClientB</ClientNumber>
</client>
</clients>
'

我想做的是这样的:

DECLARE @XML XML
SET @XML = '
:r .\ClientData.xml
'

其中 ClientData.xml 的内容与之前硬编码的 xml 文本相同。问题是 sqlcmd 解析器没有接受测试替换,而只是将值 ':r .\ClientData.xml' 放入我的 xml 变量中。

如果我尝试删除抽动,我会收到以下错误:

Incorrect syntax near '<'.

有什么方法可以在 tics 内部强制执行 sqlcmd,以便正确替换文本?

最佳答案

好的,这是我的技巧...

:setvar XMLDATA "'"

declare @mydata xml =
$(XMLDATA)
:r "Data.xml"
$(XMLDATA)

基本上只是通过参数化单引号来绕过解析器。

它很丑陋,但它允许我拥有一个有效的 xml 文件。

关于xml - 使用 sqlcmd ":r"将 XML 文件的内容获取到变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17450982/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com