对于不同的处理器体系结构(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:Users967097>java -versionjava 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进程启动的环境。



