当前位置: 首页 > 面试题库 >

JDBC SQLServerException:“此驱动程序未配置为进行集成身份验证。”

宇文飞羽
2023-03-14
问题内容

我正在为SmartFoxServer(SFS)编写“服务器端扩展”
。在我的登录脚本中,我需要连接到MS SQL Server,这是我尝试使用JDBC进行的。我已经在调试环境中测试了JDBC代码,并且工作正常。

当我将服务器端扩展放入SFS的“扩展”文件夹中时(按照规范),我得到了com.microsoft.sqlserver.jdbc.SQLServerException

“此驱动程序未配置为进行集成身份验证。”。

我搜索了此错误,发现这通常是因为文件sqljdbc_auth.dll不在系统路径中;我已将此文件复制到系统路径中的文件夹中,但仍然无法正常工作!

还有其他建议吗?


问题答案:

对于不同的处理器体系结构(x86 / x64 / ia64),有不同版本的sqljdbc_auth.dll。您在SFS服务器上使用哪一个?

您必须选择一种以匹配在其下运行SFS的JVM的体系结构。因此,如果在64位计算机上运行32位Java,则需要x86版本,而不是x64版本。

我以前没有使用过SFS,所以不知道它是否在任何地方写入任何日志。如果是这样,则值得查看这些日志以查看是否有任何有用的东西被写入了日志

编辑 :我不能100%地确定SFS使用64位Java仅仅是因为它用完了C:\ Program Files而不是C:\ Program
Files(x86)。

我在“简介”>“需求和安装”下的SFS文档中找到以下行。尽管此行仅适用于Linux,而不适用于Windows,但它可能表明Windows上的SFS也使用32位Java:

从1.5版开始,SmartFoxServer带有自己的x86 32位Sun Java Runtime。

确定已安装的Java版本的一种快速方法是在cmd中输入以下命令: Java -version

它将在控制台上显示以下内容:

C:\Users\967097>java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

在这里,您可以看到已安装的Java版本的位类型。

如果您使用sqljdbc_auth.dll的x86版本而不是x64版本,您的应用程序是否可以工作?如果突然开始使用x86
DLL,则SFS必须使用32位Java。

是否有用于启动SFS的批处理文件?如果是这样,那么通读该文章可能有助于指出SFS从何处运行Java。同时请注意对的任何更改PATH。Java只能在java.library.pathsystem属性中加载DLL
,而在Windows上,这被设置为PATH环境变量的值。

如果仍然不能确定SFS使用的是32位还是64位Java,请尝试使用Process Explorer查看运行SFS的java.exe进程启动的环境。



 类似资料:
  • 我实现了自己的UserDetailsService。我正在Java中配置Spring Security性。我如何创建默认身份验证提供程序与我的自定义用户服务详细信息服务和一些密码编码器? 但是,当我运行这段代码时,我有异常: 我想我做错了什么

  • 问题内容: 我目前正在尝试使用(相对)新的3.0 Java驱动程序连接到MongoDB副本集。但是,我似乎无法捕捉到用户提供错误凭据时发生的MongoSecurityExceptions。这是我当前的代码。 当使用正确的凭据运行时,此代码可以正常工作,但是如果提供了错误的凭据,则会在try-catch之外引发异常。 任何想法在哪里处理身份验证异常? 问题答案: MongoClient构造函数不会引

  • 在这里尝试看看是否有人已经用Rundeck对AD进行了LDAP身份验证。我正在使用RunDesk的JRE运行方法。以下是我到目前为止所做的工作: 我已经设置了jaas-ldap.conf,如Rundeck authentication users页面所示 我已向管理员请求ssl证书。要使用ldaps,rundeck需要ssl证书,这是在他们的站点上编写的。获得证书后,他们提到以下两个步骤: 一旦获

  • 有人能告诉我如何在docker容器中更改Cassandra.yaml吗?我想在docker中为cassandra访问启用密码身份验证。

  • 我的问题是,我们有一组运行SiteMinder但非常糟糕的遗留代码。它允许IIS匿名并避免使用Active Directory。 我们正在重建此应用程序,并希望将SiteMinder与IIS和集成。净额4.0。我知道我可以构建自己的安全框架,无需用户名和密码即可完成所有工作(因为我们不希望SiteMinder提供),但我想知道是否有办法使用内置的Windows身份验证(窗体或Windows)与Si

  • 我的管理员控制器扩展了控制器类,在那里我使用方法加载视图页面并传递保护。config/auth.php也通过添加管理员保护和提供程序进行了修改。在app/Actions/Fortify文件夹中,我添加了AttemptToAuthenticate和ReDirectIfTwoFactorAuthenticate类,并更改了命名空间。我的管理员控制器还扩展了Guard。用户的重定向中间件和管理员的重定向