أورا - 03001 ميزة غير منفذة عند تشغيل حدد في جافا

StackOverflow https://stackoverflow.com//questions/22077892

  •  23-12-2019
  •  | 
  •  

سؤال

حاولت تشغيل بعد تحديد الاستعلام على أوراكل 11 جرام من جافا (باستخدام برنامج تشغيل رقيقة) عندما حصلت على رمز الخطأ هذا مرة أخرى.سؤالي هو لماذا أحصل على هذا الخطأ?أفترض أنه يجب أن يكون مشكلة مع برنامج التشغيل الرقيق ولكن لا يمكنني معرفة ما يمكن أن يكون لأنه يدعم الاستعلام المحدد...الثابتة والمتنقلة مساعدتي !

java.sql.SQLException: ora-03001 unimplemented feature

نسخة أورا:

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

كان الاستعلام:

    query = "select e.eq_nr as \"Eqiptmentnummer\", f.file_name as \"Dateiname\" e.adress as \"Adresse\","
            + " e.city as \"Ort\", e.county as \"Bundesland\", e.zip_code as \"PLZ\","
            + " e.manufacturer as \"Hersteller\" f.doc_info as \"DOC INFO\""
            + " from elevators e join files f on(e.eq_nr = (select eq_nr from file_links where file_id = f.file_id))";

باستخدام بريباردستاتيون و إكسكوتيكيري:

PreparedStatement ps = c.getCon().prepareStatement(query);
ResultSet rs = ps.executeQuery();

ركضت هذا الاستعلام في سكل المطور وأعطاني هذا الإخراج (جميع المصاعد والملفات المرتبطة بها) ، وهو الصحيح:

eq_nr | file_name     |      adress    | city  |county| zip  |manufaturer|  note
1000    testname1.pdf   somestreet 12   Vienna  Vienna  1200    OTIS    test insert brown 1
1000    testname2.pdf   somestreet 12   Vienna  Vienna  1200    OTIS    test insert brown 2
1000    testname4.pdf   somestreet 12   Vienna  Vienna  1200    OTIS    test insert brown 4
1001    testname.pdf    somestreet 123  Vienna  Vienna  1200    KONE    test insert brown
1001    testname3.pdf   somestreet 123  Vienna  Vienna  1200    KONE    test insert brown 3
1001    testname5.pdf   somestreet 123  Vienna  Vienna  1200    KONE    test insert brown5 
1001    testname6.pdf   somestreet 123  Vienna  Vienna  1200    KONE    test insert brown 6

اختر * من المصاعد:

elevator id|         adress        | city | county | zip  | manufacturer
1000        somestreet 12   Vienna  Vienna  1200    OTIS
1001        somestreet 123  Vienna  Vienna  1200    KONE

اختر * من الملفات:

[FILE_ID]  [FILE_NAME]  [FILE_PATH]     [FILE_TYPE] [LAST_CHANGED]         [ARCHIVE_FLAG][DOC_INFO]
77       [testname.pdf] [C:\testname.pdf]   [pdf]   27.02.14 19:08:39,720000000  0      [test insert brown]
987     [testname1.pdf] [C:\testname1.pdf]  [pdf]   27.02.14 19:08:55,195000000  0      [test insert brown 1]
76523   [testname2.pdf] [C:\testname2.pdf]  [pdf]   27.02.14 19:09:09,735000000  0      [test insert brown 2]
123323  [testname3.pdf] [C:\testname3.pdf]  [pdf]   27.02.14 19:09:35,912000000  0      [test insert brown 3]
1232    [testname4.pdf] [C:\testname4.pdf]  [pdf]   27.02.14 19:09:49,219000000  0      [test insert brown 4]
8888212 [testname5.pdf] [C:\testname5.pdf]  [pdf]   27.02.14 19:10:08,267000000  0      [test insert brown5 ]
5678    [testname6.pdf] [C:\testname6.pdf]  [pdf]   27.02.14 19:10:22,213000000  0      [test insert brown 6]

اختر * من روابط الملفات:

eq_ nr     file_id  valid
1000    76523   0
1000    1232    0
1000    987 0
1001    5678    0
1001    8888212 0
1001    123323  0
1001    77  0
هل كانت مفيدة؟

المحلول

قد تكون مجرد مشكلة لصق نسخة.في كل استعلام قمت بنشره كنت في عداد المفقودين فاصلة بين

f.file_name as \"Dateiname\" e.adress as \"Adresse\",

لكن التعديل أعلاه لا.

f.file_name as \"Dateiname\", e.adress as \"Adresse\",

يمكن أن يكون بهذه البساطة?;)

نصائح أخرى

أفترض أن تركيبة الانضمام/التحديد الفرعي ليست قياسية.أود أن أقترح شيئا مثل

query = "select e.eq_nr as \"Eqiptmentnummer\", f.file_name as \"Dateiname\" e.adress as \"Adresse\","
        + " e.city as \"Ort\", e.county as \"Bundesland\", e.zip_code as \"PLZ\","
        + " e.manufacturer as \"Hersteller\" f.doc_info as \"DOC INFO\""
        + " from elevators e"
        + " join files f on (e.eq_nr = f.eq_nr)"
        + " where e.eq_nr in ("
        + "   select f.eq_nr"
        + "   from files f"
        + "   join file_links fl"
        + "   where fl.file_id = f.file_id"
        + ")";

تحرير

query = "select e.eq_nr as \"Eqiptmentnummer\", f.file_name as \"Dateiname\", e.adress as \"Adresse\", e.city as \"Ort\", e.county as \"Bundesland\", e.zip_code as \"PLZ\",  e.manufacturer as \"Hersteller\", f.doc_info as \"DOC INFO\""
    + " from elevators e"
    + " join file_links fl on (e.eq_id = fl.eq_id)"
    + " join files f on (f.file_id = fl.file_id)";
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top