Mule 3.7.3에서 데이터베이스 커넥터를 처음 사용했습니다. 동적으로 형성된 INSERT 문을 사용하여 대량 데이터를 삽입하려고합니다. 나는 당신이 보통이 접근 방식이라고 부르는 것을 모르지만, 내가하고자하는 것은 여러 경로를 선택하고 각 경로에 INSERT 문을 하드 코딩하는 대신 동적으로 여러 스테이징 테이블에 여러 파일을로드하는 것입니다.흐름 변수에 INSERT 문을 동적으로 삽입하여 대량 데이터 삽입
내 flowVars.insertStatement에는 "INSERT INTO [roomService] ([RoomId], [ServiceId], [DateTime]) VALUES (# [payload.roomId], # [payload.serviceId] payload.dateTime])는 "
나는이 함께했을 때 :이 날을 제공<db:insert config-ref="Staging_DB" doc:name="insert-data-into-staging-db" bulkMode="true">
<db:parameterized-query><![CDATA[#[flowVars.insertStatement]]]></db:parameterized-query>
"쿼리 유형이 '[INSERT, STORE_PROCEDURE_CALL]'만했다 'DDL'(java.lang의 중 하나 여야합니다. IllegalArgumentException) "
<db:insert config-ref="Staging_DB" doc:name="insert-data-into-staging-db" bulkMode="true">
<db:dynamic-query><![CDATA[#[flowVars.insertStatement]]]></db:dynamic-query>
이 날 "대량 쿼리 매개 변수화 된 SQL 쿼리 (java.lang.IllegalArgumentException가)를 포함 할 수 없습니다"제공
<db:insert config-ref="Staging_DB" doc:name="insert-data-into-staging-db" bulkMode="true">
<db:dynamic-query><![CDATA[#[flowVars.insertStatement]]]></db:dynamic-query>
이 나에게 "지수 : 0 (java.lang.IndexOutOfBoundsException)"제공
이 좀 필요를 포인터를 올바르게 수행하는 방법. 제발 조언.
안녕 @Yevgeniy, 응답하는 시간을내어 주셔서 감사합니다. 문제는 속성 파일에서 VALUES 문자열 (# [payload.roomId], # [payload.serviceId], # [payload.dateTime])을 플로우 변수로 가져온 다음 flowVars에 연결해야한다는 것입니다. .insertStatement. 데이터를 삽입하려는 페이로드 필드를 구체적으로 언급하면 동적이지 않습니다. 이 일에 대해 더 잘 알고 있다면 알려주십시오. –
죄송합니다, 그럼 난 그냥 문제를 이해하지 못한다 : ( – Yevgeniy