java.sql.SQLException:\[Microsoft\]\[ODBC Driver Manager\] 无效的描述符索引

新手上路,请多包涵

我使用以下代码

try {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con = DriverManager.getConnection("jdbc:odbc:access");
    String sql = "Select * from table";
    Statement stmt = con.createStatement();
    ResultSet rs = stmt.executeQuery( sql );
    ResultSetMetaData md = rs.getMetaData();
    int columns = md.getColumnCount();
    for (int i = 1; i <= columns; i++) {
        columnNames.addElement( md.getColumnName(i) );
    }
    while (rs.next()) {
        Vector row = new Vector(columns);
        for (int i = 1; i <= columns; i++){
            row.addElement( rs.getObject(i) );
        }
        data.addElement( row );
    }
    rs.close();
    stmt.close();
}catch(Exception e){
    System.out.println(e);
}

它显示:

 java.sql.SQLException:[Microsoft][ODBC Driver Manager] Invalid descriptor index

这是怎么引起的,我该如何解决?

原文由 Tepken Vannkorn 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 400
1 个回答

我有同样的错误,这是 Delphi 的 ODBC Express 驱动程序。

我找到的解决方案是:

将 varchar(max) 和/或 varbinary(max) 字段放在选择查询的末尾。 (表定义中的顺序无关紧要)。

这确实为我们解决了问题,想与大家分享。

原文由 Remco 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题