毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> java技术 >> 正文

JDBC里面关于元数据的java.sql.SQLException: 不支持的特性

更新时间:2012-10-26:  来源:毕业论文

import java.sql.Connection;
import java.sql.ParameterMetaData;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

//参数的数据源信息
public class PMMD {
    public static void main(String[] args) throws SQLException {
        read("select id,name,birthday,money from user1 where name=? and birthday<? and money>?",null);
    }
    static void read(String sql,Object[] params) throws SQLException{
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            conn = JdbcUtilsSing.getInstance().getConnection();
            ps = conn.prepareStatement(sql);   
            ParameterMetaData pmd = ps.getParameterMetaData();
            int count = pmd.getParameterCount();
            for(int i =1;i<=count;i++){
                System.out.print(pmd.getParameterClassName(i)+"\t");
                System.out.print(pmd.getParameterType(i)+"\t");
              System.out.println(pmd.getParameterTypeName(i));
            }

        } finally{
            JdbcUtils.free(rs,ps,conn);
        }
    }
}

报错如下:

Java codeException in thread "main" java.sql.SQLException: 不支持的特性
    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:119)
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:115)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:221)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:293)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:574)
    at oracle.jdbc.driver.DatabaseError.throwUnsupportedFeatureSqlException(DatabaseError.java:1009)
    at oracle.jdbc.driver.OracleParameterMetaData.getParameterClassName(OracleParameterMetaData.java:193)
    at com.jdbc.PMMD.read(PMMD.java:27)
    at com.jdbc.PMMD.main(PMMD.java:12)
有些JDBC驱动确实不是支持所有的元数据操作。

但后两个应该是可以的,你可以注释掉第一个。小学教师实习报告 

用ps.executeQuery();调用?不是已经预处理了吗?
但是我这里面 那几个问号没有set啊,不能调用吧。
我只是单纯的想知道这几个问号是什么类型和名字而已~~~

oracle真的不能使用ParameterMetaData这个类么

能,设置好参数并执行,之后就没问题了。

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。