저는 intersytems 캐시를 처음 사용하고 있으며 캐시에 저장된 데이터를 쿼리 할 때 문제가 발생합니다. 데이터를 정확하게 나타내지 않는 클래스에 의해 노출됩니다. 기본 시스템. 전역 변수에 저장된 데이터는 거의 항상 객체 코드에 정의 된 것보다 큽니다.Intersystems 캐시 - 데이터가 객체 정의를 준수하는지 확인하기위한 객체 코드 유지
마찬가지로 나는 아래와 같은 오류가 자주 발생합니다.
Msg 7347, Level 16, State 1, Line 2
OLE DB provider 'MSDASQL' for linked server 'cache' returned data that does not match expected data length for column '[cache]..[namespace].[tablename].columname'. The (maximum) expected data length is 5, while the returned data length is 6.
사람이 객체 정의 (SQL 매핑)들이 전역에서 지속되고있는 데이터를 수용 할 수 있도록 멀리 유지되는 것을 보장하기 위해 품질 프로세스의 몇 가지 유형을 구현하는 경험이 있습니까? 시스템 (5)의 최대 LEN 정의 열을 갖는 특정 예에서
Property columname As %String(MAXLEN = 5, TRUNCATE = 1) [ Required, SqlColumnNumber = 2, SqlFieldName = columname ];
그러나 시스템에 저장된 데이터는 6 자이다.
어떻게 이러한 상황을 사전에 모니터링하고 복구 할 수 있습니까?
/*
내가 캐시
*/
@ psr - 복구를 명확히하기 위해 : 나는 sql 테이블 정의보다 더 큰 데이터를 식별하고 sql 테이블을 다시 정의하는 것을 의미합니다. 또는 최소한 데이터 유형이 예상되는 데이터 유형 (유형 및 길이)에 속하는지에 대한 시스템 관리자에게 메트릭을 제공하십시오. –
답변이 마음에 들면 허용으로 표시 할 수 있습니다. – psr