2011-12-15 8 views
10

पर मुझे संस्करण 11.2 पर DBMS_DATA_MINING.CREATE_MODEL के साथ कोई समस्या है। 10 जी पर यह कोड ठीक काम करता है, और मुझे पूरा यकीन है कि 11.1 पर यह भी काम करता है।DBMS_DATA_MINING.CREATE_MODEL 11.2.0.1.0 64b पर "ओआरए -40103: अमान्य केस-आईडी कॉलम: टीआईडी" का कारण बनता है, लेकिन 10 जी ठीक

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 

से The sample code एक ही त्रुटि का कारण बनता है। मुझे नहीं पता कि क्या गलत है। कृपया मदद करे।

उत्तर

1

सहायता के लिए धन्यवाद। कुछ सिस्टम पुनरारंभ करने के बाद यह काम करना शुरू कर दिया। किसी भी कारण से (कोई विन्यास परिवर्तन नहीं)।

4

आपका कोड और नमूने दोनों मेरे लिए काम करते हैं। मैं 11.2.0.1.0 का भी उपयोग कर रहा हूं, सिवाय इसके कि मैं 64-बिट के बजाय 32-बिट का उपयोग कर रहा हूं।

मुझे यकीन नहीं है कि इसका क्या अर्थ है। शायद आपकी स्थापना में कोई समस्या थी? आप Verifying Your Data Mining Installation को देखना चाहेंगे।

+0

thx। मुझे यह महत्वपूर्ण नहीं पता है, लेकिन मैं विंडोज 7 का उपयोग करता हूं। – zacheusz

+1

मुझे Vista/7 पर संदेह है जो एक फर्क पड़ता है। एक बार जब ओरेकल बहुत अच्छी तरह से काम करता है, तो ऑपरेटिंग सिस्टम के बीच अपने सॉफ़्टवेयर को सुसंगत बनाए रखना है। मुझे आश्चर्य है कि 'cust_id' में एक अंतर या तो अंतर करेगा; आपका उदाहरण अभी भी मेरे लिए काम करता है जब भी मैंने कोई परिणाम वापस करने के लिए सीमा बदल दी। क्या आप अपनी समस्या को किसी अन्य डेटाबेस पर पुन: पेश कर सकते हैं, एक ताजा 11 जी इंस्टॉल से? यदि आपका डेटाबेस 10 जी से अपग्रेड किया गया था तो ऐसा लगता है कि डेटा खनन के लिए आपको कुछ अतिरिक्त कदम उठाने होंगे: http://docs.oracle.com/cd/E18283_01/datamine.112/e16807/upgrade_odm.htm#sthref285 –

+0

ताजा 11.2 स्थापना (अपग्रेड के बिना) – zacheusz

2

या शायद where cust_id between 100001 AND 104500 संस्करणों के बीच बदल गया है?

2

शुद्ध रूप से एक अनुमान है, लेकिन क्या यह संभव है कि ट्रांसलेशन के लिए समानार्थी SH.TRANSACTIONS को इंगित नहीं कर रहा है लेकिन कुछ अन्य तालिका? मुझे पता है कि आप स्कीमा नाम एसएच निर्दिष्ट करते हैं, लेकिन यदि यह मामला है तो भी समस्याएं उत्पन्न हो सकती हैं (देखने के लिए ट्रांज़ेक्शन का वर्णन करें)।

+2

पर होता है मैंने वर्णन का उपयोग करके जांच की और यह ठीक था – zacheusz

संबंधित मुद्दे