SQL Server Connection with integrated Security - Old & New DB nodes

Hello,

I am trying to get a Microsoft SQL Server Connection working with the new and the old database nodes in parallel. Observations so far:

  • The old DB framework works with manually installed JDBC driver and entry “-Djava.library.path=sqljdbc_6.2\enu\auth\x64” in KNIME.ini.

  • The new DB framework works only with the Microsoft JDBC Driver provided as KNIME extension, so I installed that. With integrated security I could only get the generic DB Connector to work and not the Microsoft SQL Server Connector, but this is ok.

  • After installing the Microsoft JDBC Driver provided as KNIME extension (only the new, not the legacy version) I am getting the following error when I want to connect to the DB with the old nodes:
    “Execute failed: This driver is not configured for integrated authentication.”

  • The same error appears when I try to connect with the new nodes and removed entry “-Djava.library.path=sqljdbc_6.2\enu\auth\x64” in KNIME.ini.

It would be great if there is a solution to get old an new DB nodes working in parallel, otherwise the migration to the new DB framework would be very painful for us.

Thanks and greetings from Louisiana
Florian

1 Like

Agree. I need the same parallel functionality.

Hello,

after some more testing I can say that also manually installed drivers work with integrated Security and the new DB Connector node.

Nevertheless, no matter what combination of installed drivers for old and new DB framework I tried, I could not get old and new nodes running in parallel. Either new or old nodes work. Seems that drivers for old and new framework “block” each other.

Kind regards
Florian

Hello Florian,
with the current implementation in KNIME a native library (e.g. the sqljdbc_auth.dll from the MS SQL Server driver) can only be used either in the legacy or the new database framework. It depends on which node is executed first. The second node will fail with an error message similar to this one:

sqljdbc_auth.dll already loaded in another classloader

We are working to support native authentication for SQL Server out of the box for the new Microsoft SQL Server Connector node. We hope that this will then allow you to use the native authentication as before with the old framework in parallel but we are not sure yet. Unfortunately until then you can either use the old or the new framework to connect to MS SQL via native authentication but not with both in parallel.
Bye
Tobias

1 Like

Dear Tobias,

Thanks for the explanation. We actually have several workflows in production under the version 3.7 that contain plenty SQL connector. At this point, we will wait before changing to KNIME version 4.0 in order to avoid a massive restructuring of the code (also because a new DB writer/reader is now needed).
I just want to underline how important is to get this compatibility between new and old connectors asap!

Thank a lot!

1 Like

I’m waiting for the same. Hope it will be resolved soon.

Hello,
with KNIME 4.1 you can now use native authentication in parallel with the new and the legacy database framework. In the new database framework native authentication is supported out of the box. So you do not need to install or add any additional files. For further details see the updated database documentation or the node description of the Microsoft SQL Server Connector node.
Bye
Tobias

2 Likes

Hello Tobias,

thanks a lot, works for me now!

Kind regards
Florian

1 Like

Hello Florian,
thanks for testing and confirming that quickly :slight_smile:
I will close this thread. Feel free to start another thread whenever you have another question.
Bye
Tobias