Re: ORA-01460 error
Date: Wed, 22 Oct 2008 23:08:26 +0200
Message-ID: <ka5vf4p1o9a37qlsgkc7igm16bqdo3adou@4ax.com>
On Wed, 22 Oct 2008 20:43:36 +0000 (UTC), Aya the Vampire Slayer
<ryoko_at_gatech.rmv.this.part.edu> wrote:
>All I can say is that at least for Oracle 10.2.0.1.0,
>INTEGER (sql*loader) cannot be cast to NUMBER (db). Either use CHAR in
>the CTL file even if the field is a NUMBER in the DB, define a default
>value for it in the DB and omit it from the CTL file, or use some other
>suggestion from someone else here who knows more about it than I.
You are misinterpreting the documentation.
First of all, you should NOT, I repeat NOT use Oracle documentation
from non-Oracle sites. Those sites are bound to be out-of-sync, as
Oracle corrects documentation tacitly,
Secondly, you should read the section 'Native Datatypes' AND
'Character Datatypes'
My bets are you have INTEGER EXTERNAL data in your file, which means
... plain ol' Ascii, NOT binary. So, yes, if you set up your column as
INTEGER all will go wrong. Sql*loader treats all data as weakly typed,
it doesn't perform any checks, so there will be data ending up in
incorrect columns.
-- Sybrand Bakker Senior Oracle DBAReceived on Wed Oct 22 2008 - 16:08:26 CDT