Ho un problema con DBMS_DATA_MINING.CREATE_MODEL sulla versione 11.2. Su 10g questo codice qui sotto funziona bene, e sono abbastanza sicuro che su 11.1 funziona anche.DBMS_DATA_MINING.CREATE_MODEL causa "ORA-40103: colonna ID caso non valido: TID" su 11.2.0.1.0 64b, ma su 10g OK
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;
cause:
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.
per essere sicuri:
describe "SH"."TRANSACTIONS"
Name Null Type
--
ITEM NOT NULL NUMBER
TID NOT NULL NUMBER
e
select * from v$version;
restituisce:
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
The sample code da dmardemo.sql
causa lo stesso errore. Non so cosa c'è che non va. Per favore aiuto.
thx. Non so che sia importante, ma io uso Windows 7. – zacheusz
Dubito che Vista/7 faccia la differenza. Una volta la cosa che Oracle sembra fare molto bene è mantenere il loro software coerente tra i sistemi operativi. Sono sorpreso che una differenza in 'cust_id' farebbe la differenza; il tuo esempio ha funzionato ancora per me anche quando ho cambiato l'intervallo per non restituire risultati. Puoi riprodurre il tuo problema su un altro database, uno da una nuova installazione 11g? Se il tuo database è stato aggiornato da 10g, sembra che ci siano alcuni passaggi aggiuntivi da eseguire per il data mining: http://docs.oracle.com/cd/E18283_01/datamine.112/e16807/upgrade_odm.htm#sthref285 –
it succede sulla nuova installazione 11.2 (senza aggiornamento) – zacheusz