0

我正在尝试将此自定义连接从 BIML 提交到 SSIS 2014:

<CustomSsisConnection Name="Xtract DEV" CreateInProject="1" CreationName="XTRACT" ObjectData="&lt;XtractConnectionManager ConnectionString=&quot;USER=SERVICEUSER LANG=EN MSHOST=SAPSERVER.SERVICES.DOMAIN R3NAME=DEV GROUP="Development Server" PASSWD=SERVICEPW &quot; /&gt;"/>

GROUP 部分是“开发服务器”失败的地方 - 包括双引号。如果我在没有引号的情况下这样做,那么当我运行 BIML 文件时,我创建的 SSIS 包有 GROUP = Development 而不是 Development Server,这是错误的。放置双引号失败,XML 转义 " 也是如此,因为它已经被使用并且引号应该在两个 " 标记内。

总而言之,问题是:

<CustomSsisConnection ... ObjectData="...... ConnectionString&quot;..GROUP="Development Server" ... &quot; ..." />

我的问题是如何让它工作?我意识到这是一个三重嵌套的引号,而 " 不能解决问题。这么简单的问题:我用什么替换两个 " ?

4

2 回答 2

0

要使 XML 格式正确,您需要做的就是编写“ as ”

现在,也许这会产生一些根据其他(非 XML)语法格式不正确的东西。例如,如果一个 XML 属性应该包含有效的 JSON,那么您就不能编写

<x json="{&quot;connection&quot;:&quot;a=&quot;b&quot;&quot;}"/>

因为在 XML 取消转义之后,属性将是

{"connection":"a="b""}

现在 JSON 规则说嵌套引号应该用反斜杠转义,所以 JSON 应该是

{"连接":"a=\"b\""}

这意味着 XML 应该是

<x json="{&quot;connection&quot;:&quot;a=\&quot;b\&quot;&quot;}"/>

现在在您的情况下,在不了解“BMIL”或“SSIS”的情况下,我不知道内部语法的规则可能是什么:但方法是一样的:弄清楚“三重嵌套”引号应该如何根据该内部语法的规则进行转义,然后使用 XML 规则对结果字符串进行转义。

于 2017-09-02T08:00:08.760 回答
0

只需使用普通空格作为字符串..看看我的初始目录,它也有空格,它工作正常。

例子:

<Connection Name="TESTSERVER" ConnectionString="Data Source=.;Initial 
Catalog=test test;Provider=SQLNCLI11;Integrated Security=SSPI;Auto 
Translate=False;">
于 2017-09-04T08:57:17.030 回答