BIML CustomSsisConnection问题 - XML三重嵌套引用

时间:2017-09-01 11:02:04

标签: xml ssis nested biml

我正在尝试将此自定义连接从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部分是“Development Server”失败的地方 - 包括双引号。如果我没有引号,那么当我运行BIML文件时,我创建的SSIS包有GROUP = Development而不是Development Server,这是错误的。放置双引号失败,XML转义失败“因为它已被使用,引号应该在两个”标记内。

总之,问题是:

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

我的问题是如何让它工作?我意识到这是一个三重嵌套的引用并且“没有做到这一点。这么简单的问题:我用什么来代替两个?”

2 个答案:

答案 0 :(得分:0)

为了使XML格式良好,您需要做的就是编写&#34; as&#34;

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

class Migration(migrations.Migration):

    dependencies = [
        ('files', '0004_auto_20170831_0917'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='file',
            name='user_file',
        ),
    ]

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

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

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

{&#34;连接&#34;:&#34; = \&#34; b \&#34;&#34;}

表示XML应该是

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

现在在你的情况下,不知道关于&#34; BMIL&#34;或者&#34; SSIS&#34;,我不知道内部语法的规则是什么:但方法是相同的:弄清楚&#34;三重嵌套&#34;引号应该根据内部语法的规则进行转义,然后使用XML规则转义结果字符串。

答案 1 :(得分:0)

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

示例:

<Connection Name="TESTSERVER" ConnectionString="Data Source=.;Initial 
Catalog=test test;Provider=SQLNCLI11;Integrated Security=SSPI;Auto 
Translate=False;">