zoukankan      html  css  js  c++  java
  • java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 不能使用 '(未知的)';文件已在使用中

    最近查看程序输入的日志时发现一个java连接Access的程序时不时的抛出:

    java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 不能使用 '(未知的)';文件已在使用中

    相关代码如下:

    public static Connection getConnection(String dbFilePath)
     { 
      try
      {             
       //数据库连接字符串 
             String url ="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)}; access;DBQ=" + dbFilePath; 

             //加载驱动程序
             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
             //建立连接
             Connection conn= DriverManager.getConnection(url); //抛异常的是这一行
             
             return conn;

      }
      catch(Exception err)
      {   
       err.printStackTrace();
       return null;
      }
     }

    但并不是每次java程序连接Access的都会抛这样的异常,经过一段时间的观察发现原来这个错误的发生与IIS的asp程序有关。

    环境描述及分析:

    由于这个access数据库在两个网站和一个java程序中同时使用:

    网站A绑定的用户名是 IIS_A

    网站B绑定的用户名是 IIS_B

    运行发现,网站A连接数据库后,如果java程序同时连接数据库,不会抛异常。

    但如果网站B连接数据库后,java程序同时连接数据库,就抛出了上面的那个异常:[Microsoft][ODBC Microsoft Access Driver] 不能使用 '(未知的)';文件已在使用中

    至于为什么会这样,我也不知道。

    我试着,把网站B绑定的用户名改为IIS_A,然后再测试,当网站B的程序连接数据库的同时,java程序也连接这个Access数据库,不再抛java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 不能使用 '(未知的)';文件已在使用中。

    2012-03-28

  • 相关阅读:
    apiCode/1/1.1/1.1.1
    ZOJ 3195 Design the city LCA转RMQ
    IOS学习之路十二(UITableView下拉刷新页面)
    ASP.NET 缓存技术分析
    电信支撑系统
    android提权
    awk
    linux高效shell命令总结
    C关键字typedef及argc,argv,env参数含义
    2013年6月编程语言排行榜,C语言位据第一位
  • 原文地址:https://www.cnblogs.com/personnel/p/4583228.html
Copyright © 2011-2022 走看看