Why SQL plus cannot insert CJK Character

When inserting the chinese character into the table
the return character all becomes '?'
(The column type set to NCHAR, and NCHAR charset is UTF16)
No matter I use OLE DB or SQL plus
the result are the same
How to insert it and read correctly ?

Language in client machine is also Traditional Chinese
Now I have found a setting to solve it.
But it is very strange.
Originally, the Oracle's NLS_Characterset is Win1252 (Latin)
The NLS_NCHAR_CHARACTERSET is UTF16.
In this case, the chinese cannot be input.
But when I change the NLS_CHARACTERSET to UTF8.
It becomes ok.
I do not think that the NLS_CHARACTERSET will affect NCHAR
type, but it did, now.
Will the Oracle convert the UTF16 to the NLS_CHARACTERSET
codepage and save?

Similar Messages

  • The SQL*PLUS cannot be connected

    The SQL*PLUS cannot be connected.
    When I try to connect to sqlplus, I get the following error message: ORA-12560: TNS:protocol adapter error
    I trouble shoot it according to the following steps, but have not found any problems:
    C:\Documents and Settings\Administrator>sqlplus / as sysdba
    SQL*Plus: Release 11.1.0.6.0 - Production on Tue Apr 27 09:45:51 2010
    Copyright (c) 1982, 2007, Oracle.  All rights reserved.
    ERROR:
    ORA-12560: TNS:protocol adapter error
    Enter user-name:
    C:\Documents and Settings\Administrator>lsnrctl status
    LSNRCTL for 32-bit Windows: Version 11.1.0.6.0 - Production on 27-APR-2010 09:37:56
    Copyright (c) 1991, 2007, Oracle.  All rights reserved.
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
    STATUS of the LISTENER
    Alias                     LISTENER
    Version                   TNSLSNR for 32-bit Windows: Version 11.1.0.6.0 - Production
    Start Date                27-APR-2010 09:35:08
    Uptime                    0 days 0 hr. 2 min. 48 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   F:\app\oracle\product\11.1.0\db_1\network\admin\listener.ora
    Listener Log File         f:\app\oracle\diag\tnslsnr\HOST1\listener\alert\log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=HOST1)(PORT=1521)))
    Services Summary...
    Service "db1" has 1 instance(s).
      Instance "db1", status UNKNOWN, has 1 handler(s) for this service...
    The command completed successfully
    C:\Documents and Settings\Administrator>tnsping db1
    TNS Ping Utility for 32-bit Windows: Version 11.1.0.6.0 - Production on 27-APR-2010 09:38:46
    Copyright (c) 1997, 2007, Oracle.  All rights reserved.
    Used parameter files:
    F:\app\oracle\product\11.1.0\db_1\network\admin\sqlnet.ora
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = host1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICA
    TED) (SERVICE_NAME = db1)))
    OK (500 msec)
    C:\Documents and Settings\Administrator>echo %oracle_sid%
    db1Both the OracleServiceDB1 service and the OracleOraDb11g_home1TNSListener service are already started.

    The following is from F:\app\oracle\diag\tnslsnr\HOST1\listener\trace\listener.log
    System parameter file is F:\app\oracle\product\11.1.0\db_1\network\admin\listener.ora
    Log messages written to f:\app\oracle\diag\tnslsnr\HOST1\listener\alert\log.xml
    Trace information written to f:\app\oracle\diag\tnslsnr\HOST1\listener\trace\ora_2020_1660.trc
    Trace level is currently 0
    Started with pid=2020
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=HOST1)(PORT=1521)))
    Listener completed notification to CRS on start
    TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE
    Tue Apr 27 09:21:18 2010
    System parameter file is F:\app\oracle\product\11.1.0\db_1\network\admin\listener.ora
    Log messages written to f:\app\oracle\diag\tnslsnr\HOST1\listener\alert\log.xml
    Trace information written to f:\app\oracle\diag\tnslsnr\HOST1\listener\trace\ora_1984_2004.trc
    Trace level is currently 0
    Started with pid=1984
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=HOST1)(PORT=1521)))
    Listener completed notification to CRS on start
    TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE
    Tue Apr 27 09:35:08 2010
    System parameter file is F:\app\oracle\product\11.1.0\db_1\network\admin\listener.ora
    Log messages written to f:\app\oracle\diag\tnslsnr\HOST1\listener\alert\log.xml
    Trace information written to f:\app\oracle\diag\tnslsnr\HOST1\listener\trace\ora_3740_3788.trc
    Trace level is currently 0
    Started with pid=3740
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=HOST1)(PORT=1521)))
    Listener completed notification to CRS on start
    TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE
    Tue Apr 27 09:37:56 2010
    WARNING: Subscription for node down event still pending
    27-APR-2010 09:37:56 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=Administrator))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=185599488)) * status * 0
    Tue Apr 27 09:38:49 2010
    27-APR-2010 09:38:49 * ping * 0
    Tue Apr 27 10:48:44 2010
    27-APR-2010 10:48:44 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=db1)(CID=(PROGRAM=F:\app\oracle\product\11.1.0\db_1\bin\sqlplus.exe)(HOST=HOST1)(USER=Administrator))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.2)(PORT=2030)) * establish * db1 * 12518
    TNS-12518: TNS:listener could not hand off client connection
    TNS-12560: TNS:protocol adapter error
      TNS-00530: Protocol adapter error
       32-bit Windows Error: 2: No such file or directory
    Tue Apr 27 10:49:26 2010
    System parameter file is F:\app\oracle\product\11.1.0\db_1\network\admin\listener.ora
    Log messages written to f:\app\oracle\diag\tnslsnr\HOST1\listener\alert\log.xml
    Trace information written to f:\app\oracle\diag\tnslsnr\HOST1\listener\trace\ora_3948_1304.trc
    Trace level is currently 0
    Started with pid=3948
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=HOST1)(PORT=1521)))
    Listener completed notification to CRS on start
    TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE
    Tue Apr 27 10:50:24 2010
    27-APR-2010 10:50:24 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=db1)(CID=(PROGRAM=F:\app\oracle\product\11.1.0\db_1\bin\sqlplus.exe)(HOST=HOST1)(USER=Administrator))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.2)(PORT=2045)) * establish * db1 * 12518
    TNS-12518: TNS:listener could not hand off client connection
    TNS-12560: TNS:protocol adapter error
      TNS-00530: Protocol adapter error
       32-bit Windows Error: 2: No such file or directory

  • Cannot insert Chinese character into nvarchar2 field

    I have tested in two environments:
    1. Database Character Set: ZHS16CGB231280
    National Character Set: AL16UTF8
    If the field type of datatable is varchar2 or nvarchar2, the provider can read and write Chinese correctly.
    2. Database Character Set:WE8MSWIN1252
    National Character Set: AL16UTF8
    The provider can not read and write Chinese correctly even the field type of datatable is nvarchar2
    I find that for the second one, both MS .NET Managed Provider for Oracle and Oracle Managed Data Provider cannot read and write NCHAR or NVARCHAR2 fields. The data inserted into these fields become question marks.
    Even if I changed the NLS_LANG registry to SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280, the result is the same.
    For the second situation, only after I change the Database Character Set to ZHS16CGB231280 with ALTER DATABASE CHARACTER SET statement, can I insert Chinese correctly.
    Does any know why I cannot insert Chinese characters into Unicode fields when the Database Character Set is WE8MSWIN1252? Thanks.
    Regards,
    Jason

    Hi Jason,
    First of all, I am not familiar with MS .NET Managed Provider for Oracle or Oracle Managed Data Provider.
    How did you insert these Simplified Chinese characters into the NVARCHAR2 column ? Are they hardcoded as string literals as part of the SQL INSERT statement ? If so, this could be because, all SQL statements are converted into the database character set before they are parsed by the SQL engine; hence these Chinese characters would be lost if your db character set was WE8MSWIN1252 but not when it was ZHS16CGB231280.
    Two workarounds, both involved the removal of hardcoding chinese characters.
    1. Rewrite your string literal using the SQL function UNISTR().
    2. Use bind variables instead of text literals in the SQL.
    Thanks
    Nat

  • Why SQL Plus?

    Why Oracle People give us SQl Plus?.
    Why not something like SQL Navigator or MS Query Analizer?.
    SQL Plus is so terrible, is like MS-DOS.

    Well, maybe because SQL Navigator is not their product (would it not be nice if Oracle could bundle this as a free goodies with the database license) and Last I checked, MS Query Analizer would work against that other database (not against Oracle), but again I might not have the correct/complete information (also not a Oracle product).
    As for asking Oracle to provide comparable tools, well you have SQL Worksheet (for people who want GUI interface) or the OEM. Other host of tools provided would allow you to manage and tune your database.

  • SQL Plus cannot connect (computers connected via DSL router)

    Hi!
    I have two computers connected locally via DSL router. One's IP is 192.168.1.64 and the other's IP is 192.168.1.65.
    I try to connect to 192.168.1.64 via SQL plus from 192.168.1.66 by issuing the following command: sqlplus system@"192.168.1.64/orcl.168.1.100" and receive this error: "ORA-12170: TNS: Connect timeout occurred." I thought it was Windows default firewall that caused this and therefore changed windows' firewall settings in 192.168.1.64 by adding port 1521 into windows' firewall list. Now I receive this error: "ORA-12541: TNS:no listener."
    Edited by: totalnewby on Jun 12, 2010 10:53 AM

    totalnewby wrote:
    Hi!
    I have two computers connected locally via DSL router. One's IP is 192.168.1.64 and the other's IP is 192.168.1.65.
    I try to connect to 192.168.1.64 via SQL plus from 192.168.1.66 by issuing the following command: sqlplus system@"192.168.1.64/orcl.168.1.100" and receive this error: "ORA-12170: TNS: Connect timeout occurred." I thought it was Windows default firewall that caused this and therefore changed windows' firewall settings in 192.168.1.64 by adding port 1521 into windows' firewall list. Now I receive this error: "ORA-12541: TNS:no listener."
    Edited by: totalnewby on Jun 12, 2010 10:53 AM=================================
    Assume you have the following in your tnsnames.ora:
    larry =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = myhost)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = curley)
    Now, when you issue a connect, say like this:
    $> sqlplus scott/tiger@larry
    tns will look in your tnsnames.ora for an entry called 'larry'. Next, tns sends a request to (PORT = 1521) on (HOST = myhost) using (PROTOCOL = TCP), asking for a connection to (SERVICE_NAME = curley).
    Where is (HOST = myhost) on the network? When the request gets passed from tns to the next layer in the network stack, the name 'myhost' will get resolved to an IP address, either via a local 'hosts' file, via DNS, or possibly other less used mechanisms. You can also hard-code the ip address (HOST = 123.456.789.101) in the tnsnames.ora.
    Next, the request arrives at port 1521 on myhost. Hopefully, there is a listener on myhost configured to listen on port 1521, and that listener knows about SERVICE_NAME = curley. If so, you'll be connected.
    A couple of important points.
    First, the listener is a server side only process. It's entire purpose in life is the receive requests for connections to databases and set up those connections. Once the connection is established, the listener is out of the picture. It creates the connection. It doesn't sustain the connection. One listener, running from one oracle home, listening on a single port, will serve multiple database instances of multiple versions running from multiple homes. It is an unnecessary complexity to try to have multiple listeners. That would be like the telephone company building a separate switchboard for each customer.
    Second, the tnsnames.ora file is a client side issue. It's purpose is for address resolution - the tns equivalent of the 'hosts' file further down the network stack. The only reason it exists on a host machine is because that machine can also run client processes.
    What can go wrong?
    First, there may not be an entry for 'larry' in your tnsnames. In that case you get "ORA-12154: TNS:could not resolve the connect identifier specified" No need to go looking for a problem on the host, with the listener, etc. If you can't place a telephone call because you don't know the number (can't find your telephone directory (tnsnames.ora) or can't find the party you are looking for listed in it (no entry for larry)) you don't look for problems at the telephone switchboard.
    Maybe the entry for larry was found, but myhost couldn't be resolved to an IP address (say there was no entry for myhost in the local hosts file). This will result in "ORA-12545: Connect failed because target host or object does not exist"
    Maybe there was an entry for myserver in the local hosts file, but it specified a bad IP address. This will result in "ORA-12545: Connect failed because target host or object does not exist"
    Maybe the IP was good, but there is no listener running: "ORA-12541: TNS:no listener"
    Maybe the IP was good, there is a listener at myhost, but it is listening on a different port. "ORA-12560: TNS:protocol adapter error"
    Maybe the IP was good, there is a listener at myhost, it is listening on the specified port, but doesn't know about SERVICE_NAME = curley. "ORA-12514: TNS:listener does not currently know of service requested in connect descriptor"
    =====================================

  • PL/SQL 10g - Cannot Insert Values from PL/SQL

    Hi People,
    BACKGROUND (if required):
    I'm trying to write a message threading algorithm for uni, I believe it works so far, it's just matching the subjects at the moment I want to expand it to include email addresses but that will be at a later date.
    A brief run down, at the moment, a user can generate a list of email addresses to filter the corpus with, these are then inserted (via Java) into the table Sender. These addresses are then used in an IF statement, however they are only used if the table sender is populated. The messges that are identified as threads have their Message ID inserted into another table but they also have their values printed to the DBMS output.
    QUESTION:
    What I need help with is although the values print out to the DBMS Output after a great deal of time, normally after the DBMS buffer has maxed out (thus the statement ends in error). The values printed are not inserted into the table.
    Any help on solving this or optimising if would be greatly appreciated, I'm new to PL/SQL i'm afraid so it's probably a really messy statement.
    If this is a badly worded question and I need to supply more information then I gladly will, however i'm not 100% on what information is relevant at the moment.
    Below is the statement in question.
    Thanks and Regards,
    K
    LOOP
    IF sender_cur1%FOUND THEN
    IF sub_One = Sub_two and sub_One_MID != sub_Two_MID and Sub_One_Sender = send_user_cur THEN
    INSERT INTO MATCHING_SUB (MID) VALUES (sub_Two_MID);
    dbms_output.put_line('MID is: ' || sub_Two_MID);
    END IF;
    ELSE
    IF sub_One = Sub_two and sub_One_MID != sub_Two_MID THEN
    INSERT INTO MATCHING_SUB (MID) VALUES (sub_Two_MID);
    dbms_output.put_line('MID is: ' || sub_Two_MID);
    END IF;
    END IF;
    Edited by: user8967525 on 01-Mar-2010 07:27
    Edited by: user8967525 on 01-Mar-2010 08:08

    cd,
    I will most certainly try.
    I have a table of emails that I am attempting to thread by means of comparing the subjects together (for now). However ultimately I want to be able to bring in the recipients as well. However this can be ignored for now.
    The main variables from the Messages table are:
    MID(number) - 0 - 245000
    SENDER(VARCHAR) - Email Address
    SUBJECT_CLN6 - VARCAHR - Cleaned email subject.
    I am creating two instancs of a cursor that contains the subjects and MID's from Messages. I am then looping through cur1 comparing the value against all values in cur2, this continues until all values in cur1 have been compared against cur2. I use the MID to ensure that I am not comparing the same Message. Furthermore I am also filtering the Emails by Sender (if the table has been populated by the user, via a java applet, otherwise if just uses the subject). The variable Send_User_Cur takes takes its values from the Table called Sender, whilst sub_one_sender takes its values from the column Sender in Messages.
    The proposed output of this at the moment is to just have the MID's (and later all the relevant columns, however just for now MID) of all the threaded emails, inserted into the table MATCH_THREAD, such that they can be called upon later for further processing and most likely called from a java applet at some point as well.
    I've pasted the entire code below. I understand that it looks a bit messy on the preview and for that I apologise.
    Thanks all!
    Kev
    DECLARE
    CURSOR sub_cur1 IS
    SELECT MID, Sender, trim(subject_cln6) from MESSAGES;
    sub_One MESSAGES.subject_cln6%TYPE;
    sub_One_MID MESSAGES.MID%type;
    sub_One_Sender MESSAGES.SENDER%type;
    CURSOR sub_cur2 IS
    SELECT MID, trim(subject_cln6) from Messages;
    sub_Two MESSAGES.subject_cln6%TYPE;
    sub_Two_MID MESSAGES.MID%type;
    CURSOR sender_cur1 IS
    SELECT SENDER_ID FROM SENDER;
    Send_User_Cur SENDER.SENDER_ID%type;
    counter number := 0;
    MID_t MESSAGES.MID%TYPE;
    i number := 0;
    j number := 0;
    BEGIN
    SELECT count(subject) INTO counter
    FROM MESSAGES;
    OPEN sub_cur1;
    OPEN sub_cur2;
    OPEN sender_cur1;
    FETCH sub_cur1 INTO sub_One_MID, Sub_One_Sender, Sub_One;
    FETCH sender_cur1 INTO Send_User_Cur;
    WHILE sub_cur1%FOUND
    LOOP
    IF sub_cur2%ISOPEN THEN
    FETCH sub_cur2 INTO sub_Two_MID, SUB_Two;
    dbms_output.put_line('OPEN');
    ELSE
    OPEN sub_cur2;
    FETCH sub_cur2 INTO sub_Two_MID, SUB_Two;
    --dbms_output.put_line('OPENED and FETCHED');
    END IF;
    LOOP
    IF sender_cur1%FOUND THEN
    IF sub_One = Sub_two and sub_One_MID != sub_Two_MID and Sub_One_Sender = send_user_cur THEN
    INSERT INTO MATCH_THREAD (MID) VALUES (sub_Two_MID);
    commit;
    END IF;
    ELSE
    IF sub_One = Sub_two and sub_One_MID != sub_Two_MID THEN
    INSERT INTO MATCH_THREAD (MID) VALUES (sub_Two_MID);
    commit;
    END IF;
    END IF;
    FETCH sub_cur2 INTO sub_Two_MID, SUB_Two;
    i := i + 1;
    EXIT WHEN i = counter;
    END LOOP;
    CLOSE sub_cur2;
    FETCH sub_cur1 INTO sub_One_MID, Sub_One_Sender, SUB_One;
    i := 0;
    dbms_output.put_line('sub_One_MID: ' || sub_one_mid);
    END LOOP;
    CLOSE sub_cur1;
    CLOSE sub_cur2;
    END;

  • Why so spartan and user unfriendly SQL*Plus?

    Hi,
    I am relatively new to Oracle and therefore I would like to know why SQL*Plus command line utility is so spartan and user unfriendly.
    I am talking about SQL*Plus 10.2.0.1 included in Oracle 10g R2 for Linux x86. On many UNIXes platforms there are readline library and pager utility for output piping. Typical example of user-friendly command line utility is MySQL client. So, my question is:
    why is SQL*Plus binary different (not linked against readline library and doesn't provide a call to pager for output piping)?
    Thanks
    Albert

    I think there is no tool that will do eveything that you want.
    SQL*Plus doesn't format good. Cannot use it for writing packages(sort of). But, it's good for things like 'set autoprint on' to name one. And it's good for tracing.
    SQL Developer: I personally got a bug filed on this one, and since then, lost interest in it.
    PL/SQL Developer: Love this for the way it integrates Visual Sourcesafe, but, it sucks in quering tables with XMLTypes.
    SQL Navigator: Love this for running queries against nested tables. But, this thing sucks at formatting. Somehow , unlike PL/SQL Developer, it semi CHECKS if your code is gonna compile or not BEFORE it formats. I say, dude, I am gonna have to compile the procedure in the database anyway, just format the damn thing.
    Toad: Basically use it to use the session browser, may use it to Kill a session. ( I know I should be using the provided DBMS packages to do that.).
    If you ask me, I can live with SQL*Plus and PL/SQL developer. Pl/SQL Developer because of formatting capabilities and Sourcesafe integration- which is absolutely important for PL/SQL too).
    My two cents.
    Rahul.

  • SQL Tool to insert/update/delete non english data

    I have a requirement to insert/update non English data using command line.
    I know that Sql*Plus cannot be used for this. I have tried Sql*Loader and that works fine for inserts.
    Question is can SQL*loader be used for updates and deletes too.
    Also which utility is the best one to be used in this scenario.

    In another forum I found out that SQL*Plus can actually be used for inserting unicode data.
    Re: Sql script not able to insert unicode data in table

  • SQL*Plus and chinese characters

    Hi all,
    I have following scenario:
    1. Database 10.1.0.5 with following NLS-Parameter:
    SQL> select * from NLS_DATABASE_PARAMETERS;
    NLS_LANGUAGE AMERICAN
    NLS_NCHAR_CHARACTERSET AL16UTF16
    NLS_TERRITORY AMERICA
    NLS_CURRENCY $
    NLS_ISO_CURRENCY AMERICA
    NLS_NUMERIC_CHARACTERS .,
    NLS_CHARACTERSET WE8MSWIN1252
    NLS_CALENDAR GREGORIAN
    NLS_DATE_FORMAT DD-MON-RR
    NLS_DATE_LANGUAGE AMERICAN
    NLS_SORT BINARY
    NLS_TIME_FORMAT HH.MI.SSXFF AM
    NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
    NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
    NLS_DUAL_CURRENCY $
    NLS_COMP BINARY
    NLS_LENGTH_SEMANTICS BYTE
    NLS_NCHAR_CONV_EXCP FALSE
    NLS_RDBMS_VERSION 10.1.0.5.0
    SQL> select * from NLS_SESSION_PARAMETERS;
    NLS_LANGUAGE AMERICAN
    NLS_TERRITORY GERMANY
    NLS_CURRENCY €
    NLS_ISO_CURRENCY GERMANY
    NLS_NUMERIC_CHARACTERS ,.
    NLS_CALENDAR GREGORIAN
    NLS_DATE_FORMAT DD.MM.RR
    NLS_DATE_LANGUAGE AMERICAN
    NLS_SORT BINARY
    NLS_TIME_FORMAT HH24:MI:SSXFF
    NLS_TIMESTAMP_FORMAT DD.MM.RR HH24:MI:SSXFF
    NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR
    NLS_TIMESTAMP_TZ_FORMAT DD.MM.RR HH24:MI:SSXFF TZR
    NLS_DUAL_CURRENCY €
    NLS_COMP BINARY
    NLS_LENGTH_SEMANTICS BYTE
    NLS_NCHAR_CONV_EXCP FALSE
    SQL> select * from V$NLS_PARAMETERS;
    NLS_LANGUAGE AMERICAN
    NLS_TERRITORY GERMANY
    NLS_CURRENCY €
    NLS_ISO_CURRENCY GERMANY
    NLS_NUMERIC_CHARACTERS ,.
    NLS_CALENDAR GREGORIAN
    NLS_DATE_FORMAT DD.MM.RR
    NLS_DATE_LANGUAGE AMERICAN
    NLS_CHARACTERSET WE8MSWIN1252
    NLS_SORT BINARY
    NLS_TIME_FORMAT HH24:MI:SSXFF
    NLS_TIMESTAMP_FORMAT DD.MM.RR HH24:MI:SSXFF
    NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR
    NLS_TIMESTAMP_TZ_FORMAT DD.MM.RR HH24:MI:SSXFF TZR
    NLS_DUAL_CURRENCY €
    NLS_NCHAR_CHARACTERSET AL16UTF16
    NLS_COMP BINARY
    NLS_LENGTH_SEMANTICS BYTE
    NLS_NCHAR_CONV_EXCP FALSE
    2. Windows Language is german
    I should be possible to insert the chinese characters into the table from the SQL*Plus (sqlplusw.exe) and SQL*Plus should be able to show the chinese characters from that table.
    Is there any Step-By-Step Tutorial for the changes, that I should provide?
    Can anybody help me?
    Thanks

    I have a table CHINESE with one column STRING
    NVARCHAR2(250). There I will store the chinese
    character and display the content in SQL*Plus.
    Into the table I will insert with SQL*Plus with
    INSERT Statement.
    To store the character you could use e.g.
    insert unistr(<unicode value expression>) into table But Sql*Plus does not support Unicode display. Use SQL Developer instead for displaying your table data.
    You could also use select dump(column,1016) from table to verify that character data is correctly converted and stored.
    Windows Codepage is 1252.
    What do you mean under "what is your corresponding
    NLS_LANG client char set setting" ?With acp 1252, your NLS_LANG should contain .WE8MSWIN1252 - this tells Oracle your acp setting.
    Note however that windows-1252 does not define any Chinese characters.
    http://www.microsoft.com/globaldev/reference/sbcs/1252.mspx
    http://www.oracle.com/technology/tech/globalization/htdocs/nls_lang%20faq.htm
    You can read more about Unicode string literals in Oracle in chapter 7 Programming with Unicode, Globalization Support guide in 10.2. Also you probably should read about NCHAR literal replacement (available only in 10.2 and above).
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/toc.htm
    Message was edited by:
    orafad

  • Restricting the user to operate DML's from SQL PLUS Environment

    how to Restrict the user to operate DML statements from SQL PLUS Environment.

    Once you restrict SCOTT user to not be able to do an INSERT command, the SQL*Plus returns an error for user SCOTT when he tries to execute an INSERT statement.
    Note however, that this is enforced by SQL*Plus, not the database!
    Look into the use of product_user_profile from Oracle documentation for more information.
    SQL> insert into product_user_profile values('SQL*Plus', 'SCOTT', 'INSERT', NULL, NULL, 'DISABLED', NULL, NULL) ;
    1 row created.
    SQL> commit ;
    Commit complete.
    SQL> disconnect
    Disconnected from Oracle9i Enterprise Edition Release 9.2.0.3.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.3.0 - Production
    SQL>
    SQL> connect scott
    Enter password:
    Connected.
    SQL>
    SQL> insert into emp select * from emp ;
    SP2-0544: invalid command: insert
    SQL>
    SQL>

  • PS_ECQUEUEINST = Cannot insert duplicate key row in object

    Running ECIN0001, and getting error
    [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert duplicate key row in object 'PS_ECQUEUEINST' with unique index 'PS_ECQUEUEINST'
    Table values look like as under
    ECTRANSID ECTRANSINOUTSW ECQUEUEINSTANCE
    ASN_IN      I     13
    BANKNA      I     1891
    BSP      I     120
    EEBANKNA      I     11765
    HRBUS      I     -1
    HREMP      I     -1
    HREMP      I     1
    INVOICE      O     100
    PO ACK      I     1
    RFQ      I     4
    VOUCHER-IN      I     18083

    Please, it is always a good idea to provide application, module, Peopletools, database and OS versions you are working on.
    Nicolas.

  • Inserting Special Character using SQL*Plus

    I am trying to insert special character like ® using SQL*Plus but it is inserting a .(dot) instead.
    Environment:
    Oracle Enterprise version : 9.2.0.3.0
    Sun Solaris 8
    Any help will be appreciated.
    Regards,
    Nirmalya

    That's the reason I use ASCII values always for special characters.
    SQL> create table sample1(col1 varchar2(50))
      2  /
    Table created.
    SQL> insert into sample1
      2  select 'The temperature outside is 20'||chr(176)||' centigrade' col1
      3  from dual
      4  /
    1 row created.
    SQL> commit
      2  /
    Commit complete.
    SQL> select * from sample1
      2  /
    COL1
    The temperature outside is 20° centigrade
    1 row selected.
    SQL> drop table sample1 purge
      2  /
    Table dropped.
    SQL> Cheers
    Sarma.

  • Cannot see table in sql developer or sql plus

    I have created a record in application designer. I have then built the table. I can close the record and then find it again in application designer. But if I go to sql plus or sql developer, I cannot see it. Am I missing a step?

    You probably can see all the tables of sysadm because someone else give you proper grant for that on existing sysadm's objects.
    For the new or modified object (drop+create) you should :
    1. connect as sysadm and run
    grant select on new_table_name to your_own_user;2. connect with your own user and run
    create synonym new_table_name for sysadm.new_table_name;Then you'll be able to query that table without using schema name alias.
    Some admin have also a ddl trigger to make it automatically.
    You could also work through a role and public synonym if more than one user needs to access sysadm's objects.
    Nicolas.

  • INSERTing chinese characters in SQL*plus

    Db version: 10gR2
    NLS_NCHAR_CHARACTERSET for my DB is AL16UTF16 by which i can store chinese characters. To INSERT using SQL*Plus, i tried to copy and paste some chinese characters from internet. When the characters get pasted, it becomes '?????' (question marks). What else do i have to set to store Chinese characters?
    SQL>  CREATE TABLE EMP2
      2   (EMPNO NUMBER,
      3   ENAME NVARCHAR2(500));
    Table created.
    SQL> Insert into emp2(empno,ename) values(889,UNISTR('????'));
    1 row created.
    SQL> COMMIT;
    Commit complete.
    SQL> SELECT * FROM EMP2;
         EMPNO ENAME
           889 ????

    Actually, it looks like Forums do something strange to URLs pasted into posts. Sorry!
    The thread URL is Re: store/retrieve data in lang other than eng when CHARACTERSET is not UTF8

  • Java.sql.SQLException: ORA-01400: cannot insert NULL into ("SYSTEM"."DESCRIPTION"."TYPE")

    insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('','','',41)
    java.sql.SQLException: ORA-01400: cannot insert NULL into ("SYSTEM"."DESCRIPTION"."TYPE")
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
    at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:623)
    at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:112)
    at oracle.jdbc.driver.T4CStatement.execute_for_rows(T4CStatement.java:474)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1028)
    at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1125)
    at com.event.struts.InsertDetails.doPost(InsertDetails.java:78)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Unknown Source
    and i my
    Action class is
    public class InsertDetails extends HttpServlet{
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
    // TODO Auto-generated method stub
    Connection conn = null;
    try{
    List list = (List) req.getSession().getAttribute("listbean");
    InputBean ib = (InputBean) list.get(0);
    InputBean ib1 = (InputBean) list.get(1);
    InputBean ib2 = (InputBean) list.get(2);
    InputBean ib3 = (InputBean) list.get(3);
    InputBean ib4 = (InputBean) list.get(4);
    InputBean ib5 = (InputBean) list.get(5);
    InputBean ib6 = (InputBean) list.get(6);
    InputBean ib7 = (InputBean) list.get(7);
    conn = ConnectionUtils.getConnection();
    Statement stmt = conn.createStatement();
    String sql1 = "select seq.nextval from DUAL";
    ResultSet rs1 = stmt.executeQuery(sql1);
    rs1.next();
    int event_id = rs1.getInt(1);
    //Advanced and general info
    String sql2 = "insert into EVENT_INFO (EVENT_ID,EVENT_NAME,SHORT_NAME,EVENT_START_DATE,EVENT_END_DATE,EVENT_START_TIME,EVENT_END_TIME,event_LOCATION,ADDRESS1,ADDRESS2,CITY,STATE,ZIP_CODE,COUNTRY,event_COMMENT,EVENT_OVERVIEW,EXTRA1,EXTRA2,MEMBERSHIP_OPTION,EXTRA3,EXTRA4,EXTRA5,KID,TEEN,ADULT,SENIOR,SENILE,EVENT_TYPE1,EVENT_TYPE2,DETAILED_DESCRIPTION,IS_DETAILED_DESCRIPTION_HTML,ADDITIONAL_URL,BYPASS_INFORMATION_PAGE,CANCELLATION_POLICY,ADDTIONAL_INFO) values("+event_id+",'"+ib.getName()+"','"+ib.getShortname()+"','"+ib.getStartdate()+
    "','"+ib.getEnddate()+"','"+ib.getStarttime()+"','"+ib.getEndtime()+"','"+ib.getLocation()+"','"+ib.getAddress1()+"','"+ib.getAddress2()+"','"+
    ib.getCity()+"','"+ib.getState()+"','"+ib.getZip()+"','"+ib.getCountry()+"','"+ib.getComment()+"','"+ib.getTextarea()+"','"+ib.getExtra1()+"','"+
    ib.getExtra2()+"','"+ib.getExtra3()+"','"+ib.getExtra4()+"','"+ib.getExtra5()+"','"+ib.getExtra6()+"','"+ib.getExtra7()+"','"+ib.getExtra8()+"','"+
    ib.getExtra9()+"','"+ib.getExtra10()+"','"+ib.getExtra11()+"','"+ib.getExtra12()+"','"+ib.getExtra13()+"','"+ib1.getTextarea()+"','"+ib1.getExtra1()+"','"+
    ib1.getName()+"','"+ib1.getExtra2()+"','"+ib2.getCancellation_policy()+"','"+ib2.getTextarea()+"')";
    stmt.executeQuery(sql2);
    //Description
    List list1 = (List) ib2.getList();
    DescriptionBean db = (DescriptionBean) list1.get(0);
    DescriptionBean db1 = (DescriptionBean) list1.get(1);
    DescriptionBean db2 = (DescriptionBean) list1.get(2);
    DescriptionBean db3 = (DescriptionBean) list1.get(3);
    DescriptionBean db4 = (DescriptionBean) list1.get(4);
    DescriptionBean db5 = (DescriptionBean) list1.get(5);
    DescriptionBean db6 = (DescriptionBean) list1.get(6);
    if(db.getDescription()!=" "){
    String s1 = "insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('"+db.getDescription()+"','"+db.getTextarea()+"','"+db.getHtmlbutton()+"',"+event_id+")";
    stmt.executeQuery(s1);
    if(db1.getDescription()!=" "){
    String s2 = "insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('"+db1.getDescription()+"','"+db1.getTextarea()+"','"+db1.getHtmlbutton()+"',"+event_id+")";
    stmt.executeQuery(s2);
    if(db2.getDescription()!=" "){
    String s3 = "insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('"+db2.getDescription()+"','"+db2.getTextarea()+"','"+db2.getHtmlbutton()+"',"+event_id+")";
    System.out.println(s3);
    stmt.executeQuery(s3);
    if(db3.getDescription()!=" "){
    String s4 = "insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('"+db3.getDescription()+"','"+db3.getTextarea()+"','"+db3.getHtmlbutton()+"',"+event_id+")";
    stmt.executeQuery(s4);
    if(db4.getDescription()!=" "){
    String s5 = "insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('"+db4.getDescription()+"','"+db4.getTextarea()+"','"+db4.getHtmlbutton()+"',"+event_id+")";
    stmt.executeQuery(s5);
    if(db5.getDescription()!=" "){
    String s6 = "insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('"+db5.getDescription()+"','"+db5.getTextarea()+"','"+db5.getHtmlbutton()+"',"+event_id+")";
    stmt.executeQuery(s6);
    if(db6.getDescription()!=" "){
    String s7 = "insert into DESCRIPTION (TYPE,DESCRIPTION,IS_HTML,EVENT_ID) values('"+db6.getDescription()+"','"+db6.getTextarea()+"','"+db6.getHtmlbutton()+"',"+event_id+")";
    stmt.executeQuery(s7);
    //Activity
    String sql3 = "insert into ACTIVITY (ACTIVITY_NAME,ACTIVITY_START_DATE,ACTIVITY_END_DATE,ACTIVITY_START_TIME,ACTIVITY_END_TIME,TYPE,CAPACITY,EVENT_ID) values('"+ib3.getName()+"','"+ib3.getStartdate()+"','"+
    ib3.getEnddate()+"','"+ib3.getStarttime()+"','"+ib.getEndtime()+"','"+ib3.getExtra1()+"',"+event_id+")";
    stmt.executeQuery(sql3);
    i put condition for null .But if i dont fill the fields,even then the executeQuery is executing without checking the condition.
    wht is the problem
    what i want to change in my code.

    1. Use code tags when you post code.
    2. Use prepared statements.
    3. If you have a field that requires a non-null entry then you must provide a non-null value. And for Oracle that means non-empty as well.

Maybe you are looking for

  • OID meta repository

    Oracle Guru's, I am new to this subject and I need your help as my manager is expecting lot of things. Well Let me tell you my configuration first, I have Oracle 10gR2(10.2.0.3) RAC on sun solaris 10. I need to install OID for which I have to create

  • IMovie trouble sharing/exporting

    hi i am having issues with sharing/exporting the movie. i can see the full version run through well in iMovie, however when it comes to sharing/exporting, i can hear the audio but the images arent coming through- they are distorted.  i have prepared

  • Javax.swing.JFileChooser -- open button change current directory... Why?

    Hello community. I use javax.swing.JFileChooser class. After press open button, JFileChooser change current directory. Why? I was not find in documentation about changing curret directiry by JFileChooser. Take me please reference to doc for understan

  • Exporting MPEG IMX

    I have a client requirement and seems that it is becoming more and more popular. They ask for dvd mpeg IMX export with these specificaions: IMX30 Standard Definition: Video File File: IMX30 QuickTime MOV or OP1a MXF wrapped File Extension: .mov or .m

  • Cannot import sequences from Adobe Premier Pro CC

    The import of a PP CC project does not work. I cannot import sequences from Premiere Pro CC : the dynamic link start but nothing occurs. I hope that I shall have not to rebuilt my project with Premiere Pro CS 6. Thanks in advance for your assistance.