Существуют разные версии sqljdbc_auth.dll для разных архитектур процессоров (x86 / x64 / ia64).Какой из них вы используете на своем сервере SFS?
Вы должны выбрать тот, который соответствует архитектуре JVM, под которой работает SFS.Итак, если вы используете 32-битную Java на 64-битной машине, вам понадобится версия x86, а не версия x64.
Я раньше не использовал SFS, поэтому не будузнать, пишет ли он где-нибудь журналы.Если это произойдет, возможно, стоит взглянуть на эти журналы, чтобы убедиться, что им написано что-нибудь полезное.
РЕДАКТИРОВАТЬ : я не могу быть на 100% уверен, что SFSиспользование 64-битной Java только потому, что в ней не хватает C: \ Program Files, а не C: \ Program Files (x86).
Я нашел следующую строку в SFS docs вВведение> Требования и установка.Хотя эта строка относится только к Linux, а не к Windows, можно предположить, что SFS в Windows также использует 32-разрядную версию Java:
Поскольку версия 1.5 SmartFoxServer поставляется со своей 32-разрядной ОС Sun Java 32-разрядной среды выполнения x86,
Один быстрый способ определить, какую версию (версии) Java вы установили, это посмотреть, существуют ли одна или обе папки C:\Program Files\Java
или C:\Program Files (x86)\Java
.Конечно, если обе папки существуют, это вам мало поможет.
Работает ли ваше приложение, если вы используете версию sqljdbc_auth.dll для x86 вместо версии x64?Если он вдруг начинает работать с библиотекой x86, тогда SFS должна использовать 32-разрядную версию Java.
Существует ли пакетный файл для запуска SFS?Если это так, чтение этого может помочь определить, откуда SFS работает с Java.Также обратите внимание на любые изменения в PATH
.Java может загружать DLL только в системном свойстве java.library.path
, а в Windows это значение равно значению переменной среды PATH
.
Если вы все еще не можете определить, использует ли SFS 32-битовая или 64-битная Java, попробуйте с помощью Process Explorer посмотреть на среду, с которой был запущен процесс java.exe, на котором запущен SFS.