by taterheart » Fri Jun 25, 2010 7:31 am
Just downloaded SQL Delta for Oracle 1.5.0.37, and am having a problem comparing data. The error I'm getting is this:
Data Query Failure
The SQL for TUT.ALLERGY has unexpectedly failed, the data compare cannot continue.
SQL: SELECT "PID",....FROM "TUT"."ALLERGY" ORDER BY "PID","XID","AID"
Error: [Oracle Driver][Phys][Ora][OCI] ORA-01455:
converting column overflows integer datatype.
The "integer" values are really NUMBER(38,0), with most of the actual values being 16 digit ID's, except for the XID column, which can have a value of 1E+35. That might explain the problem, since integers have a maximum value of 2,147,483,647.
Here's the table and index definition:
CREATE TABLE "TUT"."ALLERGY"
(
"PID" NUMBER(38,0) NOT NULL ENABLE,
"XID" NUMBER(38,0) NOT NULL ENABLE,
"AID" NUMBER(38,0) NOT NULL ENABLE,
"CHANGE" NUMBER(38,0),
"SDID" NUMBER(38,0),
"USRID" NUMBER(38,0),
"NAME" VARCHAR2(60 BYTE),
"RASH" VARCHAR2(1 BYTE),
"SHOCK" VARCHAR2(1 BYTE),
"RESP" VARCHAR2(1 BYTE),
"GI" VARCHAR2(1 BYTE),
"HEME" VARCHAR2(1 BYTE),
"OTHER" VARCHAR2(1 BYTE),
"DESCRIPTION" VARCHAR2(256 BYTE),
"ONSETDATE" DATE,
"STOPDATE" DATE,
"STOPREASON" VARCHAR2(1 BYTE),
"KIND" VARCHAR2(8 BYTE),
"SEVERITY" VARCHAR2(8 BYTE),
"NDCLABPROD" VARCHAR2(9 BYTE),
"NDCPACKAGE" VARCHAR2(2 BYTE),
"GPI" VARCHAR2(14 BYTE),
"PUBUSER" NUMBER(38,0),
"PUBTIME" NUMBER(38,0) DEFAULT 0 NOT NULL ENABLE,
"ANNOTATE" VARCHAR2(256 BYTE),
"USERSORT" NUMBER(38,0),
"USERINDENT" NUMBER(38,0),
"PENDUSERSORT" NUMBER(38,0),
"PENDUSERINDENT" NUMBER(38,0),
"DDID" NUMBER(38,0),
"KDC" NUMBER(38,0),
"APROXONSETDATE" VARCHAR2(16 BYTE),
"DB_CREATE_DATE" DATE DEFAULT Sysdate,
"DB_UPDATED_DATE" DATE DEFAULT Sysdate,
"ISCRITICAL" VARCHAR2(1 BYTE),
"ALLCLASS" VARCHAR2(1 BYTE),
"EXTALLERGYID" NUMBER(38,0),
CONSTRAINT "ALLERGY_NO_ZERO_SDIDS" CHECK (SDID > 1) ENABLE,
CONSTRAINT "CKC_PID_ALLERGY" CHECK (PID > 0) ENABLE
);
CREATE UNIQUE INDEX "TUT"."ALLERGY_PIDX" ON "TUT"."ALLERGY"
(
"PID", "XID", "AID"
);