Oracle SQL Developer与Microsoft SQL Server的连接

时间:2014-05-22 03:58:08

标签: sql-server oracle-sqldeveloper

我一直在尝试使用最新版本的Oracle SQL Developer(4.0.2)来使用Windows身份验证连接到Microsoft SQL Server。我已经从jtds-1.3.1-dist下载并复制了ntmlauth.dll(以及JtdsXA.dll)文件到我能想到的每个位置,开发人员会寻找它,但当我尝试通过jts-1.3.1-dist设置新的连接时SQLServer选项卡单击"使用Windows身份验证"选项,我得到的只是消息"状态:失败-I / O错误:SSO失败:未加载本机SSPI库。检查java.library.path系统属性。"但是我可以使用Toad for SQL Server或SSMS连接到数据库而没有任何问题,但是如果可能的话,我更愿意使用SQL Developer。

4 个答案:

答案 0 :(得分:5)

只需将..\jtds-1.3.1-dist\x64\SSO\ntlmauth.dll复制到 - > x64系统的..\sqldeveloper\jdk\jre\bin文件夹。复制粘贴x86系统的类似文件夹内容。

答案 1 :(得分:3)

我遇到了完全相同的问题。我最终通过将ntlmauth.dll放在jdk\jre\bin目录下的sql-developer文件夹中来实现它。出于某种原因,sql-developer附带了自己的jdk,我通过浏览找到了它。我花了几个小时试图弄清楚为什么上述DLL在各种系统级jre目录(即C:\Program Files\Java\jre7\bin)中的位置不起作用。

如果此处的任何人都知道为什么在ntlmauth.dll文件夹中sql-developer\jdk\jre\bin的放置工作,而系统级jre文件夹中的放置不符合我的兴趣。

我的操作系统= Windows 2007 64位

jtds = jtds-1.2.7

答案 2 :(得分:1)

原因很简单; SQLDEVELOPER不了解已安装的系统级jre。 Oracle使用和不使用JAVA捆绑SQLDEVELOPER。如果你下载了没有java的那个,那么当你第一次启动应用程序时,系统会提示你输入java_home的位置。如果您安装已安装java的SQLDEVELOPER版本,那么它只是工作 - 没有提示。在您的情况下,您安装了已随应用程序打包的java版本。

因此问题的根源是SQLDEVELOPER(在您的特定安装中)不使用系统级jre,因此您从未使用过放在该目录中的ntlmauth.dll。

答案 3 :(得分:0)

在将jTDS驱动程序(jtds-1.3.1)添加到Oracle SQL Developer(工具->首选项->数据库->第三方JDBC驱动程序)之后,我找到了SQL Developer的ide.conf文件,并添加了以下几行: / p>

#jTDS
Add64VMOption -Djava.library.path=../../drivers/jtds-1.3.1-dist/x64/SSO
Add32VMOption -Djava.library.path=../../drivers/jtds-1.3.1-dist/x86/SSO

enter image description here

这会将 ntlmauth.dll 库的位置添加到JVM库路径