0

我正在通过 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");
4

2 回答 2

1

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

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

编辑:正确重新阅读您的问题...如果您使用 sql 身份验证,则不需要该sqljdbc_quth.dll库,但它会加快使用 sql server 的身份验证。我用我们的一种产品试了一下,但没有任何明显的区别,所以从那以后我就再也没有打扰过。

于 2013-06-20T18:19:53.127 回答
0

如果您对 xml 或 .java 文件进行任何更改,您肯定必须重新启动。

如果您使用可重新加载的资源包来读取属性文件,则可以。

更新: 只需转到顶部栏中的项目而不是选中“自动构建”。它将停止自动构建项目并节省您宝贵的时间。

于 2013-06-20T18:16:02.720 回答