programing

새 서버의 테스트 코드 java.time.localdatetime을 날짜로 변환할 수 없습니다.생산 과정에서 발생하지 않습니다.

subpage 2023. 6. 8. 19:50
반응형

새 서버의 테스트 코드 java.time.localdatetime을 날짜로 변환할 수 없습니다.생산 과정에서 발생하지 않습니다.

  • ColdFusion 2018과 MariaDB 10.5.4를 지원하는 AWS AMI에 개발 서버를 설정하고 있습니다.

  • 현재 생산된 버전이 무엇인지는 찾지 못했지만, 다소 오래되었을 가능성이 높습니다.그 애플리케이션은 2016년에 시작되었습니다.

  • 코드는 프로덕션에서 변경되지 않았으며 데이터베이스는 직접 백업 및 복원이며 변경 사항은 없습니다.

  • 코드에서 오류가 발생합니다.cfoutput이름이 지정된 필드의 형식을 지정하려고 할 때 쿼리합니다.날짜 스탬프.이것은 에러 코드의 한 예입니다.그것은 많은 곳에 있습니다.

    #DateFormat(Q.DateStamp,"m/d/yyyy")# #TimeFormat(Q.DateStamp, "short")#
    
  • 이것이 오류입니다.

    • "값 클래스는java.time.LocalDateTime날짜로 변환할 수 없음"
  • MariaDB의 테이블에 DateStamp의 데이터 유형이 datetime으로 지정되어 있으며 이는 프로덕션에서 변경되지 않습니다.

일반 날짜 시간일 때 필드가 LocalDateTime일 것으로 예상되는 이유를 알 수 없습니다.이 환경의 구성에 포함되어야 하지만 무엇을 이해하는 데 어려움을 겪고 있습니다.검색했지만 "LocalDateTime" 유형의 링크를 처리하는 방법만 제공되므로 프로덕션과 동일한 코드로 시작해야 하는 테스트 환경에서는 모든 코드를 변경할 수 없으므로 도움이 되지 않습니다.

Adrian의 기여에 대한 제 의견에 따르면, 이러한 경우 해답은 종종 환경 간 데이터 소스 구성을 비교하여 찾을 수 있습니다. 가장 중요한 것은 두 환경 모두에서 동일한 데이터베이스 드라이버를 선택했는지 여부와 데이터 소스의 다양한 고급 설정을 선택했는지 여부입니다.마지막으로 데이터베이스 서버 자체의 모든 버전/호환성 설정을 참조할 수 있습니다.

운영 환경에서 실행 중인 ACF, MySQL 및 Java 버전을 확인해야 합니다.애플리케이션이 2016년에 출시되었다고 하더라도, 콜드퓨전 2016에 출시되었다는 보장은 없습니다.서버의 이전 버전일 수 있습니다.

Q를 선택합니다.날짜 스탬프 출처 <id = single>
예는 "2016-10-17 17:50:34"처럼 보입니다.

IDE에서 쿼리를 실행했습니까? 아니면 이 쿼리를 실행했습니까?cfqueryDateTime 개체로 반환되는지 확인해야 합니다.{ts '2012-12-12 12:12:12'} 및이 아닙니다. 및 문자열이 아닙니다.

java.time.localDateTime

ISO-8601 캘린더 시스템에서 표준 시간대가 없는 날짜/시간(예: 2007-12-03T10:15:30).

MariaDB 날짜 시간

MariaDB는 DATTIME 값을 'YYY-MM-DD HH:MM:SS.ffffff'

언급URL : https://stackoverflow.com/questions/65997681/testing-code-on-a-new-server-java-time-localdatetime-cannot-be-converted-to-dat

반응형