JDBC和Sql Server 2008连接

时间:2013-06-20 18:12:15

标签: java sql-server jdbc sql-server-2008-r2

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

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

如果您在xml或.java文件中进行任何更改,则必须重新启动。

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

已更新: 只需检查顶部栏中的项目,然后选中“自动构建”。它将停止自动构建项目并节省您宝贵的时间。