The Altair Community is migrating to a new platform to provide a better experience for you. In preparation for the migration, the Altair Community is on read-only mode from October 28 - November 6, 2024. Technical support via cases will continue to work as is. For any urgent requests from Students/Faculty members, please submit the form linked here

Read database

Whit1323Whit1323 Member Posts: 4 Contributor I
edited November 2019 in Help
I am trying to read in an Oracle DB table, and getting the error below.  It is the only operator being used in the process.

Error Message: "Database error occurred: ORA-00942: table or view does not exist.  The JDBC driver has thrown an SQLException. This may because of a lack of privileges, wrong table name or url and similar problems.  Please note that some databases are case sensitive.  Details are given in the message.....  Offending operator: Read Database".

What is the most perplexing is that if you change "define query" from "table name" to "sql query", and I type in select * from database.table, it does work.  So clearly the database connection is set up correctly.  And under Manage Database Connections, it does work in testing.  And the Oracle jdbc is check with a green check mark.  Thanks for your help!

I typed "x's" over the table names in the xml below.

XML code:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="5.2.003">
  <context>
    <input/>
    <output/>
    <macros/>
  </context>
  <operator activated="true" class="process" compatibility="5.2.003" expanded="true" name="Process">
    <process expanded="true" height="280" width="279">
      <operator activated="true" class="read_database" compatibility="5.2.003" expanded="true" height="60" name="Read Database" width="90" x="112" y="120">
        <parameter key="connection" value="xxxxxx"/>
        <parameter key="define_query" value="table name"/>
        <parameter key="table_name" value="xxxxxx"/>
        <enumeration key="parameters"/>
      </operator>
      <connect from_op="Read Database" from_port="output" to_port="result 1"/>
      <portSpacing port="source_input 1" spacing="0"/>
      <portSpacing port="sink_result 1" spacing="0"/>
      <portSpacing port="sink_result 2" spacing="0"/>
    </process>
  </operator>
</process>




Tagged:

Best Answer

  • Whit1323Whit1323 Member Posts: 4 Contributor I
    Solution Accepted
    Just to add on to this: with something so simple, I would hope it's not a problem with RapidMiner.  So does anybody know exactly what DB privileges are needed to just read in an Oracle table.  It seems like it's more than just "read".  I have the same problems with "Stream database", and I believe that one requires more privileges ("alter", but perhaps more)

Answers

  • Caleb147Caleb147 Member Posts: 1 Learner I
    I love this code and really appreciated your answer. 
Sign In or Register to comment.