Oracle Connection - external authentication

Hi to everybody,
I’m Andrea from Italy, newbie of Knime. It is the first post on this forum, so change the category if I was wrong.

I have to connect to an Oracle Database 11g, and I use the Database Connector node: in order to do it, I have downloaded the JDBC driver (11g, 12c and 18c) from the following url [http://www.oracle.com/technetwork/database/application-development/jdbc/downloads/index.html](Oracle Database 18c (18.3) JDBC driver and Older Releases - 12.2,12.1, and 11.2 JDBC drivers), and I use oracle.jdbc.driver.OracleDriver.
When I try to connect to the DB using credential input, I successfully do it: I connect to a test schema, so it is not the real Operational DB.

The Operational DB is atteinable through external authentication (using PL/SQL Developer I select the DB and blank username and password: the program automatically select the Windows credentials). If I try to access to the Operational DB I have some problem.
I use two different methods with two different errors:

  1. jdbc:oracle:thin:@< host>:< port>/< database_name> --> ERROR Database Connector 0:12 Execute failed: Could not create connection to database: ORA-01017: invalid username/password; connection refused
  2. jdbc:oracle:oci:@< host>:< port>/< database_name> --> ERROR Database Connector 0:16 Execute failed: Could not create connection to database: no ocijdbc12 in java.library.path

I’m not able to solve this problem, using external authentication (I have also tried to insert the Windows credential without any result), someone can help me?

Thanks a lot,
Andrea

Hi Andrea,
which KNIME version do you use? Starting with KNIME 3.2 we added the option to connect to Oracle Wallet which seems to be similar to external authentication. In order to make it work you need to select username & password and not enter anything into the input fields. In this case KNIME is not setting any username or password when establishing the connection to the db which seems to be the right way to use OS authentication via JDBC according to the Oracle documentation. Unfortunately we can not test this since we do not have such a setup.
Bye
Tobias

Hi Tobias,
I thank you for the answer.
I use the 3.6.0 version (downloaded in July). Where can I find the Oracle Wallet node? Have I to install an extension? I don’t find it out in Node Repository, and I’d like to try also this way.

However, as regards my question, yesterday in the afternoon I have “solved” the problem using the OCI driver. The THIN driver works only with credential (not blank username/password).
The problem was in JDBC files: the workflow works ONLY if you attach the JDBC driver already present in Oracle Client folder (C:\oracle\product\11.2.0\client_1\jdbc\lib\ojdbc#). Any other file called in
File > Preferences > KNIME > Databases
does not work (even if you copy/paste it in the system folder).

Andrea

Hi Andrea,
I’m glad you solved the problem. Oracle Wallet should work with the standard Database Connector node. So you do not need to use another node for this.
Bye
Tobias

This topic was automatically closed after 4 days. New replies are no longer allowed.