1

I am trying to load in an old CACHE.DAT database into Intersystems Cache (2012.1.1 win32 evaluation). I've managed to create a namespace and database, and I'm able to query some of the database tables.

However, for other tables, I get the following error:

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

The documentation tells me that this means that a multibyte character is read where a one byte character is expected. I suspect this might mean that the original database was in UTF-16, while my new installation is using UTF-8.

My question is: is there a way to either convert the database, to configure Cache so that it can deal with , or to deal with this problem in another way?

Macuyiko
  • 85
  • 1
  • 10

2 Answers2

1

maybe the original database was created in unicode installation and current installation 8-bit

Caché read a multibyte character where a 1-byte character was expected.

DAiMor
  • 3,185
  • 16
  • 24
  • That's what I thought too. I know Caché used to ask during installation if you wanted Unicode or not, but the question didn't come up during the installation of 2012.1.1. – Macuyiko May 05 '12 at 11:23
  • you can see locale settings from old instance ? `zw ^%SYS("LOCALE")` compare with new installation or from url localhost:57772/csp/sys/mgr/%25CSP.UI.Portal.NLS.cls – DAiMor May 05 '12 at 11:39
  • No, I cannot access the old instance. The new instance reports "enu8", which seems to be a latin1 locale... – Macuyiko May 05 '12 at 13:12
  • enu8 for 8bit instance, try to change on enuw – DAiMor May 05 '12 at 13:17
  • Found this out as well. Tried changing to "enuw", Cache complained that this locale was not available. I guess because the Windows installation defaults to non-Unicode. I installed the Linux version (where the "Custom" installation option *was* available, allowing me to install the Unicode instance), and everything works on this platform. Problem solved, although it would be nice to know _how_ to install enuw on Windows. – Macuyiko May 05 '12 at 14:38
  • on all my instances on Windows or Linux, dafault a locale rusW (unicode) – DAiMor May 05 '12 at 20:15
  • Just for completeness sake: The problem is the evaluation installer. It defaults to 8bit and doesn't give you the choice. This is a known problem with the eval installer. – kazamatzuri May 06 '12 at 08:43
0

you can send your cboot.log from mgr directory ?
for example first lines in my 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\  
DAiMor
  • 3,185
  • 16
  • 24