아래 쿼리는 Oracle에서는 작동하지만 BizTalk에서는 작동하지 않습니다. 빠른 구글은BizTalk가 하위 쿼리를 지원합니까?
"여러 문은 오라클 (그리고 다른 데이터베이스 이이 못할 수 있습니다) 작동하지 않는 것을 나에게 알렸다. Oracle이 SQL 주입 소위 방지, 해커가 사용하는 것이 메커니즘을 데이터베이스 내에 코드를 실행 시키십시오. "
하위 쿼리와 동일합니까? 하위 쿼리없이이 쿼리를 작성할 수 있습니까?
update order_header oh set uploaded = 'Y'
where oh.user_def_chk_3 = 'N'
and oh.status in('Complete','Shipped')
and oh.client_id in (select c.client_id from client c
where upper(c.notes) like 'BERGEN%');
biztalk에 대한 아이디어는 없지만 하위 쿼리와 여러 명령문은 서로 다른 것이므로 단일 명령문으로도 좋을 것입니다. 하지만 ... 당신이 어댑터를 통해 실행할 때 후행을 남겨 두시겠습니까? JDBC는 그것을 좋아하지 않으며, 두 문장을 함께 결합하려는 시도로 biztalk에 의해 해석 될 수 있습니다. 따라서 필자는 그것이 필요하지 않다고 생각합니다. 그렇지 않으면 실제 오류 메시지가 도움이됩니다. –
@AlexPoole 와우, 하위 쿼리가 여러 개의 문장을 의미한다고 생각하지는 못했지만, BizTalk는 2 개의 쿼리가 있다고 생각합니다. 세미 콜론을 제거하면 문제가 해결되었습니다. – Andy