How to set NLS character set for report 9i servlet output?

Hi,
I am running a Reports 9i report. My problem is that the output HTML file is UTF8 encoded while ALL my 9iASR2 registry setting are set to EEISO8859P2. When I issued the http://<host:port>/reports/rwservlet/showenv?server=servername command it returned that the NLS setting is UTF8.
Can somebody please help me, how to set this environment variable for the report servlet to EE..P1? Thank you in advance.
Regards,
Tamas Szecsy

Dmitry,
recently I got this from Oracle support. :-(. Currently when I set the Windows 2000 local and default local to Hungarian and the charset to EE..P2 then I get Central-European encoded charset. I think you will have to experience around to get correct result (if it is possible at all).
+++++++++++++++++++++++++++++++++++++++++++++++++++++
This is bug Number 2472932 NLS:RWSERVLET SETS INVALID CHARSET AT THE HTTP HEADER
marked as fixed in 9.0.2.2 . unfortunately this bug is not published so I will not be able to sent you the bug as a whole but here is problem description in bug:
iAS9.0.2.0.1 (Reports9.0.2.0.1) on Solaris2.8
Running rdf with rwservlet sends the invalid charset at the http header.
Say ias is up with LANG=C, http header for the rwservlet
is always sent as "iso-8859-1" regardless of rwserver's NLS_CHARACTERSET.
This is the TCP/IP packet for the GET /reports/rwservlet?report=xxx&....
HTTP/1.1 200 OK Date: Sat, 20 Jul 2002 01:15:37 GMT Cache-Cont
rol: private Content-Language: en Server: Oracle9iAS/9.0.2 Ora
cle HTTP Server Oracle9iAS-Web-Cache/9.0.2.0.0 (N) Content-Leng
th: 6908 Content-Type: text/html; charset=ISO-8859-1 Set-Cooki
In this example, to produce a html with other charset than
iso-8859-1,usually the outputted html has the charset information at
meta tag by setting "Before Report Value" property in rdf.
However charset in meta tag is less priority than http header, browser
such as IE6 or Netscape7 firstly displays the page in iso-8859-1.
Hence the characters other than iso8859p1 gets garbage.
To workaround it with IE6/NS7, set proper encoding manually.
('View'-'Encoding' for IE 'View'-'Character coding' for NS7 )
However, NS4.7 does not have workaround for it.
Besides, starting opmn in LANG=ja, the rwservlet's http header becomes
Shift_JIS!!. Thus rwserver seems to set the http header based on the
LANG on Solaris.
To fix these issues,
- The http header for rwservlet shold be based on the nls_characterset
for the rwserver.
This is no problem for reprots jsp run.

Similar Messages

  • How to set up the path for Report Server's output

    I've had 9iAS on NT 4 platform with Service Pack 6.
    By default, the Report Server's output goes to the
    C:\Oracle\806\Bin
    How can we change this setting ?
    (in 6iserver.conf we don't have a variable for it.)
    I'll appreciate any help.
    Thanks.
    Izabella.

    Thanks for reply.
    In my \Report60\Server\myrepsvr.ora I have :
    cachedir="E:\Oracle\806\REPORT60\server\cache"
    but when I call :
    http://<host>:<port>/dev60cgi/Rwcgi60.exe?
    report=myrep.rdf&destype=file&desformat=pdf
    &paramform=no
    the created pdf report doesn't go to the specified cashedir, but goes to the
    C:\Oracle\806\Bin
    How can I handle it ?
    I'd like to see the pdf file in the cachedir,
    not in Bin.
    Izabella.

  • Oracle 11g Installation How to select Database Character Set

    Hi,
    I am Installing oracle 11g R2. After installation I had verified the character set it was AL16UTF16 but I wants to set AL32UTF8 charater set at the time of oracle installation only. I can't see the character set setting opetion at the time of installation because I am selecting the installation option " Install database softerware only" and after installation of oracle software manually I am creating the database. Please help me how can I set the character set at the time of oracle installation or at the time of database creation.
    My question is-
    How can I set the AL32UTF8 character set in above scenario?
    Why It is showing AL16UTF16 character set even I did not define any thing?

    But is there any choice to set the NLS_CHARACTERSET at the time of manually database creation. Actually For creating the database i am using one shell script for seting the parameter values in init.ora file so can I set the parameter at that level(at the time of creating init.ora using manually database creation). like
    ## Original init.ora file created by manual database creation tool on ${DATE}.
    *.aq_tm_processes=0
    *.background_dump_dest='$ORACLE_BASE/admin/$ORACLE_SID/bdump'
    *.compatible='10.2.0'
    *.control_files='/$db_file_loc/oradata/$ORACLE_SID/control01.ctl','/$db_file_loc/oradata/$ORACLE_SID/control02.ctl','/$db_file_loc/oradata/$ORACLE_SID/control03.ctl'
    *.core_dump_dest='$ORACLE_BASE/admin/$ORACLE_SID/cdump'
    *.db_block_size=8192
    *.db_cache_size=104857600
    *.db_domain='$server_name'
    *.db_file_multiblock_read_count=8
    *.db_name='$ORACLE_SID'
    *.fast_start_mttr_target=300
    *.instance_name='$ORACLE_SID'
    *.java_pool_size=16777216
    *.job_queue_processes=4
    *.large_pool_size=16777216
    *.log_archive_dest='/u05/oradata/$ORACLE_SID'
    *.log_archive_format='$ORACLE_SID_%s_%t_%r.arc'
    *.olap_page_pool_size=4194304
    *.open_cursors=500
    *.optimizer_index_cost_adj=50
    *.pga_aggregate_target=536870912
    *.processes=1500
    *.query_rewrite_enabled='TRUE'
    *.remote_login_passwordfile='EXCLUSIVE'
    *.shared_pool_size=83886080
    *.sort_area_size=1048576
    *.sga_max_size=1048576000
    *.sga_target=536870912
    *.star_transformation_enabled='TRUE'
    *.timed_statistics=TRUE
    *.undo_management='AUTO'
    *.undo_retention=10800
    *.undo_tablespace='UNDOTBS1'
    *.user_dump_dest='$ORACLE_BASE/admin/$ORACLE_SID/udump'
    *.utl_file_dir='/export/home/oracle/utlfiles'
    **.nls_characterset='AL32UTF8'*
    EOF
    Is it correct?

  • How to change the Character Set from AL32UTF8 to WE8DEC

    Hello!!
    I want to know how to change the character set in the database from AL32UTF8 to WE8DEC.
    I tried to use the comand ALTER DATABASE CHARACTER SET but I got an error because WE8DEC is not a superset of AL32UTF8.
    I need to import tables from a server that uses WE8DEC. So when I do the import to my server, wich has AL32UTF8 , I can't import the rows that include an Ñ.
    So I want to change the caracter set to WE8DEC. How can I do it?
    Is it needed to change the language configuration? The remote server has AMERICAN_AMERICA, and my server has MEXICAN SPANISH_MEXICO (both uses text in spanish).
    Thanks a lot!!

    When you export from WE8DEC server what did you use
    for NLS_LANG char set? And when importing?
    The export was done in another computer because I can't do the export in the server (I have 10g, and the remote server has 9i and the export is not working). In my server, when I tried to do the import, the NS_LANG value was MEXICAN SPANISH_MEXICO.WE8MSWIN1252.
    When I try to import to my database I got the error:
    import done in WE8DEC character set and AL16UTF16 NCHAR character set
    import server uses AL32UTF8 character set (possible charset conversion)
    export client uses WE8MSWIN1252 character set (possible charset conversion)
    . importing USRMCR06's objects into PRIMARIZACION
    . . importing table "CHG_FONDOS_MARZO_CD_MOR"
    IMP-00019: row rejected due to ORACLE error 12899
    IMP-00003: ORACLE error 12899 encountered
    ORA-12899: value too large for column "PRIMARIZACION"."CHG_FONDOS_MARZO_CD_MOR".
    "NOMBRE" (actual: 41, maximum: 40)
    Column 1 16623436
    Column 2
    Column 3 Pymes_1
    Column 4

  • How to handle national character set datatypes in oracle?

    Hi
    Can anyone tell me how to handle national character set datatypes in oracle?
    Thanks in advance

    And for data manipulation, append "N" the literal values being used in the command.
    The "N" indicates that the string is to be treated as Unicode Text.
    For Example: insert into TableName (ColumnName) values (N'ValueToBeInserted');

  • How to set the character set to default

    Hi All,
    How to set the character set default to Simplified Chinese(GB2312), current we need change it every time.
    Thanks in advance.

    Hello Michael,
    when we log in SAP in ZH language the character set is getting defaulted to Simplified Chinese(GB2312). But currently the log in Language is in EN and hence the character set to be defaulted to Simplified Chinese(GB2312).
    Also please let me know where is the option for GUI setting?
    Thanks Again in Advance.

  • NLS character set

    Hi,
    We have datawarehouse environment..
    Currently the NLS Character set in our database is WE8MSWIN1252 which is non multibyte character set.But since this is a datawarehouse environment datawill be coming from source which is multi byte character set.Could you please let us know whether this will be supported in WE8MSWIN1252 character set or not??
    Thanks,
    Nab

    user10124609 wrote:
    For changing the NLS character set by export and import do we need to install the database again???yes,you can create new database with Unicode character set and can import there.But for full steps please refer
    http://download.oracle.com/docs/cd/E11882_01/server.112/e10729/ch11charsetmig.htm#CEGDHJFF
    Changing the Database Character Set ( NLS_CHARACTERSET ) [ID 225912.1]
    Changing the Database Character Set - Frequently Asked Questions [ID 227337.1]
    Edited by: Chinar on Nov 29, 2010 3:21 AM

  • How can i change character set on forms9i runtime?

    Hi Every Body,
    i am a user on forms9i developer.
    i want to know how can i change character set definition when i run a form on web(with oc4j).
    is it any JAR file or another file that i can change display of characters on forms9i runtime on web?
    thanks a lot.
    f-badiee.

    hi frank,
    thanks a lot for your attention.
    i have a problem on persian language.
    whereas oracle dosn't support persian(farsi) language,
    i use arabic character set for simulation.
    in oracle developer6i (forms) i had no problem about displaying farsi fonts on runtime.
    but in forms9i that runs forms on web(java applet) i can't use farsi fonts correctly.
    for example when i type a word(boilerplate text) on farsi language in form builder i can see it correctly but when i run my forms on web , characters of that word have some displacement.
    i want to know that is there any configuration file for solving this problem?
    thanks a lot.
    be successful.
    f-badiee.

  • How can i set the character set ???

    hello
    now i have the following
    Message msg =
    new MimeMessage(Session.getDefaultInstance(props, null));
    how can i set the character set to be 'windows-1256'
    pleaze help if u can
    thanks very much
    Belal

    You have to deal with the NLS_LANG environment variable,it is defined as NLS_LANG=<Language>_<Territory>.<clients characterset> .
    Where is your oracle client installed? On the the server machine, where the database resides , on another Unix system or is it a Windows client? On Windows NLS_LANG is directly related to the OS settings and stored in the registry, on Unix NLS_LANG is not set automatically and defaults (if not set) to AMERICAN_AMERICA.US7ASCII. If you are working on UNIX, this could be the reason for disordering. I'm not familiar with Chinese, so I don't know the correct setting , but a good approach would be same setting as on the server.
    Metalink note 158577.1 describes NLS_LANG very detailed.

  • NLS CHARACTER SET 변경 방법 (ORACLE 7)

    제품 : ORACLE SERVER
    작성날짜 : 2004-11-09
    NLS CHARACTER SET 변경 방법 (ORACLE 7)
    ======================================
    PURPOSE
    이 자료는 Oracle RDBMS SERVER에서 NLS CHARACTER SET 변경 방법에 대한
    내용을 소개한다.
    [ ORACLE 7 에서만 가능 ]
    데이타베이스의 CHARACTER SET은 데이타 딕셔너리 테이블인 sys.props$에
    들어 있다.
    SQL>desc sys.props$
    Name Null? Type
    NAME NOT NULL VARCHAR2(30)
    VALUE$ VARCHAR2(2000)
    COMMENT$ VARCHAR2(2000)
    SQL>column c1 format a30
    SQL>select name c1, value$ c1 from sys.props$;
    C1 C1
    DICT.BASE 2
    NLS_LANGUAGE AMERICAN
    NLS_TERRITORY AMERICA
    NLS_CURRENCY $
    NLS_ISO_CURRENCY AMERICA
    NLS_NUMERIC_CHARACTERS .,
    NLS_DATE_FORMAT DD-MON-YY
    NLS_DATE_LANGUAGE AMERICAN
    NLS_CHARACTERSET US7ASCII
    NLS_SORT BINARY
    GLOBAL_DB_NAME NLSV7.WORLD
    여기서 NLS_CHARACTERSET에 현재 DB의 CHARACTER SET이 들어 있는데
    이 값을 변경하여 DB의 CHARACTER SET을 변경할 수 있다.
    여기서는 US7ASCII에서 KO16KSC5601로 옮기는 경우를 알아보자.
    우선 바꾸고자 하는 CHRACTER SET이 지원되는 지를 다음 명령으로
    확인한다.
    select convert('a','KO16KSC5601','US7ASCII') from dual;
    만약 이 Select 문에서 ORA-01482 에러가 발생하면 지정한 CHARACTER
    SET이 지원되지 않는 경우이며 에러가 발생하지 않으면 CHARACTER
    SET을 변경할 수 있다.
    작업을 하기 전에는 만약을 위해서 DB 전체를 백업 받아두도록 한다.
    CHARACTER SET 을 잘못 변경하면 DB 를 OPEN 할 수가 없기 때문이다.
    1. 다음의 Update문을 실행하여 CHARACTER SET을 변경한다.
    UPDATE sys.props$
    SET value$ = 'KO16KSC5601'
    WHERE name = 'NLS_CHARACTERSET';
    Update 시에 NLS_CHARACTERSET을 지원되지 않는 값으로 잘못 설정하거나
    실수로 콘트롤 문자 같은 것이 들어가게 되면 DB가 Shutdown 된 다음에는
    Startup 이 안되므로 Update 후에 다음 명령으로 확인을 한 다음에
    Commit을 하도록 한다.
    select name, value$
    from sys.props$
    where value$ = 'KO16KSC5601';
    Select가 제대로 출력되면 Commit 하고 Shutdown 했다가 Startup 하게
    되면 새로운 CHARACTER SET 값을 갖게 된다. SELECT가 안 되면 ROLLBACK
    하고 UPDATE부터 다시 하도록 한다.
    2. 환경 변수 NLS_LANG 을 변경한다.
    .profile 에서
    NLS_LANG=American_America.KO16KSC5601; export NLS_LANG
    또는 .cshrc 에서.
    setenv NLS_LANG American_America.KO16KSC5601
    *** win95 및 winnt의 client에서는 registry editor에서 NLS_LANG 값을
    맞추어준다.
    주의 !!!
    : 위의 작업을 하기 전에 발생할 가능성이 있는 문제점
    1) update 중 KO16KSC5601 이나 US7ASCII 등에서 철자를 잘못 입력하시면,
    db 재기동 후에, 다음과 같은 에러가 발생합니다.
    ora-12708
    12708, 00000, "error while loading create database NLS parameter %s"
    2) KO16KSC5601과 US7ASCII의 비교
    Character set : KO16KSC5601 인 경우
    ===================================
    : double byte encoding schema 이므로, 한글의 경우 2 bytes 를 크기 1로
    계산하는 함수들이 있습니다.
    그리고, table , column name에 한글을 double quote 없이 사용할 수 있습니다.
    예)
    SQL> create table 시험1
    2 (컬럼1 varchar(10));

    a
    홍길동
    SQL> select length(컬럼1) from 시험1;
    1
    1
    3
    SQL> select lengthb(컬럼1) from 시험1;
    2
    1
    6
    Character set : US7ASCII 인 경우
    =================================
    : single byte 7 bit encoding 을 사용합니다.
    한글로 된 table, column 이름 사용 시 double quote를 반드시 사용해야 한다.
    예)
    SQL> create table "사원"
    2 ("사원이름" varchar2(10));

    a
    홍길동
    SQL> select length("사원이름") from "사원";
    2
    1
    6
    SQL> select lengthb("사원이름") from "사원";
    2
    1
    6
    US7ASCII일 때에는 vsize, lengthb function의 결과가 length 함수와 모두
    동일합니다.
    cf) substr, substrb 함수도 위의 length, lengthb의 관계와 같음.

    제품 : ORACLE SERVER
    작성날짜 : 2004-11-09
    NLS CHARACTER SET 변경 방법 (ORACLE 7)
    ======================================
    PURPOSE
    이 자료는 Oracle RDBMS SERVER에서 NLS CHARACTER SET 변경 방법에 대한
    내용을 소개한다.
    [ ORACLE 7 에서만 가능 ]
    데이타베이스의 CHARACTER SET은 데이타 딕셔너리 테이블인 sys.props$에
    들어 있다.
    SQL>desc sys.props$
    Name Null? Type
    NAME NOT NULL VARCHAR2(30)
    VALUE$ VARCHAR2(2000)
    COMMENT$ VARCHAR2(2000)
    SQL>column c1 format a30
    SQL>select name c1, value$ c1 from sys.props$;
    C1 C1
    DICT.BASE 2
    NLS_LANGUAGE AMERICAN
    NLS_TERRITORY AMERICA
    NLS_CURRENCY $
    NLS_ISO_CURRENCY AMERICA
    NLS_NUMERIC_CHARACTERS .,
    NLS_DATE_FORMAT DD-MON-YY
    NLS_DATE_LANGUAGE AMERICAN
    NLS_CHARACTERSET US7ASCII
    NLS_SORT BINARY
    GLOBAL_DB_NAME NLSV7.WORLD
    여기서 NLS_CHARACTERSET에 현재 DB의 CHARACTER SET이 들어 있는데
    이 값을 변경하여 DB의 CHARACTER SET을 변경할 수 있다.
    여기서는 US7ASCII에서 KO16KSC5601로 옮기는 경우를 알아보자.
    우선 바꾸고자 하는 CHRACTER SET이 지원되는 지를 다음 명령으로
    확인한다.
    select convert('a','KO16KSC5601','US7ASCII') from dual;
    만약 이 Select 문에서 ORA-01482 에러가 발생하면 지정한 CHARACTER
    SET이 지원되지 않는 경우이며 에러가 발생하지 않으면 CHARACTER
    SET을 변경할 수 있다.
    작업을 하기 전에는 만약을 위해서 DB 전체를 백업 받아두도록 한다.
    CHARACTER SET 을 잘못 변경하면 DB 를 OPEN 할 수가 없기 때문이다.
    1. 다음의 Update문을 실행하여 CHARACTER SET을 변경한다.
    UPDATE sys.props$
    SET value$ = 'KO16KSC5601'
    WHERE name = 'NLS_CHARACTERSET';
    Update 시에 NLS_CHARACTERSET을 지원되지 않는 값으로 잘못 설정하거나
    실수로 콘트롤 문자 같은 것이 들어가게 되면 DB가 Shutdown 된 다음에는
    Startup 이 안되므로 Update 후에 다음 명령으로 확인을 한 다음에
    Commit을 하도록 한다.
    select name, value$
    from sys.props$
    where value$ = 'KO16KSC5601';
    Select가 제대로 출력되면 Commit 하고 Shutdown 했다가 Startup 하게
    되면 새로운 CHARACTER SET 값을 갖게 된다. SELECT가 안 되면 ROLLBACK
    하고 UPDATE부터 다시 하도록 한다.
    2. 환경 변수 NLS_LANG 을 변경한다.
    .profile 에서
    NLS_LANG=American_America.KO16KSC5601; export NLS_LANG
    또는 .cshrc 에서.
    setenv NLS_LANG American_America.KO16KSC5601
    *** win95 및 winnt의 client에서는 registry editor에서 NLS_LANG 값을
    맞추어준다.
    주의 !!!
    : 위의 작업을 하기 전에 발생할 가능성이 있는 문제점
    1) update 중 KO16KSC5601 이나 US7ASCII 등에서 철자를 잘못 입력하시면,
    db 재기동 후에, 다음과 같은 에러가 발생합니다.
    ora-12708
    12708, 00000, "error while loading create database NLS parameter %s"
    2) KO16KSC5601과 US7ASCII의 비교
    Character set : KO16KSC5601 인 경우
    ===================================
    : double byte encoding schema 이므로, 한글의 경우 2 bytes 를 크기 1로
    계산하는 함수들이 있습니다.
    그리고, table , column name에 한글을 double quote 없이 사용할 수 있습니다.
    예)
    SQL> create table 시험1
    2 (컬럼1 varchar(10));

    a
    홍길동
    SQL> select length(컬럼1) from 시험1;
    1
    1
    3
    SQL> select lengthb(컬럼1) from 시험1;
    2
    1
    6
    Character set : US7ASCII 인 경우
    =================================
    : single byte 7 bit encoding 을 사용합니다.
    한글로 된 table, column 이름 사용 시 double quote를 반드시 사용해야 한다.
    예)
    SQL> create table "사원"
    2 ("사원이름" varchar2(10));

    a
    홍길동
    SQL> select length("사원이름") from "사원";
    2
    1
    6
    SQL> select lengthb("사원이름") from "사원";
    2
    1
    6
    US7ASCII일 때에는 vsize, lengthb function의 결과가 length 함수와 모두
    동일합니다.
    cf) substr, substrb 함수도 위의 length, lengthb의 관계와 같음.

  • How to input unicode character set from oralce form 9i

    Hi,
    Can anyone show me how to input unicode character set from form 9i. I have designed a form and run it but when I input unicode charater in TEXT ITEM on form (FONT_NAME of this TEXT ITEM is New Roman, AriaTime l ...), but it display incorrectly nor stored it in Database.
    Thank you !

    Thank Duncan R Mills !
    My setting NLS_CHARACTER in Database as follow :
    SQL> SELECT * FROM NLS_DATABASE_PARAMETERS;
    PARAMETER VALUE
    NLS_LANGUAGE AMERICAN
    NLS_TERRITORY AMERICA
    NLS_CURRENCY $
    NLS_ISO_CURRENCY AMERICA
    NLS_NUMERIC_CHARACTERS .,
    NLS_CHARACTERSET UTF8
    NLS_CALENDAR GREGORIAN
    NLS_DATE_FORMAT DD-MON-RR
    NLS_DATE_LANGUAGE AMERICAN
    NLS_SORT BINARY
    NLS_TIME_FORMAT HH.MI.SSXFF AM
    PARAMETER VALUE
    NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZH:TZM
    NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZH:TZM
    NLS_DUAL_CURRENCY $
    NLS_COMP BINARY
    NLS_NCHAR_CHARACTERSET UTF8
    NLS_RDBMS_VERSION 8.1.7.0.0
    18 rows selected.
    Even if I can'nt input unicode character on Oracle Forms, It display incorrectly though I set exactly font_name.

  • Non supported character set: oracle-character-set-171'  in java XSU

    I cannt update object type CHAR data in table cause Non
    supported character set: oracle-character-set-171'
    NLS lang UTF-8
    database language WIN-1251

    I think it is a bug at JDBC-OCI Driver.
    Now I am useing setPlsqlIndexTable to transfer
    a var to PLSQL procedure, and want to
    retrieve it from out parameter.
    When I transfer English characters, it can
    work correctly, but if I transfer Japnese or
    Chinese characters, the disorderly characters
    were returned. I have not resolved this problem
    yet. Who can tell me how to resolve it.

  • Setting connection character set

    How to set connection character set when sending query from java program to MySQL database.
    I tried this:
                    String query  = "SET NAMES 'cp1250'";            /* character set */
                    stmt = conn.prepareStatement(query);
                    stmt.executeQuery();                   /*  I also tried stmt.execute();  */
                    query = "SELECT * FROM myTable";
                    stmt  = conn.prepareStatement(query);
                    rs    = stmt.executeQuery();but it doesn't work.
    It works from MySQL command line client.

    The easiest thing to do is to choose AL32UTF8 character set at database creation time because this character set allows to store any character from any supported character set: you don't need to change database character set at all. Please read Oracle doc. recommendation for AL32UTF8: http://download.oracle.com/docs/cd/E11882_01/server.112/e10595/create001.htm#ADMIN13343
    National character set in only used by NCHAR, NVARCHAR2 and NCLOB data types and I recommend to use AL16UTF16 which is default value.

  • How to make standard DSO available for reporting?

    In previous version I have Bex setting to make ODS for reporting but in new DSO I don't see this kind of seeting. Any Idea?
    Actually I want the DSO in the query designer to create an adhoc report.
    Thanks in advance.
    York

    hi,
    that option(bex reporting) is taken out from this version in the settings of dso object.
    by default all the three types of DSO object provide reporting on it.
    sap help document. check the following link
    http://help.sap.com/saphelp_nw04s/helpdata/en/e3/e60138fede083de10000009b38f8cf/frameset.htm
    hope this help you
    regards
    harikrishna N

  • Java.sql.SQLException: Non supported character set: oracle-character-set-17

    Hi,
    i am trying to execute an Oracle procedure from JDBC. The procedure accepts a Nested table as an input parameter. Definition of the nested table is given below.
    Database – Oracle 10g.
    Application Server – JBOSS 4.2.1
    I get the following exception._
    java.sql.SQLException: Non supported character set: oracle-character-set-178
    at oracle.gss.util.NLSError.throwSQLException(NLSError.java:46)
    I.  JDBC  Code_
    Session s = HibernateUtil.getSession();
    Transaction tr = s.beginTransaction();
    con=s.connection();
    oraConn = (OracleConnection) con.getMetaData().getConnection();
    TableObject obj=new TableObject();
    obj.setId(new Integer(123));//Tested ok, stroing in DB
    obj.setDescr("test"); // this line throwing error
    obj.setCre_user(new Integer(456));
    obj.setUpd_user(new Integer(789));
    obj.setXfr_flag("Y");
    ArrayList al=new ArrayList();
    al.add(obj);
    Object[] objAray = al.toArray();
    ArrayDescriptor arrayDescriptor =ArrayDescriptor.createDescriptor("T_TEST_SYN", oraConn);
    ARRAY oracleArray = new ARRAY(arrayDescriptor, oraConn, objAray);
    cs = (OracleCallableStatement)oraConn.prepareCall("call PKG_OBJ_TEST.accept_ui_input(?) ");
    cs.setArray(1, oracleArray);
    cs.execute();
    tr.commit();
    public class TableObject implements SQLData{
    private String sql_type = "T_OBJ_TEST";
    private int id;
    private String descr;
    //private Date cre_date;
    private int cre_user;
    //private Date upd_date;
    private int upd_user;
    private String xfr_flag;
    public TableObject()
    public TableObject (int id,String descr,int cre_user,int upd_user,String xfr_flag)
    // this.sql_type = sql_type;
    this.id = id;
    this.descr = descr;
    // this.cre_date=cre_date;
    this.cre_user=cre_user;
    //this.upd_date=upd_date;
    this.upd_user=upd_user;
    this.xfr_flag=xfr_flag;
    public String getSQLTypeName() throws SQLException {
    return "T_OBJ_TEST";
    public void readSQL(SQLInput stream, String typeName) throws SQLException {
    //sql_type = typeName;
    id=stream.readInt();
    descr=stream.readString();
    //cre_date=stream.readDate();
    cre_user=stream.readInt();
    //upd_date=stream.readDate();
    upd_user=stream.readInt();
    xfr_flag=stream.readString();
    public void writeSQL(SQLOutput stream) throws SQLException {
    try {
    stream.writeInt(this.id);
    System.out.println("Iddddd");
    stream.writeString(this.descr);
    System.out.println("Desccccccccccccccc"+":"+descr);
    //stream.writeDate(cre_date);
    stream.writeInt(this.cre_user);
    System.out.println("userrrrrrrrrrrr");
    //stream.writeDate(upd_date);
    stream.writeInt(this.upd_user);
    System.out.println("upd uiserrrrrrrrrrr");
    stream.writeString(this.xfr_flag);
    System.out.println("flagggggggggggggggggggg"+xfr_flag);
    }catch (SQLException se) {
    System.out.println("Table object sql exception");
    se.printStackTrace();
    catch (Exception e) {
    System.out.println("Table object exception");
    * @return the id
    public int getId() {
    return id;
    * @param id the id to set
    public void setId(Object obj) {
    Integer iobj= (Integer)obj;
    this.id =iobj.intValue();
    * @return the descr
    public String getDescr() {
    System.out.println("getDescr "+descr);
    return descr;
    * @param descr the descr to set
    public void setDescr(Object obj) {
    System.out.println("setDescr "+obj);
    String sobj = (String)obj;
    this.descr=sobj.toString();
    System.out.println("setDescr "+obj);
    * @return the cre_user
    public int getCre_user() {
    return cre_user;
    * @param cre_user the cre_user to set
    public void setCre_user(Object obj) {
    Integer iobj=(Integer)obj;
    this.cre_user = iobj.intValue();
    * @return the upd_user
    public int getUpd_user() {
    return upd_user;
    * @param upd_user the upd_user to set
    public void setUpd_user(Object obj) {
    Integer iobj=(Integer)obj;
    this.upd_user = iobj.intValue();
    * @return the xfr_flag
    public String getXfr_flag() {
    return xfr_flag;
    * @param xfr_flag the xfr_flag to set
    public void setXfr_flag(Object obj) {
    this.xfr_flag = (String)xfr_flag;
    II.  Oracle database object details
    Details of Object and Nested table created in the database.
    T_TEST_SYN is a public synonym created for t_tab_obj_test
    CREATE OR REPLACE TYPE t_obj_test as object (
    id number(10),
    descr varchar2(100),
    --cre_date  date,
    cre_user number(10),
    --upd_date  date,
    upd_user number(10),
    xfr_flag varchar2(1),
    CONSTRUCTOR FUNCTION t_obj_test ( id IN NUMBER DEFAULT NULL,
    descr IN varchar2 default null,
    --cre_date  in date      default null,
    cre_user in number default null,
    --upd_date  in date      default null,
    upd_user in number default null,
    xfr_flag in varchar2 default null ) RETURN SELF AS RESULT ) ;
    CREATE OR REPLACE TYPE BODY t_obj_test as
    CONSTRUCTOR FUNCTION t_obj_test ( id IN NUMBER DEFAULT NULL,
    descr IN varchar2 default null,
    --cre_date  in date      default null,
    cre_user in number default null,
    --upd_date  in date      default null,
    upd_user in number default null,
    xfr_flag in varchar2 default null ) RETURN SELF AS RESULT IS
    BEGIN
    SELF.id := id ;
    SELF.descr := descr ;
    --SELF.cre_date  := cre_date ;
    SELF.cre_user := cre_user ;
    --SELF.upd_date  := cre_date ;
    SELF.upd_user := cre_user ;
    SELF.xfr_flag := xfr_flag ;
    RETURN ;
    END ;
    END ;
    CREATE OR REPLACE TYPE t_tab_obj_test AS TABLE OF t_obj_test ;
    CREATE OR REPLACE PACKAGE BODY PKG_OBJ_TEST AS
    PROCEDURE accept_ui_input ( p_tab_obj_test in T_TAB_OBJ_TEST ) IS
    BEGIN
    FOR row IN p_tab_obj_test.First .. p_tab_obj_test.LAST
    LOOP
    INSERT INTO OBJ_TEST ( ID,
    DESCR,
    CRE_DATE,
    CRE_USER,
    UPD_DATE,
    UPD_USER,
    XFR_FLAG )
    VALUES ( p_tab_obj_test(row).ID,
    p_tab_obj_test(row).DESCR,
    NULL,
    p_tab_obj_test(row).CRE_USER,
    NULL,
    p_tab_obj_test(row).UPD_USER,
    p_tab_obj_test(row).XFR_FLAG ) ;
    END LOOP ;
    COMMIT ;
    END accept_ui_input ;
    END PKG_OBJ_TEST;
    /

    Check your CLASSPATH enviroment variable. Try to add something like c:\Ora10g\jlib\orai18n.jar.
    From "JDBC Developer’s Guide and Reference":
    orai18n.jar
    Contains classes for globalization and multibyte character sets support
    This solved the same error in my case.

Maybe you are looking for

  • DYLD_LIBRARY_PATH on client machine...

    Hi, To be able to run my application with OCIv10, I had to set the DYLD_LIBRARY_PATH environment variable on the client machine (OSX v 10.4.3) I created an environment.plist file, set DYLD_LIBRARY_PATH to /Oracle, put it in the .MacOSX file and logou

  • New i tunes up date will not load says have to remove old bonjour but i tried that and my internet stopped working

    new itunes up date will not down load says i have older version bonjour can not be removed tried removing bonjour with revo uninstaller takes bonjour off but then my internet will not work

  • No Data Best Practice

    Hi Gurus, What is the best practice for handling no data for your select? With SQL Server you can do an ISNULL and do an IF on that. But, with Oracle it appears you need to do a Count INTO or use the EXEPTION NO_DATA_FOUND. What is best practice? Is

  • Playback quality on Video playback

    After purchasing pop videos i go into full screen mode but i find i loose the picture quality the bigger the screen ......... should it be dvd like in quality or is it something that is the norm . Are there specific settings i need to adjust ???

  • After importing from iPhoto, how would you eliminate the photos?

    I have installed Aperture adn like it quite a bit. I imported from iPhoto (which copies over the pictures...not move.) I have backed up the photos in iPhoto to an external hard drive in case Aperture blows up on me and I need to go back to iPhoto. Bu