문제

해당 오류 코드가 다시 발생할 때 Java (씬 드라이버 사용)에서 Oracle 11g에서 Oracle 11g에서 선택한 쿼리를 선택했습니다. 내 질문은 내가이 오류를 얻는 이유는 무엇입니까?나는 그것이 얇은 운전자에게 문제가되어야한다고 가정하지만 그것이 지원 선택을 지원하기 때문에 그것이 무엇이 될 수 있는지 알아낼 수 없습니다 ... pls 도와줍니다!

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();
.

SQL Developer 에서이 쿼리를 실행했으며 올바른이 출력 (모든 엘리베이터 및 관련 파일)을 알려줍니다.

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
.

ASD 선택 * 엘리베이터 :

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]
.

file_links에서 * 선택 :

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\",
.

그게 간단 할 수 있습니까?;)

다른 팁

Join / Subselect 조합이 표준이 아님을 가정합니다.나는

와 같은 것을 제안 할 것입니다
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