Arabic with sqlldr

Hi,
I know this is not a PL/SQL issue, but hoping someone faced the same issue before(and solved).
I have an excel file with some arabic data.(English also).
When I tried to convert the EXCEL file in CSV format the arabic data is becoming junk characters. (OS supports arabic).Then I tried to copy the contents from exel to notepad and tried to load as a single string using sqlloader.Even the arabic in notepad is ok, sqlloader is not identifying.Arabic is missing to junk characters.( We are using Arabic in the Forms application and it works perfectly fine.)
Any idea what is happening?
Database : 10.2.0.3.0
OS : Windows server 2003
Thanks in advance,
Jeneesh

- Are you loading the Arabic data into CHAR/ VARCHAR2 columns? Or NCHAR/ NVARCHAR2?
- What is the database character set?
- What is the character set of the data file?
- What character set is specified in your control file?
Additionally, I'm a bit confused by your description of the chain of events. You write initially,
When I tried to convert the EXCEL file in CSV format the arabic data is becoming junk characters.which implies that you believe the problem is the Excel conversion to a flat file. But then you go on to say
Even the arabic in notepad is ok, sqlloader is not identifying.Arabic is missing to junk characters.which implies that you believe the problem is with SQL*Loader and that the CSV file is fine. Have you walked through each step with a hex editor to verify that the data is properly encoded and that the file is in the character set you expect at each step of the process?
Justin

