programing

DBMS_DATA_MINING.CREATE_MODEL은 11.2.0.1.0 64b에서 "ORA-40103: 잘못된 대/소문자-ID 열: TID"를 발생시키지만 10g에서는 정상입니다.

css3 2023. 9. 12. 20:12

DBMS_DATA_MINING.CREATE_MODEL은 11.2.0.1.0 64b에서 "ORA-40103: 잘못된 대/소문자-ID 열: TID"를 발생시키지만 10g에서는 정상입니다.

DBMS_DATA_MINING에 문제가 있습니다.버전 11.2의 CREATE_MODEL.10g에서는 아래 코드가 정상적으로 작동하며, 11.1에서도 작동한다고 확신합니다.

CREATE OR REPLACE VIEW "SH"."ITEMS" AS SELECT PROD_ID AS item FROM SALES GROUP BY PROD_ID;
CREATE OR REPLACE VIEW "SH"."TRANSACTIONS" AS SELECT "SH"."SALES"."PROD_ID" AS item , "SH"."SALES"."CUST_ID" tid FROM "SH"."SALES" where cust_id between 100001 AND 104500 GROUP BY cust_id, prod_id;
CREATE TABLE "SH"."AR_SETTINGS" ( "SETTING_NAME" VARCHAR2(30 BYTE), "SETTING_VALUE" VARCHAR2(128 BYTE) );
INSERT INTO SH.AR_SETTINGS (SETTING_NAME, SETTING_VALUE) VALUES ('ASSO_MAX_RULE_LENGTH', '6' );
INSERT INTO SH.AR_SETTINGS (SETTING_NAME, SETTING_VALUE) VALUES( 'ASSO_MIN_CONFIDENCE', TO_CHAR(0.7));
INSERT INTO SH.AR_SETTINGS (SETTING_NAME, SETTING_VALUE) VALUES( 'ASSO_MIN_SUPPORT', TO_CHAR(0.1));

BEGIN DBMS_DATA_MINING.CREATE_MODEL( model_name => 'AR_sh', mining_function => DBMS_DATA_MINING.ASSOCIATION, data_schema_name => 'sh', data_table_name => 'transactions', case_id_column_name => 'tid', settings_schema_name => 'sh', settings_table_name => 'ar_settings'); END;

원인:

ORA-40103: invalid case-id column: TID
ORA-06512: at "SYS.DBMS_DATA_MINING", line 1779
ORA-06512: at line 1
40103. 00000 - "invalid case-id column: %s"
*Cause: The column designated as case-id is not of one of CHAR, VARCHAR2,
NUMBER data type. Case-id columns of type CHAR and VARCHAR2 must
be of length less than or equal to 128 bytes.
*Action: Change the schema of your input data to supply a case-id column
of appropriate data type and/or length.

확실한 것은:

describe "SH"."TRANSACTIONS"
Name Null Type 
--
ITEM NOT NULL NUMBER 
TID NOT NULL NUMBER

그리고.

select * from v$version;

반환:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production 
PL/SQL Release 11.2.0.1.0 - Production 
CORE    11.2.0.1.0  Production 
TNS for 64-bit Windows: Version 11.2.0.1.0 - Production 
NLSRTL Version 11.2.0.1.0 - Production

샘플 코드는dmardemo.sql동일한 오류를 발생시킵니다.뭐가 잘못됐는지 모르겠어요.제발 도와주세요.

당신의 코드와 샘플 모두 저에게 적합합니다.저는 또한 11.2.0.1.0을 사용하고 있지만, 64비트를 사용하지 않고 32비트를 사용하고 있습니다.

이게 무슨 뜻인지 모르겠어요.설치에 문제가 있었던 것은 아닐까요?데이터 마이닝 설치 확인을 살펴볼 수 있습니다.

아니면 그 범위가where cust_id between 100001 AND 104500버전 간 변경?

순전히 추측이지만, 거래의 동의어가 SH를 가리키고 있지 않을 수도 있습니다.다른 테이블 말고 거래?스키마 이름 SH를 지정하신 것은 알고 있지만, 이 경우에도 문제가 발생할 수 있습니다(Transactions to see).

도와 주셔서 감사해요.몇 번의 시스템 재시작 후 작동하기 시작했습니다.아무런 이유 없이(구성 변경 없음).

언급URL : https://stackoverflow.com/questions/8520251/dbms-data-mining-create-model-causes-ora-40103-invalid-case-id-column-tid-on