[Microsoft][ODBC SQL Server Driver][SQL Server]对象名 'cutomers2' 无效。
java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]对象名 'cu
tomers2' 无效。
        at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
        at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
        at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3110)
        at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
        at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:2
53)
        at Test.main(Test.java:24)
请按任意键继续. . .源程序:
import java.sql.*;
public class Test{
public static void main(String []args)
{
String url="jdbc:odbc:student";
String name,age,address,email,str;
ResultSet sr;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection(url,"sa","19861105");
Statement st=con.createStatement();
str="CREATE TABLE customers2 (cName VARCHAR(10),cAge SMALLINT,cAddress VARCHAR(20))";
st.executeUpdate(str);
str="ALTER TABLE customers2 ADD  cEmail VARCHAR(20)";
st.executeUpdate(str);
//str="INSERT INTO customers2(cName,cAge,cAdderss)values('zhangsan',21,'chaohuxueyuan')";
//st.executeUpdate(str);
//str="INSERT INTO customers2(cName,cAge,cAdderss)values('zhangsan',26,'chaohuxueyuan')";
//st.executeUpdate(str);
str="INSERT INTO customers2(cName,cAge,cAddress,cEmail)values('zhangsan',27,'chaohuxueyuan','[email protected]')";
st.executeUpdate(str);
str="INSERT INTO customers2(cName,cAge,cAddress,cEmail)values('zhangsan',99,'chaohuxueyuan','[email protected]')";
st.executeUpdate(str);
sr=st.executeQuery("SELECT*FROM cutomers2");
while(sr.next())
{
name=sr.getString("cName");
age=sr.getString("cAge");
address=sr.getString("cAddress");
email=sr.getString("cEmail");
System.out.println(name+" "+age+" "+address+" "+email);
}
con.close();
}
catch(Exception ex){
System.out.println(ex.getMessage());
ex.printStackTrace();
}
}
}

解决方案 »

  1.   

    对象名 'cutomers2' 无效。 就是说在数据库中没有这张表!!!
      

  2.   

    加上COLUMN[Microsoft][ODBC SQL Server Driver][SQL Server]在关键字 'COLUMN' 附近有语法错误

    java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]在关键字 '
    COLUMN' 附近有语法错误。
            at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
            at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
            at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3110)
            at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
            at sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(JdbcOdbcStatement.java:
    288)
            at Test.main(Test.java:15)
    请按任意键继续. . .
    import java.sql.*;
    public class Test{
    public static void main(String []args)
    {
    String url="jdbc:odbc:student";
    String name,age,address,email,str;
    ResultSet sr;
    try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con=DriverManager.getConnection(url,"sa","19861105");
    Statement st=con.createStatement();
    str="CREATE TABLE customers2 (cName VARCHAR(10),cAge SMALLINT,cAddress VARCHAR(20))";
    st.executeUpdate(str);
    str="ALTER TABLE customers2 ADD COLUMN cEmail VARCHAR(20)";
    st.executeUpdate(str);
    //str="INSERT INTO customers2(cName,cAge,cAdderss)values('zhangsan',21,'chaohuxueyuan')";
    //st.executeUpdate(str);
    //str="INSERT INTO customers2(cName,cAge,cAdderss)values('zhangsan',26,'chaohuxueyuan')";
    //st.executeUpdate(str);
    str="INSERT INTO customers2(cName,cAge,cAddress,cEmail)values('zhangsan',27,'chaohuxueyuan','[email protected]')";
    st.executeUpdate(str);
    str="INSERT INTO customers2(cName,cAge,cAddress,cEmail)values('zhangsan',99,'chaohuxueyuan','[email protected]')";
    st.executeUpdate(str);
    sr=st.executeQuery("SELECT*FROM cutomers2");
    while(sr.next())
    {
    name=sr.getString("cName");
    age=sr.getString("cAge");
    address=sr.getString("cAddress");
    email=sr.getString("cEmail");
    System.out.println(name+" "+age+" "+address+" "+email);
    }
    con.close();
    }
    catch(Exception ex){
    System.out.println(ex.getMessage());
    ex.printStackTrace();
    }
    }
    }
      

  3.   

    小弟最近刚弄好,那心情鸡冻得~~~~~~不说了,进入正题吧!出现那个问题有可能是数据源没配置好,配制方法如下:“控制面板”->“管理工具”->“数据源(ODBC)” 选择“用户DSN“选项卡,然后点击右边的“添加”按钮如下:然后选择数据源的驱动程序SQL Server: ,点击“完成”进入下一步:名称就是你的数据库名(如我的Student),描述可填可不填,至于服务器名嘛,你可以打开SQL Server 的服务管理器查看:然后点击“下一步”:用户登录ID验证最好选择下面一项,然后输入登录ID和密码。进入下一步: 一定要选择“更改默认的数据库名”选择你建的数据库,然后点击“下一步”:然后点击“完成”:然后点击“测试数据源”,测试成功后如下:这样,你的数据源就配置好了! 如果数据原配置好后还不行,那可能就是要打补丁:SQL Server 2000 Service Pack 4,SQL Server 2000 Driver for JDBC Service Pack 3 一个是SQL Server的,一个是JDBC驱动的,再设置环境变量classpath.