SQL Server Connector fail: Unable to obtain Principal Name for authentication

Hi All,

I have a sql server with windows authentification and I cant to conntect it to knime. What should I change in the SQL server connector?

Hi @sandordan,

please have a look at the description window of the Analytics Platform while the Microsoft SQL Server Connector is activated. For the native authentication you will see the options how to achieve it:

None/native authentication

If checked the node uses Windows native authentication to connect to the Microsoft SQL Server.

To use this mode with the provided Official driver for Microsoft SQL Server KNIME Analytics Platform needs to run on a Windows machine and you need to be logged in a Windows domain that is accepted by the Microsoft SQL Server you are connecting to. In addition you need to specify the following entry in the JDBC Parameters tab: integratedSecurity with value true .
For more details see the Microsoft documentation.

If you are using the provided jTDS for Microsoft SQL Server driver and KNIME Analytics Platform runs on a Windows machine that is logged into a Windows domain that is accepted by the Microsoft SQL Server you are connecting to you do not need to specify any JDBC parameters.
If KNIME Analytics Platform runs on a non-Windows machine you need to provide the user name and password of the Windows domain user you want to use for authentication. To do so please select either the “Credentials” option or the “Username & password” option. In addition you need to specify the following entry in the JDBC Parameters tab: domain with the Windows domain name as value .
For more details see the description of the domain property in the jTDS FAQ or see the README.sso.

All necessary files such as the sqljdbc_auth.dll or the ntlmauth.dll are part of the provided drivers. However if you want to use your own driver you need to copy all required native libraries e.g. DLLs into a single folder and then register this folder via the Add directory button in addition to the JDBC driver jar file in the driver settings dialog.
For more details see the database documentation.

This help text is from an Analytics Platform 4.1.4, it may be different on your version. If you are using Windows and want to use the official Microsoft SQL driver you have to set the integratedSecurity to true within the jdbc parameters.

Using the jTDS driver it also works on a Client running on an other OS like OSX or linux.

All the best,
Michael

2 Likes

Thank you for your answer but it is not working yet.
please have a look on the setting below:

Hi Michael,

meanwhile I changed the Driver Name and deleted the JDBC Parameters but it is not working, I have no idea why:

Are you running the Analytics Platform on Windows and is your user logged in a domain that is accepted by the MSSQL Server?

If you are not sure about this you should try the jTDS driver, the Analytics Platform installation contains this already.

Have issues as well. Can you tell us where to check the domain thing?

Just to clarify: If you set this up with None/native Authentication the User that executes the KNIME Servers Executor will try to authenticate against the Database. So all KNIME Server users will use the same authentication on the DBMS.

If you want the workflow owner to authenticate against the Database then you have to setup impersonation using Kerberos and switch to this authentication type afterwards. This is the recommended usage on the server.

The setup of Kerberos on the KNIME Server is described here: https://docs.knime.com/2020-07/kerberos_admin_guide/index.html

All the best,
Michael

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.