sql >> Databasteknik >  >> RDS >> Sqlserver

Native Library sqljdbc_auth.dll har redan laddats i en annan klassladdare

Varje webbapplikation har sin egen Classloader (som isolerar dem). När du anropar metoden Class.forName() finns det ett statiskt block som försöker ladda det delade biblioteket (dll-fil) - så båda dina webbappar försöker ladda det delade biblioteket, därav felmeddelandet när den andra försöker ladda.

JDBC-burken du har för sqlserver bör flyttas från att vara buntad med dina krig till tomcat 7.0/lib mappen och kopiera sqljdbc_auth.dll till tomcat/bin-mappen - på detta sätt kommer den att finnas i tomcat parent classloader, och klassen kommer bara att laddas en gång.

|----------------------------------|
| sqljdbc*.jar     --> tomcat*/lib |
|----------------------------------|
| sqljdbc_auth.dll --> tomcat*/bin |
|----------------------------------|


  1. Exekveringssekvens för Group By, Have and Where-klausul i SQL Server?

  2. skapa tabell med sequence.nextval i oracle

  3. isolera en understräng i en sträng före en symbol i SQL Server 2008

  4. Kapslade klasser - CustomRowMapper !! Inget problem längre!! - Del 1