我正在通过JDBC4.0访问SQL Server 2008数据库。问题是,仅当我重新启动glassfish服务器时,我才可以访问我的数据库,它正常运行该代码,但是一旦我对代码进行了任何更改,我就必须重新启动glassfish服务器,否则会产生以下错误。


警告:无法加载sqljdbc_auth.dll原因:本机库C:\ Windows \ System32 \ sqljdbc_auth.dll已加载到另一个类加载器中


请指导我如何使用Eclipse编辑器解决此问题。我的代码是

String url = "jdbc:sqlserver://localhost;databaseName=ProductDB; integratedSecurity=true;";
             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
        con = DriverManager.getConnection(url);
        System.out.println("Connected");

最佳答案

如果您在GlassFish中正确定义了数据源,则您应该能够简单地重新部署您的应用程序,以查看对.java文件的更改(尽管我的经验还不多,甚至可以使用热部署)。 XML文件甚至不需要重新部署。

更新:我从您的编辑中看到您正在手动加载驱动程序等。我建议您让GlassFish管理数据源并使用资源注入来获取连接。

编辑:正确地重新阅读您的问题...如果您使用的是SQL身份验证,则不需要sqljdbc_quth.dll库,但它将加快sql服务器的身份验证。我使用我们的一种产品进行了尝试,但是并没有什么明显的不同,因此从那时起我就再也没有打扰过。

10-07 13:05
查看更多