Skip to main content
Question

Creating Unix/Linux JDBC connection string to MS SQL Server using MS AD Credentials


I am trying to establish a connection to a MS SQL Server through FME Workbench installed on a Unix and/or Linux box - that uses Microsoft AD credentials. 

I have downloaded and placed the lastest MS SQL Server JDBC from 

https://docs.microsoft.com/en-us/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-2017#available-downloads-of-jdbc-driver-for-sql-server

And I placed the driver v10 jar in the /User/<user>/Library/Application Supper/FME/Plugins/Java directory. As suggested in the "Getting Started with JDBC" article. 

https://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_ReadersWriters/jdbc/getting_started_jdbc.htm

When I create a new Database Connection within FME Workbench using the JDBC driver. But when I click "Test" I keep getting an error either that my user login did not authenticate or that is could not pull back the database schema. Not sure if I have setup everything right for FME Workbench to use the MS JDBC driver correctly. I also see a sqljdbc_auth.dll file inside of the MS SQL JDBC driver download. Not sure if I am supposed to place this some place too.

The below is what my DB connection inside of FME Workbench looks like - 

JDBC Connection String: jdbc:sqlserver://<host>;databaseName=<database>;
Username: <windows domain>/<username>
Password: <password>
Java Driver Class: [blank]

2 replies

stalknecht
Contributor
Forum|alt.badge.img+19
  • Contributor
  • August 3, 2018

According the documentation: https://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_ReadersWriters/jdbc/getting_started_jdbc.htm

you should place the .JAR in ~/.fme/Plugins/Java

 


  • Author
  • August 6, 2018
stalknecht wrote:

According the documentation: https://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_ReadersWriters/jdbc/getting_started_jdbc.htm

you should place the .JAR in 
~/.fme/Plugins/Java

 


I have the JDBC plugin installed to the correct place according to FME Desktop's documentation. However I keep getting the following error now, even though I have a Kerberos ticket authenticated to the domain this computer is part of.

 

 

javax.security.auth.login.LoginException: Unable to obtain Principal Name for authentication

 

I updated my connection string to include the following:

 

 

jdbc:sqlserver://;servername=<server>;integratedSecurity=true;authenticationScheme=JavaKerberos

 

Maybe Java can't find my Kerberos ticket?

 

 


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings