Toad World® Forums

Automation export set US7ASCII client character set


#1

When I open Database|Export|Export File browser, I get this picture:

As you can see client character set is defined, and in mine case this is wrong. Automation is done calling program exp directly.

Export finish correctly. Here is sample of log from that export
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Export done in US7ASCII character set and AL16UTF16 NCHAR character set
server uses EE8MSWIN1250 character set (possible charset conversion)

About to export specified users …
. exporting pre-schema procedural objects and actions
. exporting foreign function library names for user AUX
. exporting PUBLIC type synonyms
. exporting private type synonyms
. exporting object type definitions for user AUX
About to export AUX’s objects …

Mine conf:
Windows 7 SP1 x64 16GB RAM
Toad 12.1.0.22 (12.5.0.74) x64
mine env (from command prompt):

C:\Users\DamirV>set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\DamirV\AppData\Roaming
CATALINA_HOME=c:\Program Files\apache-tomcat-7.0.47
CATALINA_TMPDIR=r:\CATALINA
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=PCDAMIR2
ComSpec=C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\DamirV
JAVA_HOME=c:\Program Files\Java\jdk1.7.0_51
LOCALAPPDATA=C:\Users\DamirV\AppData\Local
LOGONSERVER=\PCDAMIR2
MOZ_PLUGIN_PATH=C:\Program Files (x86)\Foxit Software\Foxit Reader\plugins
NUMBER_OF_PROCESSORS=8
ORACLE_BASE=c:\oracle
ORACLE_HOME=c:\oracle\product\11.2.0\dbhome_1
OS=Windows_NT
Path=c:\Program Files\Java\jdk1.7.0_51\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\iCLS Client;c:\oracle\product\11.2.0\dbhome_1\bin;d:
\wintools;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x86;C:\Program Files (
x86)\Intel\OpenCL SDK\3.0\bin\x64;C:\Program Files\Intel\WiFi\bin;C:\Program Files\Common Files\Intel\WirelessCommon;C:\Program Files\Intel\Intel® Management Engine Components
DAL;C:\Program Files\Intel\Intel® Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel® Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel® Ma
nagement Engine Components\IPT;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Intel\WiFi\bin;C:\Program Files\Common Files\Intel\WirelessCommon
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 58 Stepping 9, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=3a09
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SQLPATH=d:\Users\DamirV\Documents\Oracle\stick\sql
SQL_PATH=d:\Users\DamirV\Documents\Oracle\stick\sql
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=R:\user_temp
TMP=R:\user_temp
TNS_ADMIN=d:\Users\DamirV\Documents\Oracle\network\admin
USERDOMAIN=PCDAMIR2
USERNAME=DamirV
USERPROFILE=C:\Users\DamirV
windir=C:\Windows
windows_tracing_flags=3
windows_tracing_logfile=C:\BVTBin\Tests\installpackage\csilogfile.log

C:\Users\DamirV>

Mine Control Panel Regional settings (everything is CRO):

Mine NLS parameters:

Question:
Where can I set Toad option to change this (for me) wrong client character set or do I have to run batch file, where NLS_LANG is set, and then after call exp?

Brg
Damir


#2

bumps


#3

I think this will do it…

if exporting from a dos prompt, you could add a SET NLS_LANG = whatever before the EXP command. But since you aren’t doing it that way, I would try going to the registry, find the NLS_LANG setting for whatever client you are using, and change it there.

HKLM\Software\Oracle<client>\NLS_LANG


#4

Hm that was mine though in first place but unfortunately Toad is not doing that.

In mine registry (for that home HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1)
NLS_LANG is defined as CROATIAN_CROATIA.EE8MSWIN1250
ORACLE_HOME is defined c:\oracle\product\11.2.0\dbhome_1 (same as from command prompt)
ORACLE_HOME_NAME is defined OraDb11g_home1 (same as from command prompt).

So seems that all is defined as it should be but Toad is not following this but some own default value, which seems to be wrong.

Brg
Damir

P.S.

Of course I can do a workaround from own cmd script, which would defined again needed values, but I’m pointing to something else. If this is not OK processed, where else is used in Toad such a inconsistent env values…
Hope you realize mine doubt.


#5

Hmm, well, I’m not sure offhand why it doesn’t use the NLS setting for the client in the registry, but I don’t think that the answer lies anywhere in Toad. Whatever is happening, I would expect the same result if you ran from a command prompt (without specifying SET NLS_LANG=X right before the call to EXP)


#6

John,

just tried to execute same statements from command prompt (without Toad) and result is same.
So it is not Toad problem, but how Oracle works on Windows.
For others who may fall in the same problem.

  1. In Win env properties (place NLS_LANG
  2. Restart Toad to read new env values.
    Otherwise is to setup in Windows registry but then this will affect any Oracle session (including Toad) and this is not OK in mine case because some tools (like AWR report-http://damir-vadas.blogspot.com/2013/07/ash-and-ora-01843-not-valid-month-11g.html) works only with English settings.

Brg
Damir