Similar Messages

  • Problem with sqlldr and commit

    Hi,
    i have a problem with sqlldr and commit.
    I have a simple table with one colum [ col_id number(6) not null ]. The column "col_id" is primary key in the table. I have one file with 100.000 records ( number from 0 to 99.999 ).
    I want load the file in the table with sqlldr ( sql*loader ) but i want commit only if all records are loaded. If one record is discarded i want discarded all record of file.
    The proble is that in coventional path the commit is on 64 row but if i want the same records of file isn't possible and in direct path sqlldr disable primary key :(
    There are a solutions?
    Thanks
    I'm for the bad English

    This is my table:
    DROP TABLE TEST_SQLLOADER;
    CREATE TABLE TEST_SQLLOADER
    (     COL_ID NUMBER NOT NULL,
         CONSTRAINT TEST_SQLLOADER_PK PRIMARY KEY (COL_ID)
    This is my ctlfile ( test_sql_loader.ctl )
    OPTIONS
    DIRECT=false
    ,DISCARDMAX=1
    ,ERRORS=0
    ,ROWS=100000
    load data
    infile './test_sql_loader.csv'
    append
    into table TEST_SQLLOADER
    fields terminated by "," optionally enclosed by '"'
    ( col_id )
    test_sql_loader.csv
    0
    1
    2
    3
    99999
    i run sqlloader
    sqlldr xxx/yyy@orcl control=test_sql_loader.ctl log=test_sql_loader.log
    output on the screen
    Commit point reached - logical record count 92256
    Commit point reached - logical record count 93248
    Commit point reached - logical record count 94240
    Commit point reached - logical record count 95232
    Commit point reached - logical record count 96224
    Commit point reached - logical record count 97216
    Commit point reached - logical record count 98208
    Commit point reached - logical record count 99200
    Commit point reached - logical record count 100000
    Logfile
    SQL*Loader: Release 11.2.0.1.0 - Production on Sat Oct 3 14:50:17 2009
    Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
    Control File: test_sql_loader.ctl
    Data File: ./test_sql_loader.csv
    Bad File: test_sql_loader.bad
    Discard File: none specified
    (Allow all discards)
    Number to load: ALL
    Number to skip: 0
    Errors allowed: 0
    Bind array: 100000 rows, maximum of 256000 bytes
    Continuation: none specified
    Path used: Conventional
    Table TEST_SQLLOADER, loaded from every logical record.
    Insert option in effect for this table: APPEND
    Column Name Position Len Term Encl Datatype
    COL_ID FIRST * , O(") CHARACTER
    value used for ROWS parameter changed from 100000 to 992
    Table TEST_SQLLOADER:
    100000 Rows successfully loaded.
    0 Rows not loaded due to data errors.
    0 Rows not loaded because all WHEN clauses were failed.
    0 Rows not loaded because all fields were null.
    Space allocated for bind array: 255936 bytes(992 rows)
    Read buffer bytes: 1048576
    Total logical records skipped: 0
    Total logical records read: 100000
    Total logical records rejected: 0
    Total logical records discarded: 0
    Run began on Sat Oct 03 14:50:17 2009
    Run ended on Sat Oct 03 14:50:18 2009
    Elapsed time was: 00:00:01.09
    CPU time was: 00:00:00.06
    The commit is on 992 row
    if i have error on 993 record i have commit on first 992 row :(
    Edited by: inter1908 on 3-ott-2009 15.00

  • Problem with Arabic font: In certain contexts, when writing Arabic with vowel signs (fatha, damma, kasra, sukun) a sequence of sukun   fatha/damma etc. would reverse automatically. Is this a known bug?

    Problem with Arabic font: In certain contexts, when writing Arabic with vowel signs (fatha, damma, kasra, sukun) a sequence of sukun + fatha/damma etc. would reverse automatically. Is this a known bug?
    Example: عَيْنٌ
    would automatically convert to عَيُنْ
    Funnily, it doesn't seem to happen here, but it does when entering text in a web interface (using Firefox, font Bayan) and when using Text Edit.
    Seems to be a problem of a specific font, as e.g. Arial MS Unicode works fine. Any hints?
    Thank you!

    Musaafir wrote:
    I've no idea how i can even start using arabic vowels on Microsoft Word for Apple
    You can't do Arabic on MS Word for Mac.  This app has never supported RTL scripts, so you need to use something else.  Mellel is best, but Pages 5, TextEdit, Nisus Writer, Open/LibreOffice should work OK.
    You switch between languages by using the "flag" menu at the top right of the screen or by using the keyboard shortcuts apple/command plus space.  Go to system prefs/keyboard/shortcuts to make sure that is activated.
    To see which key does what, you use Keyboard  Viewer.
    http://support.apple.com/kb/PH13746
    You place vowels on letters by typing the key for the vowel after the key for the letter.  The vowels are on the option/alt keys, option/alt + a gives you َ

  • Again got stuck with sqlldr.

    Hi All,
    I am again got stuck with sqlldr. Please find below my ctl and log file.
    ----------- CTL FILE--------------
    load data
    discardfile 'c:\dis.log'
    infile 'c:\csv\home1.txt'
    into table home_expenses
    fields terminated by ","
    trailing nullcols
    (PURCHASE_DATE date "mm/dd/yy",PAYEE,RUPEE_SPENT,CATEGORY,SUB_CATEGORY,DESCRIPTION)
    ---------------- SAMPLE DATA-----------
    05/05/09,Gas,Withdrawal,620,Automobile,Gas,,2 cylinders,
    05/05/09,clothing,Withdrawal,900,Homeneeds,Clothing,,suits for usha,meenu,sheetu,mummy,mousi & me
    01/05/09,Vegitables,Withdrawal,250,Food,Vegitables,,Potota 5 kg tomoto 2kg& others ,
    05/05/09,Petorl,Withdrawal,500,Petrol,,,Petrol for CAR,
    05/08/09,Vegitables,Withdrawal,250,Food,Vegitables,,Vegitables for home.,
    01/09/09,Maintainance,Withdrawal,100,Maintainance,,,Curtain Maintainence,
    ------------------ PART OF LOG FILE--------------------
    Number to load: ALL
    Number to skip: 0
    Errors allowed: 50
    Bind array: 64 rows, maximum of 256000 bytes
    Continuation: none specified
    Path used: Conventional
    Table HOME_EXPENSES, loaded from every logical record.
    Insert option in effect for this table: INSERT
    TRAILING NULLCOLS option in effect
    Column Name Position Len Term Encl Datatype
    PURCHASE_DATE FIRST * , DATE mm/dd/yy
    PAYEE NEXT * , CHARACTER
    RUPEE_SPENT NEXT * , CHARACTER
    CATEGORY NEXT * , CHARACTER
    SUB_CATEGORY NEXT * , CHARACTER
    DESCRIPTION NEXT * , CHARACTER
    Data File home.ctl -
    Record 1: Discarded - all columns null.
    Record 3: Discarded - all columns null.
    Record 5: Discarded - all columns null.
    Record 7: Discarded - all columns null.
    Record 18: Discarded - all columns null.
    Record 25: Discarded - all columns null.
    Record 29: Discarded - all columns null.
    Record 38: Discarded - all columns null.
    Record 39: Discarded - all columns null.
    Record 41: Discarded - all columns null.
    Record 44: Discarded - all columns null.
    Record 47: Discarded - all columns null.
    Record 50: Discarded - all columns null.
    Record 53: Discarded - all columns null.
    Record 56: Discarded - all columns null.
    Record 59: Discarded - all columns null.
    Record 62: Discarded - all columns null.
    Record 65: Discarded - all columns null.
    Record 68: Discarded - all columns null.
    Record 71: Discarded - all columns null.
    Record 74: Discarded - all columns null.
    Record 77: Discarded - all columns null.
    Record 80: Discarded - all columns null.
    Record 83: Discarded - all columns null.
    Record 86: Discarded - all columns null.
    Record 89: Discarded - all columns null.
    Record 2: Rejected - Error on table HOME_EXPENSES, column PURCHASE_DATE.
    ORA-01858: a non-numeric character was found where a numeric was expected
    Record 4: Rejected - Error on table HOME_EXPENSES, column PURCHASE_DATE.
    ORA-01858: a non-numeric character was found where a numeric was expected
    Record 6: Rejected - Error on table HOME_EXPENSES, column PURCHASE_DATE.
    ORA-01858: a non-numeric character was found where a numeric was expected
    Record 8: Rejected - Error on table HOME_EXPENSES, column PURCHASE_DATE.
    ORA-01858: a non-numeric character was found where a numeric was expected
    Record 9: Rejected - Error on table HOME_EXPENSES, column PURCHASE_DATE.
    ORA-01858: a non-numeric character was found where a numeric was expected
    Record 10: Rejected - Error on table HOME_EXPENSES, column PURCHASE_DATE.
    ORA-01858: a non-numeric character was found where a numeric was expected
    Record 11: Rejected - Error on table HOME_EXPENSES, column PURCHASE_DATE.
    ORA-01858: a non-numeric character was found where a numeric was expected
    hare krishna

    Thanks Blu for your responce. I also tried to modify very first records, according to you, it should be loaded, because it does not contain many ",". It sill failed to laod.
    --------- sample data---------------------
    05/05/09,Gas,Withdrawal,620,Automobile,Gas
    ------------------part my log file---------------
    Number to load: ALL
    Number to skip: 0
    Errors allowed: 50
    Bind array: 64 rows, maximum of 256000 bytes
    Continuation: none specified
    Path used: Conventional
    Table HOME_EXPENSES, loaded from every logical record.
    Insert option in effect for this table: INSERT
    TRAILING NULLCOLS option in effect
    Column Name Position Len Term Encl Datatype
    PURCHASE_DATE FIRST * , DATE mm/dd/yy
    PAYEE NEXT * , CHARACTER
    RUPEE_SPENT NEXT * , CHARACTER
    CATEGORY NEXT * , CHARACTER
    SUB_CATEGORY NEXT * , CHARACTER
    DESCRIPTION NEXT * , CHARACTER
    Data File home.ctl -
    Record 1: Discarded - all columns null.
    Record 3: Discarded - all columns null.
    Record 5: Discarded - all columns null.
    Record 7: Discarded - all columns null.
    Record 18: Discarded - all columns null.
    Record 25: Discarded - all columns null.
    Record 29: Discarded - all columns null.
    Record 38: Discarded - all columns null.
    Record 39: Discarded - all columns null.
    Record 41: Discarded - all columns null.
    Record 44: Discarded - all columns null.
    Record 47: Discarded - all columns null.
    Record 50: Discarded - all columns null.
    Record 53: Discarded - all columns null.
    Record 56: Discarded - all columns null.
    Record 59: Discarded - all columns null.
    Record 62: Discarded - all columns null.
    Record 65: Discarded - all columns null.
    Record 68: Discarded - all columns null.
    Record 71: Discarded - all columns null.
    Record 74: Discarded - all columns null.
    Record 77: Discarded - all columns null.
    Record 80: Discarded - all columns null.
    Record 83: Discarded - all columns null.
    Record 86: Discarded - all columns null.
    Record 89: Discarded - all columns null.
    Record 2: Rejected - Error on table HOME_EXPENSES, column PURCHASE_DATE.
    ORA-01858: a non-numeric character was found where a numeric was expected
    Record 4: Rejected - Error on table HOME_EXPENSES, column PURCHASE_DATE.
    ORA-01858: a non-numeric character was found where a numeric was expected
    Record 6: Rejected - Error on table HOME_EXPENSES, column PURCHASE_DATE.
    ORA-01858: a non-numeric character was found where a numeric was expected
    Record 8: Rejected - Error on table HOME_EXPENSES, column PURCHASE_DATE.
    ORA-01858: a non-numeric character was found where a numeric was expected
    Record 9: Rejected - Error on table HOME_EXPENSES, column PURCHASE_DATE.
    ORA-01858: a non-numeric character was found where a numeric was expected
    Record 10: Rejected - Error on table HOME_EXPENSES, column PURCHASE_DATE.
    ORA-01858: a non-numeric character was found where a numeric was expected
    Record 11: Rejected - Error on table HOME_EXPENSES, column PURCHASE_DATE.
    ORA-01858: a non-numeric character was found where a numeric was expected
    Record 12: Rejected - Error on table HOME_EXPENSES, column PURCHASE_DATE.
    ORA-01858: a non-numeric character was found where a numeric was expected
    hare krishna

  • I can't use arabic with excel office for mac 2011

    why i can't use Arabic with excel office for mac 2011?

    anajjar wrote:
    why i can't use Arabic with excel office for mac 2011?
    Because even after 14 years MS has failed to add arabic support to most Office products for Mac.  Instead use Open/LibreOffice or Numbers.

  • UNICODE data files with SQLLDR

    how can i load UNICODE data files with SQLLDR.
    my Oracle instance is on UNIX with NLS_CHARACTERSET WE8ISO8859P1.
    I have .dat files extracted from SQL Server using bcp utility with -w option.
    When i use -c option i'm not getting the european characters correctly like the a and e with 2 dots on top....
    when i load UNICODE (-w) file with CHARACTERSET UTF8 in my control file, it doesnt go thru. Any solution for this ? Thanks !

    I just created a unicode textfile on windows with some westeuropean characters and imported it into we8iso8859p1 database on linux using controlfile parameter CHARACTERSET UTF16.
    They got all properly converted.
    As Justin mentioned, unicode on windows means generally UTF16 Little Endian.
    Best regards
    Maxim

  • How can I read Arabic with ipages?

    Dear apple community,
    I just purchased a MacBook Pro and I was hoping to have bought a reliable, well-running laptop for my MA studies. However, I found myself more in trouble than it happended with Windows ever in my life. How is it possible that I cannot read and write properly in Arabic with ipages??? I downloaded ipages, I can actually write Arabic but when I open a document written in Arabic (assignments e.g.) the letters are seperated, which makes reading Arabic really uncomfortable, almost impossible.
    I downloaded OpenOffice which did run well either so I deleted it again. MacOffice does not provide Arabic either, so what I can do now? Sell my MacBook and buy a windows again??? :-((((  I am really desperate and I hope you can help me out!
    Best regards,
    Sarah
    PS: I tried to use NeoOffice but it crashed, like OpenOffice. I thought crashing is something I got rid off with buying this Mac....

    Sarah
    Mellel is often a part of Mac Bundles which offer a dozen applications for under US$50. You just missed one in fact.
    Use the trial and keep searching for bargains, particularly on http://mupromo.com
    There is also an education price (although the bundles are cheaper):
    http://store.kagi.com/cgi-bin/store.cgi?storeID=MQK_LIVE&&
    Peter

  • Acrobat XI Pro Form under Windows 7 does not display Arabic with Arabic Typesetting font

    After creating a form with right-to-left enabled, and the font of the field set to Arabic Typesetting, I can fill in the form correctly, but when I exit the field the blue editng field returns, and the text is not displayed.
    What can I do to correct this?

    Gilad:  You're right: when the fields are different, such as a checkbox and a text field, and you try to title them the same, Acrobat gives you a message. I received no messages, the field names are not the same or I missed one and Acrobat is no longer messaging about it.
    My question is different. Acrobat XI will not let me paste any field copied from a different PDF.  I've been doing that for 5 years in three different versions.  Maybe Acrobat XI has a new process for that, which I could not find in Acrobat help. Maybe it's because all forms now have extended rights automatically in Acrobat XI and there is another method to copy common fields to other PDFs.
    Any thoughts about the new Acrobat XI? It's different in many good ways, but different.
    Thanks for your ideas.

  • Little problem with SQLLDR

    Hi,
    I've got great help here in the past so I thought this would be the right place to try and find the solution to my problem loading data using SQLLDR into an oracle database.
    Basically, upon loading I am using a to_date function. However, the parameters this to_date function must take depends on the data I'm trying to load (there are only two possible date formats I'm trying to load). Is there any way of using two to_date functions inside a conditional statement (if statement etc.).
    Thanks a lot in advance!!
    Dan

    Looking at what you posted, i think you may have some issues with the quoting.
    to_date(:DATE_FIELD,''DD-MM-YYYY'))"
    {code}
    You have a double quote before the DD there.
    Edited by: Tubby on Jun 14, 2010 10:10 AM
    I see someone else is quicker than me :)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Loading single digit months with SQLLDR

    How can I load dates with the month having a single digit using sqlldr??
    62305220507 in this example the date is 23-Jun0-05 22:05:07
    111804115452 in this example the date is 18-Nov-04 11:54:52
    I've tried the date mask mmddyyhh24miss but only the double digit months get loaded.
    Thanks,
    Paul

    How about something like this
    my_date CHAR "to_date(lpad(:my_date, 12, '0'), 'mmddyyhh24miss')"P.S. And maybe you should consider to use RR rather than YY for the two digit year?

  • Instant client with sqlldr (win32)

    Hi all,
    I am successfully using the instant client(IC) for sqlplus in winXP (32) machines.
    Now I would very much need to use the sqlldr in the same IC-environment. Does anybody know, which additional DLLs of the full-client I need?
    If I have the choice I could possibly live without certain feature of the sql-loader.
    Many thanks in advance for any help in this issue.
    Xenofon

    You cannot have sqlldr with Instant Client.
    Install the regular client.
    Yours,
    Laurenz Albe

  • Need Help with sqlldr/cmd prompt....

    Hi,
    I am successfully using sqlldr using runtime.exec() but the issue is that my next class which is to be run after sqlldr class is using the log files,bad files etc created by sqlldr class.
    Since sqlldr class invokes command prompt and runs the loader script there and ends so my next class tries to use the things which are not yet created and thus creates a problem that i am not able to automate the complete work.
    Currently I am using system proprtties to find out that if cmd.exe process is running then the execution of my next class should wait but this again causes a problem on shared user as the cmd.exe can be invoked by another person and also it feels as a shortcoming of my code.
    So can anybody please help me with this issue asap, I am also ok to try some another way to transfer my flat files data to database using control files.
    Thanks in Anticipation

    if your process successfully running it the program should wait at waitFor() function call. If it going with out waiting, then that can be your process has failed - you can identify by print the return value or the cmd.exe called another process and it is terminated.

  • Oracle 11g INSTANT CLIENT for Mac OS 10.8 with SQLLDR and WRAP

    To Oracle please upgrade INSTANT Client 11g and/or 12c (future) and include two additional utilities I always use SQLLDR and WRAP. Currently I have to open a Linux VM to wrap and use SQL*Loader. I would prefer to do it all in the terminal window.
    Actually I would like to see sqlldr and wrap utilities included with all instant clients (Linux, Windows, Mac OS, etc)

    Can you see the difference? (btw i am sure, genezi -v as sidadm worked with 11.2.0.1)
    sidadm > /oracle/client/10x_64/instantclient_10204/genezi -v
    Client Shared Library 64-bit - 10.2.0.4.0
    System name:    HP-UX
    Release:        B.11.31
    Version:        U
    Machine:        ia64
    sidadm > genezi -v
    Client Shared Library 64-bit - 11.2.0.2.0
    System name:    HP-UX
    Release:        B.11.31
    Version:        U
    Machine:        ia64
    Or
    sidadm > strings /oracle/client/10x_64/instantclient_10204/libclntsh.so | grep 'Release'
    Oracle Database 10g Release 2 Patch Set 3                            10.2.0.4.0
    Or check in SAPGui -> Menu -> Status
    Cheers Michael
    PS: the cause for the behavior is, that there is always a client library in the $ORACLE_HOME directory too. And you have to be careful which one you (genezi) picks...

  • Problem with the run_job,shell script with sqlldr

    Hi Gurus,
    I Created a job which calls the shell script and i understood from the other posting this job is going to execute with nobody,
    I had done the below testing
    Test 1) Shell script calls the SQL file, this SQL file executes the procedure.
    Test 2) Shell script calls the sqlldr command.
    When i execute the Test cases with , dbms_scheduler Run_job procedure, Test1 is success but Test2 was failed
    When i execute the Test cases with, logging into box with owner of the shell & both test cases are successful.
    Parent folder & Shell files are given with 777 permissions. & the Oracle db is version 10.2.0.1.0.
    Error:
    STANDARD_ERROR="SQL*Loader-522: lfiopn failed for file (*.log)"
    Please provide me your inputs its bit urgent Thanks a lot for your help.
    Edited by: 926769 on May 23, 2012 2:27 PM

    First of all let's look at your environment ... a totally unpatched version of software that is so old it is in desupport mode. You should upgrade to a fully supported version but, if you can't, at least to 10.2.0.5.
    That said without seeing any of your code, or a listing showing permissions on the directory and files, there is insufficient information from which to help you.
    Please post ALL information required for us to understand what you are doing an your environment.
    But before I decided that NOBODY was doing anything ... I'd shell out to the server from SQL*Plus using the HOST command and verify that permissions are as you believe them to be. There is every reason to believe SQL*Loader is having an issue with your file as identified.

  • Problem in viewing arabic with Apache4.1

    i've problem in viewing arabic in Apache4.1 however my encoding charset is vaild charset to viewing arabic

    hmm.... I had experience with Oracle and Macoye DB. They save the data in ISO. In order to view the data in IE u need to get them as UTF8. So I think thats the only problem u see them as ????. In oder to test this, please view it in IE and when u see ????. Select View -> Encoding and select Arabic (Window) from IE toolbar. if you see the correct Arabic, than it simply means that you need to convert ur Arabic Charset into UTF8 after getting it from DB, but before displaying it in IE.

Maybe you are looking for