0
SQL Server에서 datetime 데이터 형식의 열 삽입/업데이트를 위해 병합 문을 실행하고 있습니다. 00 : 00 : 00 2014년 2월 3일처럼날짜 및/또는 시간을 뮬의 문자열에서 변환 할 때 변환이 실패했습니다. 일괄 처리
payload.date 보인다 배치가 오류와 함께 실패 00.000
'변환이 실패했을 때 문자열에서 날짜 및/또는 시간을 변환'
<batch:step name="step_1">
<batch:commit doc:name="Batch Commit" size="100">
<db:execute-ddl config-ref="config" doc:name="merge" >
<db:dynamic-query><![CDATA[
BEGIN
MERGE tablename AS Target
USING (SELECT '#[payload.key]') AS Source (ID)
ON (Destination.Id=Source.ID)
WHEN MATCHED THEN UPDATE SET
datefield = '#[payload.date]'
WHEN NOT MATCHED THEN
INSERT (datefield) values ('#[payload.date]');
END]]></db:dynamic-query>
</db:execute-ddl>
</batch:commit>
</batch:step>
하는 경우 일괄 커밋을 제거, 나는 어떤 오류가 발생하지 병합 성명을 잘 작동하고 날짜가 업데이트/DB에 삽입됩니다. 배치 커밋을 사용하고 싶습니다. 어떻게이 문제를 해결할 수 있습니까? DDL 동작을 실행을 위해
SQL 서버가 에러를 던지고 사용될 수 없다 커밋 지원되지 않는다. 페이로드가 목록이라면 # [payload.date] 대신 무엇을 사용해야합니까? – user94538