运行代码:
import java.sql.*;
public class sql_db{
public static void main(String arg[]){
Connection con;
Statement sql;
ResultSet rs;
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}
catch(ClassNotFoundException e){
System.out.println("类找不到");
}
try{
con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabseName=temp_telephone_query","sa","123");

sql=con.createStatement();

System.out.println("conection is ok");

rs=sql.executeQuery("select * from bg");
/*
     while(rs.next()){
System.out.print(rs.getInt(1));
System.out.print(rs.getString(2));
System.out.print(rs.getString(3));
System.out.println(rs.getString(4));
}
*/
}

catch(SQLException e){
System.out.println("SQL异常"+e);
}

}}
执行结果:
conection is ok
SQL异常java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'bg' 无效。但是在sql查询分析器中select * from bg能够运行

解决方案 »

  1.   

    "jdbc:microsoft:sqlserver://localhost:1433;DatabseName=temp_telephone_query"
    你的这个URL地址应该还要有数据库的名字吧,
    不然select * from bg;语句执行的时候,sqlServer怎么知道使用那个库呢?
      

  2.   

    sorry看错了,你的URL地址里面有库名,
    但是还是觉得你应该仔细检查一下你的URL地址,应该是这个地方有某些问题
      

  3.   

    数据库是正常的,就是temp_telephone_query啊
      

  4.   

    sa有权限访问这个‘bg’表吗.SQL Server补丁打了吗?