java a autoryzacja windows MSSQL

0

Witajcie,

Mam problem z uruchomieniem autoryzacji windowsowej dostępy do bazy z MS SQL. Program jest napisany w SWING, i działa gdy odpalam go przez NetBeans. Natomiast gdy uruchmiam bezpośredno z jar niestety już do bazy nie chce sie połączyć. Probem jest z ustawieniem w bibliotece sqljdbc_auth.dll, Sposób w który ja to robie to ustawienie parametry w 

właściwościach projektu -> Run ->VM Options: -Djava.library.path="C:\KUM\dll" Czyli ścieżke do katalogu w który owa dllka się znajduje. To rozwiązanie działa tylko gdy uruchamiam aplikacje przez NetBeans, może można to rozwiązać w jakis inny sposób?

Błąd to: 2014-08-19 1007.821
com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication.

Z góry dzięki za pomoc.

0

Napisz bata, który będzie zawierał coś w rodzaju:

java -Djava.library.path="ścieżka do dllki"  -jar Appka.jar
0

Tak takie rozwiązanie już znalazłem, jednak to trochę uciążliwe. Testowałem tez cos do zaszycia w kodzie:

Zamieściełem w meinie:

System.setProperty("java.library.path", "dll");
System.setProperty("org.lwjgl.librarypath", new File("dll/natives").getAbsolutePath());

albo

 System.setProperty("java.library.path", "C:\\KUM\\dll");
 System.setProperty("org.lwjgl.librarypath", new File("C:\\KUM\\dll/natives").getAbsolutePath());

No ale niestety, nie mam juz pomysłów.

0

Przenieś to do pliku properties tak by przy ładowaniu aplikacji zaczytać z pliku i ustawić za pomocą System.setProperty.

0

Niebardzo rozumiem idee, ale słucham mądrzejszych. Zrobiłem tak jak napisałeś:

 public static void prop() throws FileNotFoundException, IOException
 {        
  Properties prop = new Properties();   
  InputStream input = null;
  input = new FileInputStream("config.properties");
  prop.load(input);
  System.out.println(prop.getProperty("path"));
  System.setProperty("java.library.path", prop.getProperty("path"));
  System.setProperty("org.lwjgl.librarypath", new File("dll/natives").getAbsolutePath());
 }

No i wczytuje dll którą chce dodać. Rozumiem że funkcje powinienem wywołac w main jako piwerwszą? Czy czegos jeszcze nie rozumiem?

0

Jest ok. W ten sposób jedyną zaszytą rzeczą w kodzie jest ścieżka do pliku properties.

0

Może i jest to ładnej lepiej etc, ale niestety aplikacja nadal nie łączy się z bazą gdy odpale ja bez środowiska. I nie mam pojęcia dlaczego. Wrzuciłem ja tą dll wszędzie gdzie mogłem, dodałem zmienne środowiskowe. Ale nic nie pomogło.

0

Wszystko działa poprawnie, okazało się żeśrodowisko potrzebuje 64 bitowej dll a sam rogram już 32. ciekawa sprawa. Dzięki za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1