注:127.0.0.1是我用主机名"LN-PC"ping出来的地址。

解决方案 »

  1.   

    这里:
    我的SQLSERVRE是默认WINDOWS登录,主机名为LN-PC,用户名、密码都没有。
    但是程序里不能默认以windows登陆,所以你必须要制定用户名和密码。
    一般的数据库默认的是这个:
    String user="sa";
    String password="";
      

  2.   

    SQLSERVRE里面要改成sql的验证登陆
      

  3.   

    "DataBase=pubs"==>>DatabaseName=pubs
      

  4.   

    跟我的情况很相似啊! 不过我是连oracle9i也是conn=DriverManager.getConnection(url,user,password);/*这句报错*/关注!!
      

  5.   

    "DataBase=pubs"==>>DatabaseName=pubs这句已经通过,没问题。请看清我的问题!谢谢。报的错是:用户名不能通过!注意:我的SQLSERVRE是默认WINDOWS登录,主机名为LN-PC,用户名、密码都没有。
      

  6.   

    我没看走眼,我看得很清楚了:/* Test1.java */import java.sql.*;
    class Test1
    {
    public static void main(String[] args) {
    try
    {
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DataBaseName=pubs";
    System.out.println("test1");
    String user="xxx";   //这里填上你自己的用户名
    String password="xxx";  //这里填上你自己的密码
    Connection conn=DriverManager.getConnection(url,user,password);
    System.out.println("test2");
    Statement stmt=conn.createStatement();
    String sql="select * from jobs";
    ResultSet rs=stmt.executeQuery(sql);
    while(rs.next()) {
    System.out.println(rs.getString("job_id")) ;
    System.out.println(rs.getString("job_desc"));
    }
    rs.close();
    stmt.close();
    conn.close();
    }
    catch (Exception e)
    {
    System.out.println(e.getMessage());
    }
    }
    };结果:
    test1
    test2
    1
    New Hire - Job not specified
    2
    Chief Executive Officer
    3
    Business Operations Manager
    4
    Chief Financial Officier
    5
    Publisher
    6
    Managing Editor
    7
    Marketing Manager
    8
    Public Relations Manager
    9
    Acquisitions Manager
    10
    Productions Manager
    11
    Operations Manager
    12
    Editor
    13
    Sales Representative
    14
    Designer
    /* Test2.java */import java.sql.*;
    class Test2
    {
    public static void main(String[] args) {
    try
    {
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DataBase=pubs";  //注意这里有什么不同
    System.out.println("test1");
    String user="xxx";   //这里填上你自己的用户名
    String password="xxx";  //这里填上你自己的密码
    Connection conn=DriverManager.getConnection(url,user,password);
    System.out.println("test2");
    Statement stmt=conn.createStatement();
    String sql="select * from jobs";
    ResultSet rs=stmt.executeQuery(sql);
    while(rs.next()) {
    System.out.println(rs.getString("job_id")) ;
    System.out.println(rs.getString("job_desc"));
    }
    rs.close();
    stmt.close();
    conn.close();
    }
    catch (Exception e)
    {
    System.out.println(e.getMessage());
    }
    }
    };结果:
    test1
    test2
    [Microsoft][SQLServer JDBC Driver][SQLServer]对象名 'jobs' 无效。
    我对分数不感冒
      

  7.   

    Sorry!我不是这个意思!感谢大家!在节日里还在这里为网友们解答问题!
      

  8.   

    在sql server中设置的认证方式对不对?如果是windows身份认证的话,好象会导致这个问题
      

  9.   

    楼上请问如何解决?我是windows身份论证
      

  10.   

    点击“开始"->"程序(p)"->"Micro SQL Server"->"企业管理器"
    打开左边的”控制台根目录",直到看到你的数据库服务器名称为止,
    然后在数据库服务器名称上点击右键,选择“属性",在随后出现的
    对话框中选择”安全性“选项卡,把身份验证改成:“SQL Server和Window(s)”
    最后一路按确定。