oracle – DBMS_DATA_MINING.CREATE_MODEL在11.2.0.1.0 64b上导致“ORA-40103:invalid case-id列:TID”,但是在10g OK

前端之家收集整理的这篇文章主要介绍了oracle – DBMS_DATA_MINING.CREATE_MODEL在11.2.0.1.0 64b上导致“ORA-40103:invalid case-id列:TID”,但是在10g OK前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在版本11.2上有DBMS_DATA_MINING.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.sqlThe sample code导致同样的错误.
我不知道是错的.请帮忙.

你的代码和样品都适用于我.我也使用11.2.0.1.0,除了我使用32位而不是64位.

我不知道这是什么意思.也许安装有问题吗?你可能想看看Verifying Your Data Mining Installation.

猜你在找的Oracle相关文章