dll, JDBC ішінде жоқ

Мен Java-мен Java-мен жұмыс істеймін. Жақында мен осы қатені алдым:

com.microsoft.sqlserver.jdbc.AuthenticationJNI 
WARNING: Failed to load the sqljdbc_auth.dll cause : no sqljdbc_auth in java.library.path

Бұл жағдайда, Қосылым жолындағы inteqrimeSecurity = true параметрін қосқан кезде орын алады. Қате туралы хабарда sqljdbc_auth.dll жоқ екенін дәлелдейді, сондықтан dll-ды sqljdbc4.jar-ді сақтауға тырыстым.

Дегенмен, бұл жұмыс істемейді, сондықтан мен осы DLL-ті менің құрастыру жолыма қалай қосуға болатынын білгім келді. Мұны істеудің ерекше жолы бар ма?

15
afaik сізге Windows сипатына PATH жолын қосу керек
қосылды автор JIV, көзі

9 жауаптар

keep sqljdbc_auth.dll in your windows/system32 folder and it will work.Download sqljdbc driver from this link Unzip it and you will find sqljdbc_auth.dll.Now keep the sqljdbc_auth.dll inside system32 folder and run your program

32
қосылды
Бұл шеберлік және 1/2 секілді жұмыс істейді.
қосылды автор Teoman shipahi, көзі
Бұл жай ғана абыржу болды. Сияқты 100% және 50% жұмыс істеді, ал барлығы 150% :)
қосылды автор Teoman shipahi, көзі
Мен сізге қуанышты жауап бердім. 1/2 деген не?
қосылды автор SpringLearner, көзі
@rkkreddy Мен қуаныштымын, жауап маған көмектесті
қосылды автор SpringLearner, көзі
Керемет сияқты жұмыс істеді.
қосылды автор rkkreddy, көзі

Жақсы жігіттер, мен оны тауып алдым! Java.library.path файлын өзгертудің қажеті жоқ, бірақ sqljdbc.jar

This is the best answer I could find: https://stackoverflow.com/a/958074/2000342

Қазір ол жұмыс істейді, қолдау үшін алғыс айтамыз!

9
қосылды

sqljdbc_auth.dll деген каталогты көрсететін java.library.path деп аталатын -D жүйе сипатын орнатуыңыз керек.

4
қосылды
Мүмкін, нақты бола аласыз ба? Мұны қалай жасау керектігін білмеймін
қосылды автор muffin, көзі

Java.library.path-ді Java-дің туынды кітапханаларын табу үшін пайдаланатын DLL-і бар каталогқа орнатыңыз. Пәрмен жолында -D қосыңыз

java -Djava.library.path = C: \ Java \ native \ libs YourProgram

C: \ Java \ native \ libs ішінде sqljdbc_auth.dll болуы керек

Егер Eclipse пайдалансаңыз, SO постына қараңыз немесе орнату қажет болса бұл блогта бағдарламаланған.

3
қосылды
Рақмет сізге! Жоғарғы жағындағы сипаттама өте анық емес, оны аздап өңдеңіз деп санаймын. Керісінше, stackoverflow.com/questions/957700/… маған көп көмектесті! Міне, мен өз проблемамның жауабын таптым
қосылды автор muffin, көзі

Оңай түзету үшін келесі қадамдарды орындаңыз:

  1. goto: https://docs.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url#Connectingintegrated
  2. Download the JDBC file and extract to your preferred location
  3. open the auth folder matching your OS x64 or x86
  4. copy sqljdbc_auth.dll file
  5. paste in: C:\Program Files\Java\jdk_version\bin

Eclipse немесе netbeans күйін қайта іске қосыңыз

3
қосылды

If its the case of the dll file missing you can download the dll file from this link http://en.osdn.jp/projects/sfnet_dose-grok/downloads/sqljdbc_auth.dll/

басқаша қосылуға тырысатын джіңіздің пайдаланушы аты мен кілтсөзін беруіңіз керек және түпнұсқалықты жалған деп жасаңыз

2
қосылды

Sqljdbc_auth.dll auth папкасында sqljdbcxx.jar файлын шығарып алу үшін орнатқан sqljdbc_x.x қалтасында болады. Скала жобаңыздың негізінде lib қалтасын жасаңыз және sqljdbc_auth.dll файлын осы қалтаға жылжытыңыз. Бұл дұрыс файлды алуыңызға сенімді, мысалы: 64 биттік немесе 32 биттік sqljdbcxx.jar файлыңызға сәйкес келеді.

0
қосылды

Сіздің DLL-іңіз класс жолында екеніне көз жеткізіңіз.

Осындай тәсілдердің біреуі PATH ортасының айнымалы мәніндегі DLL жолын қою болып табылады.

Басқа опцияны LD_LIBRARY_PATH айнымалы мәніндегі VM аргументтеріне қосу керек, мысалы:

java -Djava.library.path =/path/to/my/dll -cp/my/classpath/goes/мұнда MainClass

0
қосылды

Достарым әртүрлі бит нұсқасы үшін бірдей проблема туды Келесі нүктені тексеріңіз * Сіздің jdk битіңіз 64 немесе 32 * Сіздің жолыңыз sqljdbc_4.0 \ enu \ auth \ x64 немесе x86 каталогы сіздің jdk битіңізге байланысты * sqljdbc_auth.dll бұл файлды сіздің x64 немесе x86 биттеріңізге байланысты таңдап, оны system32 қалтасына қойып, ол мен үшін жұмыс істейді

0
қосылды