我建立了一个跟SQL SERVER 数据库连接的类   其中的方法返回的是 Connection 
然后再到其他类中处理
语法没有报错 但就是连接不上 报错的内容是:
java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]必须声明变量 '@P2'。请问各位大侠们,着到底是数据库错误还是,程序结构错误,还是数据源配制错误???
谢谢啊 !!

解决方案 »

  1.   

    尤其是insert语句,请楼主好好查看一下,比如说少了逗号之类的。
      

  2.   

    java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]必须声明变量 '@P2'。看提示~~
    你用了P2 却没有申明变量P2
    怎么申明请参考有关资料
      

  3.   

    你用的odbc,配的是不是有问题呢?
    测试下连不连的上,再在java上用呀
      

  4.   

    //此类用于连接数据库并返回一个连接对象contextpublic class DBCon {
        public DBCon() {
            try {
               jbInit();
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }    private Connection contest;
        public Connection getconnection(){
            try {
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            } catch (ClassNotFoundException ce) {
                ce.printStackTrace();
            }
            try {
                contest = DriverManager.getConnection("jdbc:odbc:volunteers","new","");
            } catch (SQLException e) {
                 e.printStackTrace();
            }
            return contest;
        }
        private void jbInit() throws Exception {
        }}
      

  5.   

    private Vector checkConnection(String chkNAP,String chktable){
            Connection con;
            Vector result = new Vector();
            DBCon dbcon = new DBCon();        try {
                con = dbcon.getconnection();
                PreparedStatement pstmt=con.prepareStatement("select ? from ?;");
                pstmt.setString(1, chkNAP);
                pstmt.setString(2, chktable);
                ResultSet rs=pstmt.executeQuery();
                while(rs.next()){
                    result.addElement(rs.getString(1).toString());
                }
              }catch (SQLException e) {
                   System.out.println(e.toString());
              }
             return (result);     }
      

  6.   

    连接SQL SERVER 数据库(2000)首先必须是把sql server打上补丁sp3才可以的,可以的奥迅雷上下载 
      

  7.   

    建议楼主先别用存储过程,写个直接的select语句试试看有没有问题。