SQL Loader Multibyte character error, LENGTH SEMANTICS CHARACTER

Hi,
startet SQL Loader Multibyte character error
{thread:id=2340726}
some mod locked the thread, why?
the solution for others:
add LENGTH SEMANTICS CHARACTER to the controlfile
LOAD DATA characterset UTF8 LENGTH SEMANTICS CHARACTER
TRUNCATE                              
INTO TABLE utf8file_to_we8mswin1252
  ID    CHAR(1)     
, TEXT  CHAR(40)
)Regards
Michael

Hi Werner,
on my linux desktop:
$ file test.dat
test.dat: UTF-8 Unicode text, with very long lines
my colleague is working on a windows system.
On both systems exact the same error from SQL Loader.
Btw, try with different number of special characters (german umlaute and euro) and there is no chance to load without the error
when to many (?) special characters or data is long as column length and special characters included.
Regards
Michael

Similar Messages

  • SQL Loader-704: Internal error: Maximum record length must be = [10000000]

    Hi,
    running SQL*Loader (Release 8.1.7.2.1) causes an error "SQL*Loader-704: Internal error: Maximum record length must be <= [10000000]". This error occurs when SQLLoader is trying to load several thousand records into a database table. Each record is less than 250 bytes in length.
    Any idea what could cause the problem?
    Thanks in advance!
    Ingo
    And here's an extract from the log file generated by SQLLoader :
    Number to load: ALL
    Number to skip: 0
    Errors allowed: 50
    Bind array: 1360 rows, maximum of 10485760 bytes
    Continuation: none specified
    Path used: Conventional
    Table "SYSTEM"."BASICPROFILE$1", loaded from every logical record.
    Insert option in effect for this table: APPEND
    TRAILING NULLCOLS option in effect
    Column Name Position Len Term Encl Datatype
    UUID FIRST * O(X07) CHARACTER
    DOMAINID NEXT * O(X07) CHARACTER
    LASTMODIFIED NEXT * O(X07) DATE DD/MM/YYYY HH24:MI:SS
    ANNIVERSARY NEXT * O(X07) CHARACTER
    BIRTHDAY NEXT * O(X07) CHARACTER
    COMPANYNAME NEXT * O(X07) CHARACTER
    DESCRIPTION NEXT * O(X07) CHARACTER
    FIRSTNAME NEXT * O(X07) CHARACTER
    COMPANYNAMETRANSCRIPTION NEXT * O(X07) CHARACTER
    FIRSTNAMETRANSCRIPTION NEXT * O(X07) CHARACTER
    GENDER NEXT * O(X07) CHARACTER
    HOBBIES NEXT * O(X07) CHARACTER
    HONORIFIC NEXT * O(X07) CHARACTER
    JOBTITLE NEXT * O(X07) CHARACTER
    KEYWORDS NEXT * O(X07) CHARACTER
    LASTNAME NEXT * O(X07) CHARACTER
    LASTNAMETRANSCRIPTION NEXT * O(X07) CHARACTER
    NICKNAME NEXT * O(X07) CHARACTER
    PREFERREDLOCALE NEXT * O(X07) CHARACTER
    PREFERREDCURRENCY NEXT * O(X07) CHARACTER
    PROFESSION NEXT * O(X07) CHARACTER
    SECONDLASTNAME NEXT * O(X07) CHARACTER
    SECONDNAME NEXT * O(X07) CHARACTER
    SUFFIX NEXT * O(X07) CHARACTER
    TITLE NEXT * O(X07) CHARACTER
    CONFIRMATION NEXT * O(X07) CHARACTER
    DEFAULTADDRESSID NEXT * O(X07) CHARACTER
    BUSINESSPARTNERNO NEXT * O(X07) CHARACTER
    TYPECODE NEXT * O(X07) CHARACTER
    OCA NEXT * O(X07) CHARACTER
    SQL*Loader-704: Internal error: Maximum record length must be <= [10000000]

    As a second guess, the terminator changes or goes missing at some point in the data file. If you are running on *NIX, try wc -l data_file_name.  This will give a count of the number of lines (delimited by CHR(10) ) that are in the file.  If this is not close to the number you expected, then that is your problem.
    You could also try gradually working through the data file loading 100 records, then 200, then 300 etc. to see where it starts to fail.
    HTH
    John

  • Sql loader 1: Rejected - Error on table "AP"."AP_SUPPLIER_SITES_INT", ....

    Hello all,
    I am getting error while running below sql loader command...
    load data
    infile *
    into TABLE AP_SUPPLIER_SITES_INT
    REPLACE
    fields terminated by ","
    OPTIONALLY ENCLOSED BY '"'
    VENDOR_INTERFACE_ID expression "to_char('select VENDOR_INTERFACE_ID from AP_SUPPLIERS_INT where CUSTOMER_NUM=:CUSTOMER_NUM')",
    VENDOR_SITE_INTERFACE_ID "to_char(ap_supplier_sites_int_s.NEXTVAL)",
    LAST_UPDATE_DATE "SYSDATE",
    LAST_UPDATED_BY,
    VENDOR_SITE_CODE,
    CREATION_DATE "SYSDATE",
    CREATED_BY,
    PURCHASING_SITE_FLAG,
    PAY_SITE_FLAG,
    ADDRESS_LINE1,
    ADDRESS_LINE2,
    ADDRESS_LINE3,
    CITY,
    STATE,
    ZIP,
    COUNTRY,
    PHONE,
    FAX,
    PAYMENT_METHOD_LOOKUP_CODE,
    TERMS_ID,
    CREATE_DEBIT_MEMO_FLAG,
    HOLD_UNMATCHED_INVOICES_FLAG,
    EMAIL_ADDRESS,
    MATCH_OPTION,
    EXCLUDE_FREIGHT_FROM_DISCOUNT,
    INVOICE_CURRENCY_CODE,
    PAYMENT_CURRENCY_CODE,
    COUNTRY_OF_ORIGIN_CODE,
    FREIGHT_TERMS_LOOKUP_CODE,
    PAY_GROUP_LOOKUP_CODE,
    PAY_DATE_BASIS_LOOKUP_CODE,
    ALWAYS_TAKE_DISC_FLAG,
    ORG_ID)
    begindata
    1005,,SYSDATE,1132,Test MA Site_1,SYSDATE,1132,Y,Y,No#907 62nd Street ,10th Sector,KK Nagar,Chennai,TamilNadu,600078,IN,+91 44 33333333,044 40404040,CHECK,10000,Y,N,[email protected],R,Y,INR,INR,IN,TBD,STANDARD,DISCOUNT,Y,120
    Log file:
    Table "AP"."AP_SUPPLIER_SITES_INT", loaded from every logical record.
    Insert option in effect for this table: REPLACE
    Column Name Position Len Term Encl Datatype
    VENDOR_INTERFACE_ID EXPRESSION
    SQL string for column : "to_char('select VENDOR_INTERFACE_ID from AP_SUPPLIERS_INT where CUSTOMER_NUM=:CUSTOMER_NUM')"
    VENDOR_SITE_INTERFACE_ID FIRST * , O(") CHARACTER
    SQL string for column : "to_char(ap_supplier_sites_int_s.NEXTVAL)"
    LAST_UPDATE_DATE NEXT * , O(") CHARACTER
    SQL string for column : "SYSDATE"
    LAST_UPDATED_BY NEXT * , O(") CHARACTER
    VENDOR_SITE_CODE NEXT * , O(") CHARACTER
    CREATION_DATE NEXT * , O(") CHARACTER
    SQL string for column : "SYSDATE"
    CREATED_BY NEXT * , O(") CHARACTER
    PURCHASING_SITE_FLAG NEXT * , O(") CHARACTER
    PAY_SITE_FLAG NEXT * , O(") CHARACTER
    ADDRESS_LINE1 NEXT * , O(") CHARACTER
    ADDRESS_LINE2 NEXT * , O(") CHARACTER
    ADDRESS_LINE3 NEXT * , O(") CHARACTER
    CITY NEXT * , O(") CHARACTER
    STATE NEXT * , O(") CHARACTER
    ZIP NEXT * , O(") CHARACTER
    COUNTRY NEXT * , O(") CHARACTER
    PHONE NEXT * , O(") CHARACTER
    FAX NEXT * , O(") CHARACTER
    PAYMENT_METHOD_LOOKUP_CODE NEXT * , O(") CHARACTER
    TERMS_ID NEXT * , O(") CHARACTER
    CREATE_DEBIT_MEMO_FLAG NEXT * , O(") CHARACTER
    HOLD_UNMATCHED_INVOICES_FLAG NEXT * , O(") CHARACTER
    EMAIL_ADDRESS NEXT * , O(") CHARACTER
    MATCH_OPTION NEXT * , O(") CHARACTER
    EXCLUDE_FREIGHT_FROM_DISCOUNT NEXT * , O(") CHARACTER
    INVOICE_CURRENCY_CODE NEXT * , O(") CHARACTER
    PAYMENT_CURRENCY_CODE NEXT * , O(") CHARACTER
    COUNTRY_OF_ORIGIN_CODE NEXT * , O(") CHARACTER
    FREIGHT_TERMS_LOOKUP_CODE NEXT * , O(") CHARACTER
    PAY_GROUP_LOOKUP_CODE NEXT * , O(") CHARACTER
    PAY_DATE_BASIS_LOOKUP_CODE NEXT * , O(") CHARACTER
    ALWAYS_TAKE_DISC_FLAG NEXT * , O(") CHARACTER
    ORG_ID NEXT * , O(") CHARACTER
    value used for ROWS parameter changed from 64 to 31
    Record 1: Rejected - Error on table "AP"."AP_SUPPLIER_SITES_INT", column VENDOR_INTERFACE_ID.
    ORA-01722: invalid number
    Please guide me what could be an issue...
    Is there any other way to pass function in sql loader..
    Thanks and Regards
    Muthukumar

    I created function like below...... retrun value as number
    create or replace function VDR_INF_F(V_NUM number)
    return number is
    VDR_INF_id AP_SUPPLIERS_INT.VENDOR_INTERFACE_ID%type;
    begin
    select VENDOR_INTERFACE_ID
    into VDR_INF_id
    from AP_SUPPLIERS_INT
    where CUSTOMER_NUM = V_NUM;
    return VDR_INF_id;
    end;
    And attached that into loader program...
    load data
    infile *
    into TABLE AP_SUPPLIER_SITES_INT
    REPLACE
    fields terminated by ","
    OPTIONALLY ENCLOSED BY '"'
    VENDOR_SITE_INTERFACE_ID "to_char(ap_supplier_sites_int_s.NEXTVAL)",
    LAST_UPDATE_DATE "SYSDATE",
    LAST_UPDATED_BY,
    VENDOR_SITE_CODE,
    CREATION_DATE "SYSDATE",
    CREATED_BY,
    PURCHASING_SITE_FLAG,
    PAY_SITE_FLAG,
    ADDRESS_LINE1,
    ADDRESS_LINE2,
    ADDRESS_LINE3,
    CITY,
    STATE,
    ZIP,
    COUNTRY,
    PHONE,
    FAX,
    PAYMENT_METHOD_LOOKUP_CODE,
    TERMS_ID,
    CREATE_DEBIT_MEMO_FLAG,
    HOLD_UNMATCHED_INVOICES_FLAG,
    EMAIL_ADDRESS,
    MATCH_OPTION,
    EXCLUDE_FREIGHT_FROM_DISCOUNT,
    INVOICE_CURRENCY_CODE,
    PAYMENT_CURRENCY_CODE,
    COUNTRY_OF_ORIGIN_CODE,
    FREIGHT_TERMS_LOOKUP_CODE,
    PAY_GROUP_LOOKUP_CODE,
    PAY_DATE_BASIS_LOOKUP_CODE,
    ALWAYS_TAKE_DISC_FLAG,
    ORG_ID,
    VENDOR_INTERFACE_ID expression "VDR_INF_F(':CUSTOMER_NUM')"
    begindata
    1005,,SYSDATE,1132,Test MA Site_1,SYSDATE,1132,Y,Y,No#907 62nd Street ,10th Sector,KK Nagar,Chennai,TamilNadu,600078,IN,+91 44 33333333,044 40404040,CHECK,10000,Y,N,[email protected],R,Y,INR,INR,IN,TBD,STANDARD,DISCOUNT,Y,120,1005
    1005,,SYSDATE,1132,Test MA Site_2,SYSDATE,1132,Y,Y,No#907 62nd Street ,10th Sector,KK Nagar,Chennai,TamilNadu,600078,IN,+91 44 33333333,044 40404040,CHECK,10000,Y,N,[email protected],R,Y,INR,INR,IN,TBD,STANDARD,DISCOUNT,Y,120,1005
    1005,,SYSDATE,1132,Test MA Site_3,SYSDATE,1132,Y,Y,No#907 62nd Street ,10th Sector,KK Nagar,Chennai,TamilNadu,600078,IN,+91 44 33333333,044 40404040,CHECK,10000,Y,N,[email protected],R,Y,INR,INR,IN,TBD,STANDARD,DISCOUNT,Y,120,1005
    1006,,SYSDATE,1132,Test1 M Site_1,SYSDATE,1132,Y,Y,No#907 62nd Street ,10th Sector,KK Nagar,Chennai,TamilNadu,600078,IN,+91 44 33333333,044 40404040,CHECK,10000,Y,N,[email protected],R,Y,INR,INR,IN,TBD,STANDARD,DISCOUNT,Y,120,1006
    1007,,SYSDATE,1132,Test1 B Site_1,SYSDATE,1132,Y,Y,No#907 62nd Street ,10th Sector,KK Nagar,Chennai,TamilNadu,600078,IN,+91 44 33333333,044 40404040,CHECK,10000,Y,N,[email protected],R,Y,INR,INR,IN,TBD,STANDARD,DISCOUNT,Y,120,1007
    Even now sql loader giving same error..
    like below.....
    able "AP"."AP_SUPPLIER_SITES_INT", loaded from every logical record.
    Insert option in effect for this table: REPLACE
    Column Name Position Len Term Encl Datatype
    VENDOR_SITE_INTERFACE_ID FIRST * , O(") CHARACTER
    SQL string for column : "to_char(ap_supplier_sites_int_s.NEXTVAL)"
    LAST_UPDATE_DATE NEXT * , O(") CHARACTER
    SQL string for column : "SYSDATE"
    LAST_UPDATED_BY NEXT * , O(") CHARACTER
    VENDOR_SITE_CODE NEXT * , O(") CHARACTER
    CREATION_DATE NEXT * , O(") CHARACTER
    SQL string for column : "SYSDATE"
    CREATED_BY NEXT * , O(") CHARACTER
    PURCHASING_SITE_FLAG NEXT * , O(") CHARACTER
    PAY_SITE_FLAG NEXT * , O(") CHARACTER
    ADDRESS_LINE1 NEXT * , O(") CHARACTER
    ADDRESS_LINE2 NEXT * , O(") CHARACTER
    ADDRESS_LINE3 NEXT * , O(") CHARACTER
    CITY NEXT * , O(") CHARACTER
    STATE NEXT * , O(") CHARACTER
    ZIP NEXT * , O(") CHARACTER
    COUNTRY NEXT * , O(") CHARACTER
    PHONE NEXT * , O(") CHARACTER
    FAX NEXT * , O(") CHARACTER
    PAYMENT_METHOD_LOOKUP_CODE NEXT * , O(") CHARACTER
    TERMS_ID NEXT * , O(") CHARACTER
    CREATE_DEBIT_MEMO_FLAG NEXT * , O(") CHARACTER
    HOLD_UNMATCHED_INVOICES_FLAG NEXT * , O(") CHARACTER
    EMAIL_ADDRESS NEXT * , O(") CHARACTER
    MATCH_OPTION NEXT * , O(") CHARACTER
    EXCLUDE_FREIGHT_FROM_DISCOUNT NEXT * , O(") CHARACTER
    INVOICE_CURRENCY_CODE NEXT * , O(") CHARACTER
    PAYMENT_CURRENCY_CODE NEXT * , O(") CHARACTER
    COUNTRY_OF_ORIGIN_CODE NEXT * , O(") CHARACTER
    FREIGHT_TERMS_LOOKUP_CODE NEXT * , O(") CHARACTER
    PAY_GROUP_LOOKUP_CODE NEXT * , O(") CHARACTER
    PAY_DATE_BASIS_LOOKUP_CODE NEXT * , O(") CHARACTER
    ALWAYS_TAKE_DISC_FLAG NEXT * , O(") CHARACTER
    ORG_ID NEXT * , O(") CHARACTER
    VENDOR_INTERFACE_ID EXPRESSION
    SQL string for column : "VDR_INF_F(':CUSTOMER_NUM')"
    value used for ROWS parameter changed from 64 to 31
    Record 1: Rejected - Error on table "AP"."AP_SUPPLIER_SITES_INT", column VENDOR_INTERFACE_ID.
    ORA-01722: invalid number
    Record 2: Rejected - Error on table "AP"."AP_SUPPLIER_SITES_INT", column VENDOR_INTERFACE_ID.
    ORA-01722: invalid number
    Record 3: Rejected - Error on table "AP"."AP_SUPPLIER_SITES_INT", column VENDOR_INTERFACE_ID.
    ORA-01722: invalid number
    Record 4: Rejected - Error on table "AP"."AP_SUPPLIER_SITES_INT", column VENDOR_INTERFACE_ID.
    ORA-01722: invalid number
    Record 5: Rejected - Error on table "AP"."AP_SUPPLIER_SITES_INT", column VENDOR_INTERFACE_ID.
    ORA-01722: invalid number
    Please guide me, how to clear this issue?
    Thanks and Regards,
    Muthu

  • SQL*Loader-350: Syntax error at line 5.

    Hi ,iam  new for  using  sql*loader, with minimum  understanding from  the forums,Iam  trying  to load data  from a flat  file (.dat) to oracle database.
    here  is  my  .dat file-------> data_file.dat
    aaaa, mumbai
    bbbb,kolkat
    here is  my  .ctl fle ------->ctrl_file.ctl
    load data 
    infile 'F:\oracle_utils_kiranorcl\KIR_ORA_DIR\emp_data.dat'
    into table  test
    fields terminated by  ","
    ( NAM  varchar2(12),
    PLACE varchar2(8)
    here  is  db_tab_name  structure 
    create table test (nam Varchar2(15),place Varchar2(10));
    SQL> select *  from  test;
    NAM             PLACE
    now.......
    iam  running  the command on  cmd window on  os  level
    F:\app\NANDAN\product\11.2.0\dbhome_1>sqlldr userid=kiranmai/kiranmai@kiranorcl control=F:\oracle_utils_kiranorcl\KIR_ORA_DIR\emp_data.ctl log=F:\oracle_utils_kiranorcl\KIR_ORA_DIR\emp_data.log bad=F:\oracle_utils_kiranorcl\KIR_ORA_DIR\emp_data.bad
    when  i run this  above command ,I get  an  error,
    SQL*Loader-350: Syntax error at line 5.
    Expecting "," or ")", found "varchar2".
    ( NAM varchar2(12),
           ^
    I  tried so many  times by creating  new ctl  files further. But  couldn't  able get  what  is  the  wrong  thing  ????
    Please help me ..
    Thanks

    Instead of:
    fields terminated by  ","
    ( NAM  varchar2(12),
    PLACE varchar2(8)
    try:
    fields terminated by  ","
    ( NAM  char,
    PLACE char

  • SQL*Loader-704: Internal error: ulconnect: OCIInitialize [1804]

    I tried using MassLoader to load some data into the local database on the Oracle 9i server. MassLoader first generated the data files and then called sqlldr to load the data into the db. It failed and I received SQL*Loader-704: Internal error: ulconnect: OCIInitialize [1804]. I tried with Oracle 8i sqlldr and it worked fine. So, the problem seems to be with Oracle 9i sqlldr. Is there any fix for this or how can I investigate it? Thanks in advance.

    The problem lies in permissions in $ORACLE_HOME. I had the problem and came up with two solutions. The first was to chmod 6751 sqlldr. The second I liked better was to go thru the subdirectores and insure that all of the files were marked as accessable by others. After talking with fellow dba's we changed the permissions to 755 on all directories but bin. Again this might not be the correct fix but it works
    try again after changing
    ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
    to
    ORA_NLS33=$ORACLE_RDBMS/ocommon/nls/admin/data
    try above solution and let us know.

  • SQL*LOADER 시 발생하는 ORA-1653 ERROR

    제품 : SQL*PLUS
    작성날짜 : 2002-04-25
    SQL*LOADER 실행 시 발생하는 ORA-1653
    ====================================
    PURPOSE
    다음은 SQL*LOADER 실행시 ORA-1653 ERROR가 발생시에 조치하는
    방법을 설명한다.
    Explanation
    ORA-1653 error 는 특정 tablespace 에 space 가 부족해서 table의
    extent가 일어나지 못해서 발생하는 error 이다 .
    먼저 error message 에서 tablespace name 이 무엇인지 먼저
    check 한다.
    그리고 다음 command 를 이용해 해당 tablespace 를 늘려주면 된다.
    ALTER TABLESPACE tablespace_name ADD DATAFILE '.....' size 100m;
    그러나 이때의 tablespace 가 SYSTEM 일 경우는 user 의 default
    tablespace 가 잡혀있지 않기 때문이어서 근본적인 해결이 필요하다.
    이 경우는 무작정 tablespsace 를 늘리지 말고 user 의 default
    tablespace 를 create 후 user 에게 할당해주도록 한다.
    CREATE TABLESPACE tablespace_name datafile '...' size 100m;
    ALTER USER user_name IDENTIFIED BY passwd
    DEFAULT TABLESPACE tablespace_name
    TEMPORARY TABLESPACE temp ;
    위와 같이 user의 default tablespace 를 변환한 후, 이 default
    tablespace 안에 create table을 다시 한 후 sql*loader 를 실행한다.
    Reference Documents
    --------------------

    Hi,
    You must have more than one tnsnames file or multiple installations of oracle. What i suggest you do (as I'm sure will be mentioned in ed's link that you were already pointed at) is the following (* i assume you are on windows?)
    open a command prompt
    set TNS_ADMIN=PATH_TO_DIRECTOT_THAT_CONTAINS_CORRECT_TNSNAMES_FILE (i.e. something like set TNS_ADMIN=c:\oracle\network\admin)
    This will tell oracle use the config files you find here and no others
    then try sqlldr user/pass@db (in the same dos window)
    see if that connects and let us know.
    Cheers,
    Harry
    http://dbaharrison.blogspot.com

  • SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]

    Hi
    User is getting the below error:
    H:\>sqlldr ARETHYYU/FRTGEU@RSSPDT
    control = H:\rag_load_reports.ctl
    SQL*Loader: Release 8.1.7.3.0 - Production on Mon Mar 9 07:44:08 2009
    (c) Copyright 2000 Oracle Corporation. All rights reserved.
    SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]
    Anyone pls help me in solving this issue...
    Thanks,
    Kr

    This means that the tnsname being used is not being recognized by Oracle. Check your tnsnames.ora file and see if you're using the correct connection string for the database you are trying to connect to. Furthermore, do you have more than one oracle installation on your PC? If that is the case then you should copy the correct entry and replicate it to other tnsnames.ora files. Only for the sake of knowledge, I would like to know if you are using the connection string from the sqlplus session of your PC, but you're executing SQL Loader from another machine?

  • SQL*Loader-704: Internal error: ulconnect: OCIEnvCreate [-1]

    I am getting the following error on my Windows XP box:
    sqlldr illumina/illumina@rmdodmsrv ivsheader2.ctl
    SQL*Loader: Release 11.1.0.7.0 - Production on Wed Feb 17 13:40:02 2010
    Copyright (c) 1982, 2007, Oracle. All rights reserved.
    SQL*Loader-704: Internal error: ulconnect: OCIEnvCreate [-1]
    If I try the following command it connects fine:
    sqlldr illumina/illumina@rmdodmsrv ivsheader2.ctl
    SQL*Loader: Release 11.1.0.7.0 - Production on Wed Feb 17 13:40:02 2010
    Copyright (c) 1982, 2007, Oracle. All rights reserved.
    SQL*Loader-704: Internal error: ulconnect: OCIEnvCreate [-1]
    I have an Oracle_Home env variable set to the oracle directory.
    Please help

    I know its an older thread and the thread was about Oracle 10.2.x I worked on client 11.2.0.1 but I thought I can share what I did to add sqlldr to instant Oracle client.
    I used Oracle instant client 11.2.0.1 with sqlplus. I also downloaded and installed the full Oracle client 11.2.0.1 to have access to the sqlldr files. I chose Custom install and only installed the utilities.
    - Within the oracle instant client directory make sure that you put all sqlldr related files into a bin directory.
    - Make sure you have all libraries that are needed by sqlldr copied from the full client into the bin directory. Also copy the sqlldr.exe into the bin folder.
    - Copy directory nls from the full client to the instant client (especially the information in subdirectory "data" seems to be needed)
    - Copy directory rdbms from the full client to the instant client. This contains the error messages. I only copied mesg/oraus.msb and mesg/ulus.msb. However, if you dont get all files you risk that you will not have meaningful error messages.
    - Copy directory oracore from the full client to the instant client (especially the information in subdirectory "timezone" seem to be needed).
    To find out which files sqlldr is trying to access you can use strace, truss on Unix systems or ProcessMonitor on Windows.
    To run the sqlldr I needed to set the environment variable ORACLE_HOME to the instant client directory. I also created a tnsnames.ora file and set TNS_ADMIN to the directory the tnsnames.ora is located.

  • SQL*Loader-350: Syntax error at line 1.

    I am getting an systax error saying :
    SQL*Loader-350: Syntax error at line 1.
    Expecting keyword LOAD, found "ï".
    What could be the prob ??

    description of the control file :
    LOAD DATA
    APPEND INTO TABLE TEST_UPDATE
    FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
    TRAILING NULLCOLS
    (STATUS constant 3,
    CID sequence (count),
    SUBJECT_ID constant 0,
    PNO "RTRIM(LTRIM(:PID))",
    FREQ NULLIF VISIT = BLANKS,
    INV "RTRIM(LTRIM(:INV))",
    PNUM NULLIF PAGENUM = BLANKS,
    VDT DATE "DD/MM/YYYY HH24:MI:SS"
    NULLIF VISIT_DATE = BLANKS,
    MKEY "RTRIM(LTRIM(:MASTERKEY))",
    DKEY "RTRIM(LTRIM(:DETAILKEY))")
    I found a sysntax error for this. Plz suggest.

  • Error: SQL*Loader-926: OCI error while OCIStmtExecute(trigger_hp) for table

    HEllo, i've a problem when i try to load a file, the message is:
    SQL*Loader-926: OCI error while OCIStmtExecute(trigger_hp) for table <table>
    ORA-00904: invalid column name
    what is the solution for this?
    thanks

    The root cause is in the error ora-1426, which you can look up in the online error documentation at http://tahiti.oracle.com . No one knows every error message by heart. This means it is expected you look up the error prior to posting, and you don't expect any volunteer in this forum to look up the error on your behalf.
    Also this is a typical candidate for being a known problem, and known problems can be found on My Oracle Support.
    Sybrand Bakker
    Senior Oracle DBA

  • ERROr- SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]

    Hi All,
    I was running a java program which uses java runtime to call Oracle SQL Loader to load a data file inthe Data base , After loading one file sucessfully , the process stopped after giving the error -:
    SQL*Loader execution exited with EX_FAIL, see logfile:SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]
    ORA-12154: TNS:could not resolve service name
    Can anyone please let me know What can be the problem . ???? Please let me know where the problem lies ?
    Regards
    Asif

    Can some one help to solve this problem????
    Edited by: NanthaKumarAR on Apr 13, 2012 5:55 AM

  • SQL*Loader-704: Internal error

    Dear all,
    I have run this command in windows
    sqlplus a/b@c
    it is connected successfully, I can run sql and results returned.
    however, I run this sql loader command
    sqlldr a/b@c control=test.ctl data=test.txt
    but error is returned
    SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]
    ORA-12154: TNS:could not resolve the connect identifier specified
    what are the reasons and why?
    thank you very much!

    Hi,
    I had the same problem. I already fixed it!
    I use two ORACLE_HOME, one for Oracle Client and one for Oracle Developer Suite 10g. The sqlplus.exe is in both BIN directories, but sqlldr is only in client's ORACLE_HOME\BIN directory.
    When you run sqlplus.exe, it uses tnsnames.ora from devsuite's ORACLE_HOME\NETWORK\ADMIN, I think, it contains rows for SID=c.
    When you run sqlldr.exe, it uses tnsnames.ora from client's ORACLE_HOME\NETWORK\ADMIN, I think, it does not contain rows for SID=c (my tnsnames.ora did not contain them).
    Make both tnsnames.ora the same and your problem will be fixed.
    Tom

  • Privilege revoked on a table  - SQL*Loader-926: OCI error

    During recent maintainence activity , a table was exported & imported , deleted , truncated & dropped.After the activity an user lost its privilege on the table and a job related to this table has been failing with the below error
    SQL*Loader-926: OCI error while executing delete/truncate (due to REPLACE/TRUNCATE keyword) for table xyz.abc_def
    ORA-01031: insufficient privileges
    The privileges were granted on the table once again and since then the job has been successful , however we are unable to find the root cause which was responsible for the revoking of these privileges.
    Any suggestions and insight into this would be very helpful and much apprciated.

    Please read http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_9003.htm#SQLRF01806
    >
    Dropping a table invalidates dependent objects and removes object privileges on the table. If you want to re-create the table, then you must regrant object privileges on the table, re-create the indexes, integrity constraints, and triggers for the table, and respecify its storage parameters
    >
    Edited by: P. Forstmann on 1 févr. 2011 13:44

  • SQL Loader Multibyte character error

    Hello,
    Oracle Database 11g Release 11.2.0.2.0 - 64bit Production
    Database Characterset: WE8MSWIN1252
    To load an utf8 File (UTF-8 Unicode text) i use option characterset UTF8 in controlfile.
    All went fine until in textfile the column is filled up with 40 chars and
    german umlaute included (ÜÖÄüöä...)
    Loader stops (errors=0) and gives:
    Record 146466: Rejected - Error on table 'TableName', column 'ColumnName'.
    Multibyte character error
    * use CHAR(40) and POSITION(start-end) for field description - no help
    * modify column, from VC2(40 char) to VC2(50 char) - no help
    * without characterset UTF8 option i got wrong characters for german umlaute - no help
    * manual insert the data from this row with NO problems !
    any hint or workaround?
    Regards
    Michael

    Hi Werner,
    on my linux desktop:
    $ file test.dat
    test.dat: UTF-8 Unicode text, with very long lines
    my colleague is working on a windows system.
    On both systems exact the same error from SQL Loader.
    Btw, try with different number of special characters (german umlaute and euro) and there is no chance to load without the error
    when to many (?) special characters or data is long as column length and special characters included.
    Regards
    Michael

  • The output of sql loader displays '?' for the chinese character

    I'm run the sql loader to import the data. The following is the ctl script:
    LOAD DATA
    CHARACTERSET ZHS16CGB231280
    APPEND
    INTO TABLE xxabc_gti_feedback
    when (5:6) ='~~' and (8:9)='~~'
    FIELDS TERMINATED BY "~~"
    TRAILING NULLCOLS
    absoluted
    ,exist_lists
    ,invoice_type
    ,invoice_category_code
    ,invoice_number
    ,line_count
    ,invoice_date DATE "YYYYMMDD"
    ,invoice_month
    ,trx_number
    ,amount_without_tax
    ,tax_rate
    ,tax_amount
    ,gti_feedback_id "xxban_gti_feedback_s.nextval"
    ,creation_date sysdate
    ,last_update_date sysdate
    EBS version: R12(12.0.4)
    The characterset of database is UTF-8
    The file characterset is GB2312
    The following is the example of data file.
    SJJK0201~~已开发票传出
    39~~20110413~~20110413
    //发票1
    0~~0~~0~~325676740~~11085979~~3~~20110413~~04~~~~3336.71~~0.17~~567.24~~珠海XX机电设备有限公司~~440407897878~~珠海市香洲区XXX 0756-3666666~~建行前山支行777777~~XX电子(苏州)有限公司~~32170078678890~~苏州工业园区 6267565~~中国银行园区支行25456672~~1653\n31263\n67126~~XXX~~XXX~~XXX
    0~~aaa~~P83782~~个~~2~~6854.70~~0.17~~1165.30~~4010~~1~~1601
    1~~bbb~~~~~~~~-4065.00~~0.17~~-691.05~~~~1~~1601
    0~~ccc~~P80792~~个~~4~~547.01~~0.17~~92.99~~160~~1~~1601
    I create a sql*loader concurrent program to load the data. the data can be loaded into the table successfully(The chinese customer name is correct). Only for the aborted lines, it will be listed in the outtput of the concurrent request, but out of my expect, the chinese characters in the output are displayed as '?'.
    How to solve the issue? Thanks.
    Edited by: 852938 on 2011-4-17 下午10:41

    like the following:
    SJJK0201~~??????????
    39~~20110413~~20110413
    //???1
    0~~aaa~~P83782~~??~~2~~6854.70~~0.17~~1165.30~~4010~~1~~1601
    1~~bbb~~~~~~~~-4065.00~~0.17~~-691.05~~~~1~~1601
    0~~ccc~~P80792~~??~~4~~547.01~~0.17~~92.99~~160~~1~~1601
    You can find that any chinese characters are became '?'. The loaded line(Line 4th) is not listed in the output.
    Thanks for your quick answer! :)

Maybe you are looking for