13
$\begingroup$

For those who use Mathematica with databases in companies, a common way to securely connect to those is using Windows Authentication (detailed here).

Mathematica doesn't seem to support this authentication method. How can you connect to a database securely using Windows authentication?

$\endgroup$

1 Answer 1

15
$\begingroup$

After much digging, I found this MathGroup archive detailing how to get Mathematica working with SQL servers protected by Windows authentication.

It's repeated here mainly for posterity's sake.

  1. Download the jTDS files from here: http://sourceforge.net/projects/jtds/files/
  2. Unzip and locate the ntlmauth.dll file in the appropriate folder (x64, x86, IA64).
  3. Copy this file to $InstallationDirectory under SystemFiles>Java>(appropriate Windows folder)>bin
  4. Restart Mathematica.

Let's hope Wolfram decides to include this in the next version.

Update for V10

Now in V10 jTDS 1.3.1 is the standard. No need to manual upgrade.

$\endgroup$
10
  • $\begingroup$ Wow!.. this really works. I just implemented it in version 9. Tks $\endgroup$
    – Murta
    Dec 8, 2012 at 17:49
  • $\begingroup$ @Murta, I really hoped they implemented it in v9. It's crucial to a lot of us in enterprises. $\endgroup$
    – kale
    Dec 8, 2012 at 18:45
  • $\begingroup$ Unfortunately the answer is no. Now I have another challenge that is similar to your post in this question. $\endgroup$
    – Murta
    Dec 8, 2012 at 18:49
  • $\begingroup$ I have a 32-bit operating system. When I downloaded the jTDS file and unzipped it I saw two folders, one called x64 and one called x86 both containing the ntlmauth.dll file. There was no folder for x32. Which version of this file should I use? Also, when I went to my Mathematica\...\Java folder there are two sub-folders, one called "Windows" and one called "Windows-x86-64". Both of these folders have a "bin" sub-folder. Which of these is the correct folder to use? $\endgroup$
    – lara
    Oct 16, 2013 at 8:49
  • $\begingroup$ @LaraJordan, x86 is 32bit. Grab the .dll from that folder and place it under Java>Windows not Windows-x86-64... $\endgroup$
    – kale
    Oct 16, 2013 at 22:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.