开发者社区> 问答> 正文

java数据库jdbc编程? 400 报错

java数据库jdbc编程? 400 报错

用eclipse-SDK-3.7-win32\eclipse\eclipse.exe编程,用jdbc连数据库,出错代码 48行 如下,在另一个程序中用52--54行代码可以成功(jdbc-odbc),看网上有解说引入msbase.jar,mssqlserver.jar,msutil.jar包我已引入,要打sp4补丁也打了,可是还是不行,头痛死了,请问各位大侠我那错了?????数据库(sql server 2000),我在设置数据源时没设 密码登陆跟这个有关吗?

..............

44  try {
45  //加载驱动
46  Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
47  
48   ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=yuangongziliao");
49   //

50  
51   ps=ct.prepareStatement(" select *from clerk"); 
52   /*Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
53    ct=DriverManager.getConnection("jdbc:odbc:mytext");
54    sm=ct.createStatement();*/
   //执行查询
      rs=ps.executeQuery();     
      // 返回查询结果
   while(rs.next())
   {
    //rowData
    Vector hang=new Vector();
    
    hang.add(rs.getString(1));
    hang.add(rs.getString(2));
    hang.add(rs.getString(3));
    hang.add(rs.getInt(4));
    hang.add(rs.getString(5));
    hang.add(rs.getString(6));
    //加入到rowData
    rowData.add(hang);
   }
   System.out.print("JFFGH58");
  } catch (Exception e) {
   // TODO: handle exception
   e.printStackTrace();
  }finally{
   //关闭资源
  
   try {
    if(rs!=null)
    {
     rs.close();
    }
    if(ps!=null)
    {
     ps.close();
    }
    if(ct!=null)
    {
     ct.close();
    }
   } catch (Exception e) {
    // TODO: handle exception
   }
  }
  ...........

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
 at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
 at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
 at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
 at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
 at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
 at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
 at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
 at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
 at java.sql.DriverManager.getConnection(Unknown Source)
 at java.sql.DriverManager.getConnection(Unknown Source)
 at database.Test2.<init>(Test2.java:48)
 at database.Test2.main(Test2.java:25)

 

展开
收起
爱吃鱼的程序员 2020-05-29 20:09:34 712 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    撸主,首先要确认安装 了 mssql  server  ,你现在可以打开一个 sql窗口么?

    其次,撸主要先看看1433端口有没有被占用,或者telnet一下啊,看看通不通

    最后,如果上面都木有解决问题,你可以看看你的认证模式怎么设置的

    ###### select *from clerk你觉得这样的语句能查询么
    ######回复 @Rayn-瑞恩 : 我还以为你说他驱动加载错了。。。汗######回复 @铂金小白 : 没有连接上啊。######回复 @Rayn-瑞恩 : ?######回复 @铂金小白 : 驱动加载都有问题######都木有连接上数据库,还查询。。。瀑布汗。。。######

    链接字串里没有用户名、密码,从报错看是这个问题

    select *from clerk中*和from之间有空格

    细节决定成败

     

    ######

    楼主,你可以看看你的纯java驱动程序的包是是否正确,还有引入的位置是否正确,万一不行,你就试试设置登录名和密码,加到程序中来,看行不行。你可以抛出异常来检测下到底是链接数据库哪个地方出问题了,这样你才知道怎么修改。

    ###### Error establishing socket.  ,这很明显是没有连接上嘛。你你的sql服务器开了远程访问了?###### Error establishing socket. ######

    你连接数据库的用户名,密码呢?

    楼上说的那个select *from 也是一个问题

    ######

    使用DriverManager的这个方法获取数据库连接

    public static Connection getConnection(String url, String username, String password)
    ######

    要看你的认证模式 如果是sql server验证模式 DriverManager.getConnection(conUrl, Login, Password) 看你写的应该是windows验证模式

    ######是不是没有加入jdbc的驱动。
    2020-05-29 20:09:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载