2017-09-01 6 views
0

私はSSIS 2014にBIMLからこのカスタム接続を提出しようとしている:それは「開発サーバーを」失敗したところBIML CustomSsisConnection問題 - XMLトリプルネストされた引用

<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パッケージにはDevelopment Serverの代わりにGROUP = Developmentというエラーがあります。二重引用符を置くことは失敗し、XMLは既に使用されており、二重引用符は2つの"タグ内にあると想定されているため、XMLは"のエスケープになります。

要約すると問題がある:

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

私の質問は、私はこの作業を取得しますどのようにでしょうか?私はこれがトリプルネスト引用であり、"はそのトリックをしないことを認識しています。だから、簡単な質問:私は2代わる何にISN今"

として、おそらくそれが生成されます何か「の?XMLが整形式にするには

答えて

0

とSを、あなたがする必要があるのは、書き込みされて」他の(XML以外の)構文に従ってうまく構成されています。 XML属性が有効なJSONを含めることになっている場合、XMLアンエスケープした後、属性は

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

今すぐJSON規則は、ネストされたと言うことになるので、例えば、あなたは

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

を書くことができませんでした引用符はバックスラッシュでエスケープされなければならないので、JSONはあるべきである

{ "接続": "A = \" Bの\ ""} XMLでなければならないことを意味

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

今、あなたのケースでは、「BMIL」または「SSIS」について何かを知らなくても、私は内側の構文のためのルールが何であるか分からない。しかし、アプローチは同じです:どのようにうまく"三重ネスト"引用符は、その内部構文の規則に従ってエスケープし、XML規則を使用して結果の文字列をエスケープする必要があります。

0

文字列がちょうど普通のスペースを使用しています。私の初期カタログを見てください。スペースもあり、うまくいきます。

例:

<Connection Name="TESTSERVER" ConnectionString="Data Source=.;Initial 
Catalog=test test;Provider=SQLNCLI11;Integrated Security=SSPI;Auto 
Translate=False;"> 
関連する問題