When I want to connect a windows client with Chinese Lang(code page 936) to a Datastage server installed on Linux (English),I encounted the following errors:
"Failed to connect to DataStage server: BI, project: UV
Invalid UniVerse mark characters have been sent from the server. Code page 936 may not support these characters, or you may need to install DataStage NLS."
Because I installed the datastage on a linux suse server using english,and my client is on windows with chinese.I tried to update the Client NLS setting to MS936-CS (it was MS1252-CS earlier). And restarted the datastage server. But I still get the same error.
Has anyone successfully connected from a chinese client to an English server? your response is appreciated!
This topic has been locked.
4 replies Latest Post - 2012-06-11T05:23:06Z by sbjerry
Pinned topic a code page (nls)problem: Failed to connect to DataStage server?!!
Answered question This question has been answered.
Unanswered question This question has not been answered yet.
Updated on 2012-06-11T05:23:06Z at 2012-06-11T05:23:06Z by sbjerry
Ray.Wurlod 12000063JK78 PostsACCEPTED ANSWER
Re: a code page (nls)problem: Failed to connect to DataStage server?!!2008-08-09T00:58:36Z in response to duanng2008MS936-CS should be the correct code page for connecting to a Chinese Windows client using code page 936 (the "CS" stands for "client server"). The CS maps should include handling of marks. You can experiment with the "+MARKS" character maps to see if you can find a working compromise.
LenGreenwood 2700006KN119 PostsACCEPTED ANSWER
Re: a code page (nls)problem: Failed to connect to DataStage server?!!2008-08-11T09:14:49Z in response to duanng2008Here's what I think might be causing your problem. Text below is written for Japanese, so in you case for "932" read "936" instead.
Let's assume you have Designer installed on a Japanese Windows system, or one where you have gone into Control Panel/Regional and Language options/Advanced and selected "Japanese" from the drop-down list of "language to match the language version of the non-Unicode programs you want to use" (parts of Designer are non-Unicode). Let's also assume you have DS Server installed on a non-Japanese Unix or Windows system.
The server has a table that links Windows codepages, such as 932 for Japanese clients, to an NLS "client/server map" held in DSEngine. The problem pre-8.1 is that: (a) not all known maps are automatically registered in that table; (b) there is a known bug (ecase 126505)that means the default map which gets assigned is unusable :(. Only a server installed on a Japanese system will have the map for 932 registered; if you connect from a 932 client to such a system what you may see is a message along the lines of "Invalid Universe mark characters have been sent from the server" every time you try and login. That's because the invalid default map is, unfortunately, being picked up.
This particular problem has been fixed in recent 8.1 builds. It still does not help the fact that the server does not have a mapping for the 932 code page if it is a non-Japanese install - so attempts to transfer Japanese characters between client and server result in lots of "?"s being shown instead. Note that the same problems occur for Chinese (936, 950) and Korean (949) clients, and possibly also for non-Latin1 clients such as Polish (1250), Russian (1251), Greek (1252), Turkish (1254), Hebrew (1255), or Arabic (1256).
The goal for 8.1 is to change DS install so that all code page maps are built and registered on all servers. (See ecase 128305). Until that is available though, and on all DS 7.5.x and IS 8.0.1 systems, you can manually register the required maps, as follows. Note that where the examples have 932 below, you can substitute another code page number.
In a Unix command session :
...or in a Windows command session:
The appropriate commands will take you into the DSEngine command environment, where the prompt is ">". From then onwards the instructions are independent of O/S type. At the ">" prompt, enter:
COPY FROM NLS.CLIENT.MAPS WIN:1252,WIN:932
Should get a message "1 record copied" Then type:
ED NLS.CLIENT.MAPS WIN:932
Should get a message "WIN:932" filed in file "NLS.CLIENT.MAPS" This has created a record called WIN:932 that links code page 932 to the map named MS932-CS, which is probably not built on your server.
So, then type:
NLS.BUILD MAP MS932-CS NO.PAGE
Should eventually see a message about "Binary file is: NLS.MAP.INSTALL/MS932-CS" Then type:
to get out of DSEngine shell and back to the O/S command shell.
You have to stop & restart DSEngine to get this new map loaded. But once that is done, a Japanese client should be able to attach to the server.
Ray.Wurlod 12000063JK78 PostsACCEPTED ANSWER
Re: a code page (nls)problem: Failed to connect to DataStage server?!!2008-08-15T08:06:50Z in response to LenGreenwoodThe same technique outlined by Len will work for 936 (Chinese) as well. Just substitute in his example.
On UNIX, it is wise (necessary!) to source the dsenv script before invoking the dssh command.
sbjerry 060001XVVM1 PostACCEPTED ANSWER
Re: a code page (nls)problem: Failed to connect to DataStage server?!!2012-06-11T05:23:06Z in response to Ray.WurlodMy environment:
Win7 with locale Chinese; datastage 8.5
I installed both server and client on the same PC, select "Simple Chinese" as the server language.During the installation process, the checkbox of "install Global Support" is checked and grey(cannot be modified).
After installed, I checked installation log, there's
"Configuring client/server map file...
Client encoding WIN:936 => Map MS936-CS
MS936-CS required and not currently installed
ERROR: Error setting client/server map MS936-CS for code page WIN:936
Failed to set new server map MS936-CS
Error (-1) calling *NLS.LISTMAPS - NLS shared memory probably not available
Client encoding UNX:DEFAULT => Map GB2312-CS
GB2312-CS required and not currently installed
ERROR: Error setting client/server map GB2312-CS for code page UNX:DEFAULT
Failed to set new server map GB2312-CS"
when using client to connect to server failed, telling :
Invalid UniVerse mark characters have been sent from the server. Code page 936 may not support these characters, or you may need to install DataStage NLS.
when trying to set NLS in "Administrator Client", there's notification:
"Cannot find routine *NLS.LISTMAPS - NLS not installed?"
If I changed the locale of OS to English, and restart, then can use the client to connect to the server.
Can anyone help to solve this problem? I wonder why install an Chinese sever with Chinese locale will bring this problem. Thanks!