1

古い CACHE.DAT データベースを Intersystems Cache (2012.1.1 win32 評価版) にロードしようとしています。名前空間とデータベースの作成に成功し、いくつかのデータベース テーブルに対してクエリを実行できました。

ただし、他のテーブルでは、次のエラーが発生します。

ERROR #5540: SQLCODE -400 Message: Unexpected error occurred: <WIDE CHAR>

ドキュメントによると、これは、1 バイト文字が予期される場所でマルチバイト文字が読み取られることを意味します。これは、元のデータベースが UTF-16 であったのに対し、新しいインストールでは UTF-8 を使用していることを意味していると思われます。

私の質問は次のとおりです。データベースを変換する方法、キャッシュを構成して を処理できるようにする方法、またはこの問題を別の方法で処理する方法はありますか?

4

2 に答える 2

1

元のデータベースはUnicodeインストールと現在のインストール8ビットで作成された可能性があります

Cachéは、1バイト文字が予期されていた場所でマルチバイト文字を読み取りました。

于 2012-05-05T11:13:57.660 に答える
0

mgr ディレクトリから cboot.log を送信できますか?
たとえば、私の cboot.log の最初の行

Start of Cache initialization at 02:51:00PM on Apr 7, 2012  
Cache for Windows (x86-64) 2012.2 (Build 549U) Sun Apr 1 2012 17:34:18 EDT  
Locale setting is rusw  
Source directory is c:\intersystems\ensemble12\mgr\utils\  
于 2012-05-05T20:24:50.693 に答える