2013-03-08 49 views
0

我當數據庫上直接運行它執行一個簡單的插入SQL腳本。但是,當我從一個Web邏輯數據源獲得的數據庫連接上執行相同的查詢時,它會拋出以下異常。SQL查詢執行問題 - ORA-01438

ORA-01438:值大於允許此列

任何想法指定的精度更大?

這裏是我的表的DDL和SQL查詢。

DDL:

CREATE TABLE "TABLE_NAME" 
    ("N_PROP_ID" NUMBER(10,0) NOT NULL ENABLE, 
    "C_TYPE" VARCHAR2(1 BYTE) NOT NULL ENABLE, 
    "N_PRO_IDENTIFIER" NUMBER(10,0) NOT NULL ENABLE, 
    "BL_CONCAT_AVAILABLE" NUMBER(1,0), 
    "BL_IS_SELECTABLE" NUMBER(1,0), 
    "C_LABEL" VARCHAR2(30 BYTE), 
    "C_INSTANCE1" VARCHAR2(32 BYTE), 
    "C_INSTANCE2" VARCHAR2(32 BYTE), 
    "N_VERSION" NUMBER(2,0), 
    "C_INSTANCE3" VARCHAR2(32 BYTE), 
    "VERSION1" NUMBER(2,0), 
    "VERSION2" NUMBER(2,0), 
    "C_DF_IDENTIFIER" VARCHAR2(20 BYTE), 
    "B_MSL" RAW(1), 
    "PORT" NUMBER(4,0), 
    CONSTRAINT "PK_PROPERTIES" PRIMARY KEY ("N_PROP_ID") 
    USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL KEEP FLASH_CACHE 
    DEFAULT CELL_FLASH_CACHE DEFAULT) 
    TABLESPACE "INDX_REP_RCA" ENABLE 
    ) SEGMENT CREATION IMMEDIATE 
    PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING 
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL KEEP FLASH_CACHE 
    DEFAULT CELL_FLASH_CACHE DEFAULT) 
    TABLESPACE "DATA_REP_RCA" 
    CACHE ; 

    COMMENT ON TABLE "TABLE_NAME" IS 'Table which describes all security properties.'; 

    CREATE INDEX "FK_PROPERTIES_TO_PROFILE" ON "TABLE_NAME" ("N_PRO_IDENTIFIER") 
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL KEEP FLASH_CACHE 
    DEFAULT CELL_FLASH_CACHE DEFAULT) 
    TABLESPACE "INDX_REP_RCA" ; 
    CREATE UNIQUE INDEX "PK_PROPERTIES" ON "TABLE_NAME" ("N_PROP_ID") 
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL KEEP FLASH_CACHE 
    DEFAULT CELL_FLASH_CACHE DEFAULT) 
    TABLESPACE "INDX_REP_RCA" ; 

SQL查詢:

insert into TABLE_NAME (N_PRO_IDENTIFIER, C_LABEL, C_INSTANCE3, 
    VERSION1, VERSION2, 
    C_INSTANCE2, C_INSTANCE1, 
    PORT, B_MSL, C_TYPE, N_PROP_ID) 
values 
    (50690, 'UICC applet instance', 'A000000018210008', 
    1, 0, 
    'A00000001803090000000000B00000', 'A00000001803090000000000B00000', 
    101, null, 'I', 27548); 

預先感謝您。

+1

請分享插入查詢和表結構....您是否使用綁定變量.. ?? 嘗試通過字符串執行查詢SQL – 2013-03-08 14:26:09

+0

我沒有使用任何綁定變量。這是一個單一的查詢字符串。我目前沒有查詢。我會盡力讓我的個人電腦和分享。 – lash 2013-03-08 14:34:39

+0

這是。我的表和查詢的DDL。 – lash 2013-03-10 10:31:52

回答

0

請使用查詢如下:

insert into TABLE_NAME (N_PRO_IDENTIFIER, C_LABEL, C_INSTANCE3, 
    VERSION1, VERSION2, 
    C_INSTANCE2, C_INSTANCE1, 
    PORT, B_MSL, C_TYPE, N_PROP_ID) 
values 
    (50690, 'UICC applet instance', 'A000000018210008', 
    '1.0', '0.0', 
    'A00000001803090000000000B00000', 'A00000001803090000000000B00000', 
    101, null, 'I', 27548); 

,並檢查查詢現在的作品。

同樣在表定義,不使用數據類型作爲NUMBER(X,0),而不是使用NUMBER(X)。

請檢查並告訴