Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
cnn = DriverManager.getConnection("jdbc:odbc:lm", "lm,"lm");
取到Connection后
 ResultSet rset = null;
String sqlStr = "SELECT * FROM " + tableName;
Statement smt = null;
try{
 smt = cnn.createStatement();
  rset = smt.executeQuery(sqlStr);    }
 catch (SQLException ex) {            System.out.println("Exception:" + ex.toString());        } 
Exception:java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]连接占线导致另一个 hstmt
这是一个什么问题???????
我用JDBC连就没问题了

解决方案 »

  1.   

    如果报错语句是中文的,就证明你这个DriverManager是别人写好的,光从你这段代码看不出有什么问题,你看你还是查看DriverManager这个对象吧。 或者把它贴出来。
      

  2.   

    public class ConnectionFactory {
        /**
         * 从连接池取得连接的方法
         * @param conn
         */
        public static Connection cnn = null;
        public static Connection getcon(DataSourceEntity dse) {
            String dbURL = "jdbc:odbc:lm";
            String user = dse.getSourceUser();
            String password = dse.getSourcePwd();
            try {
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                cnn = DriverManager.getConnection("jdbc:odbc:lm", "lm",
                                                  "lm");//
    //            Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    //
    //            cnn = DriverManager.getConnection(
    //                    "jdbc:microsoft:sqlserver://192.168.1.102:1433;databasename=Northwind",
    //                    "lm", "lm");
                if (cnn == null) {
                    System.out.println("aaaaaaaaaaa");
                }
            } catch (Exception e2) {
                // TODO 自动生成 catch 块
                e2.printStackTrace();
            }        return cnn;
        }
    }
    这是我的连接工厂 
    我在外面就直接这样调用
      

  3.   

    Connection用odbc 连接的...也要在数据源(ODBC)进行配置的吧.看语句是无问题的....
      

  4.   

    是不是你的某个驱动程序没有加载啊?比如连接某中类型的数据库需要有一个.jar的包做驱动支持!