私はintersytemsキャッシュの使用に慣れており、キャッシュに格納されたデータを照会しているところで、基礎となるシステム。グローバルに格納されるデータは、ほとんど常にオブジェクトコードで定義されているデータよりも大きくなります。Intersystems Cache - データがオブジェクト定義に準拠していることを保証するためのオブジェクトコードの維持
このように、以下のようなエラーが頻繁に発生します。
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マッピング)は、彼らがグローバルで永続化されているデータを収容できるように離れて維持されることを保証するために、品質プロセスのいくつかの種類を実装すると任意の経験を持っていますか?
Property columname As %String(MAXLEN = 5, TRUNCATE = 1) [ Required, SqlColumnNumber = 2, SqlFieldName = columname ];
この特定の例では、システムには最大lenの列が定義されていますが、システムに格納されるデータの長さは6文字です。
このような状況を事前に監視して修復するにはどうすればよいですか。
/*
私はキャッシュ
*/
@psr - 修復を明確にするために:私は、sqlテーブル定義より大きいデータを特定し、sqlテーブルを再定義することを意味します。または、最低限、予想されるデータタイプ(タイプと長さ)に含まれるデータの割合についてシステム管理者にメトリクスを提供し始めてください。 –
回答が好きなら、それを承認済みとしてマークできます。 – psr