java数据库jdbc编程

十年梦回 发布于 2013/05/15 08:34
阅读 619
收藏 2

用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)

 

以下是问题补充:

@十年梦回:谢谢大家,我搞定了,是SP4安装问题,(我以为点那个。EXE文件就安装了) (2013/05/16 15:51)
加载中
0
不是小白
不是小白

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

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

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

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

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

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

细节决定成败

 

0
彭彭小雨
彭彭小雨

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

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

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

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

0
戴威
戴威

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

public static Connection getConnection(String url, String username, String password)
0
弧线99
弧线99

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

0
zwcshy
zwcshy
是不是没有加入jdbc的驱动。
返回顶部
顶部