日期:2014-05-17  浏览次数:20870 次

请教一个比较少见的jsp页面调用jframe的问题!
最近对公司以前的一个项目进行数据库的升级,由sqlserver2000升级到sqlserver2012.
原来的系统环境是win2000,jdk1.5,tomcat5.5,sqlserver2000
升级后的系统环境是win2008,jdk1.5,tomcat5.5,sqlserver2012

系统内jsp页面嵌入applet,双击applet中的tree目录节点,可以调用jframe,jframe中读取数据库信息进行显示。

在老环境中系统正常显示。
在新环境中,调用jframe的时候,java控制台报错。
出错的主要原因是在jframe中调用取得数据库连接的方法。例如:
Connection con = MSSQLAdapter.GetConnect();
该方法的代码是:
public static Connection GetConnect()
{
Connection resultConn = null;
try 
        {
DBConfig ec=DBConfig.getInstance();
String _driver=ec.getPropertyValue("db.properties","db_driver_class");
String _url=ec.getPropertyValue("db.properties","db_driver_url");
String _user=ec.getPropertyValue("db.properties","db_driver_user");
String _password=ec.getPropertyValue("db.properties","db_driver_pwd");
System.out.println(_url+" "+_user+" "+_password);
            Class.forName(_driver.trim()); 
            resultConn = DriverManager.getConnection(_url,_user,_password); 
        } 
        catch (SQLException ex) 
        { 
         ex.printStackTrace();
            System.out.println(ex.getMessage() + "路径错误"); 
        } 
        catch (ClassNotFoundException ex) 
        { 
            System.out.println(ex.getMessage() + "驱动错误"); 
        }
        return resultConn;
}
控制台中捕获的异常是:ClassNotFoundException 。
而系统在其他地方也都是用这个方法取得连接,都没问题,而且在老环境中也都正常。
老环境中使用的数据库驱动是:msbase.jar,mssqlserver.jar,msutil.jar,新环境中使用的是sqljdbc.jar。
另外在applet中,没有使用数据库连接,而是使用输入流获取需要显示的树目录。

所以,现在问题的焦点是新的驱动程序sqljdbc.jar是否因为安全原因不支持在jframe中连接数据库?
如果不支持的话,有没有好的解决方法?

web?jframe?连接数据库

------解决方案--------------------
感觉是你的新的数据库驱动没有引用到