import java.sql.*;
public class jdbc {
static
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}catch(ClassNotFoundException e)
{
System.out.println(e.getMessage());
}
}
public static void main(String[]args)
{
try
{
   Connection conn = DriverManager.getConnection("jdbc:odbc:student","sa","");
   Statement st = conn.createStatement();
   ResultSet sr = st.executeQuery("select * from c");
   while(sr.next())
   {
   String cno = sr.getString(1);
   String cname = sr.getString(2);
  
   System.out.println("cnumber:"+cno+";name:"+cname);
   }
   st.close();
   conn.close();
}catch(SQLException e)
{
System.out.println(e.getMessage());
}

}}
这是关于sqlserver 2000和java连接的一段代码,数据库名称叫做student,为什么查询其中的表的时候总是说对象名c无效呢?其中c是数据库中的一个表。各位大侠帮帮忙!!小弟谢了!!

解决方案 »

  1.   

    除1楼所说的可能外,还有一种可能:你的C这张表是不是属于sa的?
    因为你是用sa登录的,如果你的c这张表不是sa的,而是其它用户(如:user)的,那么,查询语句应该这么写:
    select * from user.c
      

  2.   

    可是我的sa是用权限的呀,它是超级用于,是dbo啊,怎么会没有权限呢?我试了好几台电脑还是不起作用呢?
      

  3.   

    SQL server安装好后,需要一系列配置才能用,好像要启动XX服务,因为XX服务默认是停止的,记不清了,百度上肯定有
      

  4.   

    估计 ODBC 配置得有问题。另外,不要使用 JDBC/ODBC 驱动,现实中没人会去用这个的。建议你去下载 SQL Server 2000 的 JDBC 驱动程序,使用 JDBC 来做。
      

  5.   

    我顶这个,怎么还用JDBC:ODBC驱动啊,这个方式只是理论上用,现实一般不用。
      

  6.   

    谢谢各位了!真的是受益匪浅啊!我也知道odbc比较麻烦,可是因为不太清楚这个sql server 2000 的jdbc驱动程序怎么用,所以就想用jdbc-odbc来实现,野草这位仁兄真是一语惊醒梦中人啊!!我试试!有问题我再继续提问!!
      

  7.   

    拜托谁能指点一下,关于sql server 2000 的jdbc驱动程序该怎样才能让eclipse识别呢?