여기에서 문제를 해결하려고합니다. 나는에 데이터를 업로드하는 C# .NET 응용 프로그램이 있습니다. 한 응용 프로그램에서 DDS (오래된 습관은 죽지 않는다)로 정의 된 파일을 시간 필드와 함께 가지고 있습니다. 이 새로운 응용 프로그램에서는 DDL을 사용하여 파일을 만들고 시간 필드도 있습니다. 기본적으로 작업 응용 프로그램의 행을 복사하여 새 응용 프로그램에 붙여 넣었지만 여전히 작동하지 않습니다. 내가 볼 수있는 유일한 차이점은 DDS 대 DDL입니다. 아무도 거기에 어떤 종류의 차이가 있는지 확인할 수 있습니까?DDS 시간 대 DDL 시간
DDL :
CREATE TABLE EGOVLOG.TRANYYMMDD (
...
PAYMENTDATE FOR COLUMN PAYDATE DATE NOT NULL DEFAULT CURRENT_DATE ,
PAYMENTTIME FOR COLUMN PAYTIME TIME NOT NULL DEFAULT CURRENT_TIME ,
...
PRIMARY KEY(ID))
RCDFMT TRANYYMMDD;
DDS :
A RSSIGNDATE L ALIAS(SUPERVISOR_SIGNED_DATE)
A COLHDG('SUPERVISOR' 'SIGNED DATE')
A TEXT('SUPERVISOR SIGNED DATE')
A RSSIGNTIME T ALIAS(SUPERVISOR_SIGNED_TIME)
A COLHDG('SUPERVISOR' 'SIGNED TIME')
A TEXT('SUPERVISOR SIGNED TIME')
작업 라인 :
// Outputs "15.21.47"
cmd.Parameters.Add("@SUPERVISOR_SIGNED_TIME", iDB2DbType.iDB2Time).Value =
leaveRequest.SupervisorSignedDateTime.ToString("HH.mm.ss");
휴무 라인 :
// Outputs "15.21.47"
cmd.Parameters.Add("@PAYMENTTIME", iDB2DbType.iDB2Time).Value =
transactions.Transaction.TransactionTimestamp.ToString("HH.mm.ss");
leaveRequest.SupervisorSignedDateTime
과 transactions.Transaction.TransactionTimestamp
은 모두 동일한 C# 유형 (DateTime
)입니다.
오류 :
IBM.Data.DB2.iSeries.iDB2ConversionException가
메시지는, 변환 오류가 발생되지 않은 =이었다.
출처 = IBM.Data.DB2.iSeries
MessageCode = 111
MessageDetails = 매개 변수 : (13)
업데이트 :이 신비에 추가하려면, 내가 달릴 삽입 수동으로,이 작동합니다.
INSERT INTO TABLE VALUES(...'10/19/2011', '15:21:47', ...)
은'TransactionTimestamp' 실제로'DateTime' 경우, 혹은 'TIMESTAMP' 필드 (즉, 열 기반 버전 ID)이다
는 I은 또한 위에서 언급 코드를 변경? – Yuck
호출하는 저장 프로 시저에서 SUPERVISOR_SIGNED_TIME과 PAYMENTTIME이 정확히 동일한 데이터 유형입니까? – NotMe
@Yuck 나를 위해 나쁜 이름을 선택했습니다 ...'TransactionTimestamp'는'DateTime'입니다. –