我有一个SSIS包,在其中运行SQL执行任务以获取一些记录,然后运行foreach循环,迭代返回的ADO对象并设置一些变量值。
这些变量用于数据流任务查询。我需要为变量设置表达式。
在行中,我具有类似于"foo" + @[User::Bar] + "baz"
的值(我直接使用此表达式设置了它,它起作用了。我想从sql输出中设置它)
但是当我从SQL任务到变量表达式获取此值时,SSIS会将引号转义,我不想转义这些引号以使任务正常工作。
保存的值:“ foo” + @ [User :: Bar] +“ baz”
变量集:\“ foo \” + @ [User :: Bar] + \“ baz \”
有人可以帮助我吗?我想要保存的表达式,由于这种强制转义,导致查询设置不正确。
答案 0 :(得分:0)
如果以下值存储在变量中(例如Serial1.println("POST /loginAjax/ HTTP/1.1");
Serial1.println("Host: dev-aquhivedata.herokuapp.com");
Serial1.println("Content-Type: application/x-www-form-urlencoded");
Serial1.println("Content-Length: 28");
Serial1.println("");
Serial1.println("username=E***&pwd=A*********");
Serial1.println("");
Serial1.flush();
while(Serial1.available()) {
char c = Serial1.read();
Serial.print(c);
}
:
\“ foo \” + @ [User :: Bar] + \“ baz \”
添加具有以下表达式的Expression任务:
@[User::Var1]
或使用以下表达式创建一个新变量:
@[User::Var1] = REPLACE(@[User::Var1],"\\","")
我使用以下值创建了字符串类型的变量REPLACE(@[User::Var1],"\\","")
:
@[User::Variable]
然后我用以下表达式创建了另一个字符串类型的变量\"foo\" + @[User::Bar] + \"baz\"
:
@[User::Variable1]
值转义字符不见了: