首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DBMS_DATA_MINING.CREATE_MODEL在11.2.0.1.0 64b上导致"ORA-40103: invalid case-id column: TID“,但在10g上正常

DBMS_DATA_MINING.CREATE_MODEL在11.2.0.1.0 64b上导致"ORA-40103: invalid case-id column: TID“,但在10g上正常
EN

Stack Overflow用户
提问于 2011-12-15 20:39:00
回答 4查看 1.3K关注 0票数 10

我在11.2版的DBMS_DATA_MINING.CREATE_MODEL上遇到了问题。在10g上,下面的代码运行正常,我非常确定在11.1上它也可以工作。

代码语言:javascript
复制
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;

原因:

代码语言:javascript
复制
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.

为了确保:

代码语言:javascript
复制
describe "SH"."TRANSACTIONS"
Name Null Type 
--
ITEM NOT NULL NUMBER 
TID NOT NULL NUMBER

代码语言:javascript
复制
select * from v$version;

返回:

代码语言:javascript
复制
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会导致相同的错误。我不知道哪里出了问题。请帮帮忙。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-12-29 22:50:37

谢谢你的帮助。在系统重新启动几次之后,它开始工作了。没有任何原因(没有配置更改)。

票数 1
EN

Stack Overflow用户

发布于 2011-12-27 07:13:12

您的代码和示例都适合我。我也在使用11.2.0.1.0,只不过我使用的是32位而不是64位。

我不确定这是什么意思。也许你的安装有问题?你可能想看看Verifying Your Data Mining Installation

票数 4
EN

Stack Overflow用户

发布于 2011-12-27 18:57:32

或者可能不同版本之间的where cust_id between 100001 AND 104500范围发生了变化?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8520251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档