PL/SQL Developer experience with oaracle11g64-bit systems in Windows7 64-bit Systems
I. Problem phenomena and solving methods
Phenomenon:
1.pl/sql cannot log on to a 64-bit database
2. Enter Chinese in PL/SQL developer, after saving, Chinese becomes '?? ' Such a garbled symbol
3. After importing the data with Chinese, the Chinese data becomes '?? ' Such a garbled symbol
Environment:
1.windows7 64-bit system
2.ORACLE11G 64-bit system
3.pl/sql Developer 9.0
Workaround:
1. Download the WINDOWS32-bit instantclient package and put it in a directory, assuming D:\instantclient
2. Copy D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN to D:\instantclient
(Assuming the oracle11g installation directory is D:\App\Administrator\Product\11.2.0\dbhome_1\)
3. Place the Tnsnames.ora file in the D:\instantclient\Network\Admin directory
4. Add the D:\instantclient to the front of the path of the operating system.
5. Increase the system environment variable Tns_admin variable value is D:\instantclient
6.pl/sql Developer's tool preferences for the Oracle home directory named D:\instantclient,oci Library are D:\instantclient\OCI. Dll
7. Check that the character set of the oracle11g and operating system are consistent and not garbled, assuming that the ZHS16GBK should be consistent.
8. If the oracle11g character set is not ZHS16GBK, modify the oracle11g character set to ZHS16GBK
9. Increase the operating system environment variable the value of the Nls_lang variable is simplified Chinese_china. ZHS16GBK or AMERICAN.ZHS16GBK
Ii. Lessons Learned
Most of these problems are solved on the network. I have tried many times in accordance with the methods on the network, but also re-installed several times Oracle, toss a long time finally solved the garbled problem.
The reason for a long time, because the verification method has been a mistake, before the problem solved, I have always felt that the previous input of the Chinese into the '???? ' To turn it into Chinese again is to solve the problem,
In fact, re-entry in Chinese, after saving does not become '??? is to solve the garbled problem, so the details are important. Sometimes, in the common method is the same method, then this method should be effective, as for the operation after a time, has not solved the problem, it should be cool to think about the operation process, think of details, the problem may be in the operation details, verification method.
Third, relevant knowledge
1. How to view the character set currently used by the Windows operating system
Chcp
Displays the number of code pages for the active console, or changes the active console code page for the console. If used without parameters, CHCP displays the number of active console code pages.
Grammar
chcp [nnn]
Parameters
Specifies the code page. The following table lists all supported code pages and their country/region or language:
Code page Country (region) or language
437 USA
708 Arabic (asmo 708)
720 Arabic (DOS)
850 multilingual (Latin I)
852 Central Europe (DOS)-Slavic (Latin II)
855 Cyrillic (Russian)
857 Turkish
860 Portuguese
861 Icelandic
862 Hebrew (DOS)
863 Canada-French
865 Germanic
866 Russian-Cyrillic (DOS)
869 Modern Greek
874 Thai (Windows)
932 Japanese (Shift-jis)
936 China-Simplified Chinese (GB2312)
949 Korean
950 Traditional Chinese (BIG5)
Unicode
1201 Unicode (Big-endian)
1250 Central Europe (Windows)
1251 Cyrillic (Windows)
1252 Western Europe (Windows)
1253 Greek (Windows)
1254 Turkish (Windows)
1255 Hebrew (Windows)
1256 Arabic (Windows)
1257 Baltic text (Windows)
1258 Vietnamese (Windows)
20866 Cyrillic (Koi8-r)
21866 Cyrillic (Koi8-u)
28592 Central Europe (ISO)
28593 Latin 3 (ISO)
28594 Baltic Text (ISO)
28595 Cyrillic (ISO)
28596 Arabic (ISO)
28597 Greek (ISO)
28598 Hebrew (iso-visual)
38598 Hebrew (iso-logical)
50000 user-defined
50001 Automatic Selection
50220 Japanese (JIS)
50221 Japanese (jis-allow one byte of katakana)
50222 Japanese (jis-allow one byte of katakana-So/si)
50225 Korean (ISO)
50932 Japanese (automatically selected)
50949 Korean (Auto Select)
51932 Japanese (EUC)
51949 Korean (EUC)
52936 English (HZ)
65000 Unicode (UTF-7)
65001 Unicode (UTF-8)
Under Windows platform, directly on the command line, enter the following command, which displays the character set currently used by the Windows operating system:
Chcp
The most important parameter that affects the Oracle database character set is the Nls_lang parameter.
Its format is as follows: Nls_lang = Language_territory.charset
It has three components (language, geography, and character set), each of which controls the characteristics of the NLS subset.
which
Language: Specifies the language of the server message, whether the effect prompt is Chinese or English
Territory: Specifies the date and number format of the server,
Charset: Specifies the character set.
such as: AMERICAN _ AMERICA. Zhs16gbk
From the composition of Nls_lang we can see that the real impact of the database character set is actually the third part.
So the character set between the two databases can import and export data to each other as long as the third part, the only thing that affects the message is the Chinese or English.
How to view database versions
SELECT * from v$version contains version information, core version information, bit information (32-bit or 64-bit), etc.
2. View the database character set
The database server character Set select * from Nls_database_parameters, which is derived from props$, is the character set representing the database.
The client character set environment, select * from Nls_instance_parameters, is derived from V$parameter, which represents the setting of the client's character set, which may be a parameter file, an environment variable, or a registry
Session Character Set Environment select * from Nls_session_parameters, which originates from V$nls_parameters, represents the session's own settings, which may be the session's environment variable or alter session completion, If the session does not have a special setting, it will be consistent with nls_instance_parameters.
Querying the character set of the Oracle server side
There are many ways to identify the Oracle server-side character set, and the more intuitive query method is the following:
Sql> Select Userenv (' language ') from dual;
USERENV (' LANGUAGE ')
----------------------------------------------------
Simplified Chinese_china. Zhs16gbk
PL/SQL Developer experience with oaracle11g64-bit systems in Windows7 64-bit systems