CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

菜鸟的数据库访问问题,各位大哥帮帮忙,急!!(在线等)

楼主candy_wang(阳光)2005-09-01 11:38:12 在 Java / J2SE / 基础类 提问

我用以下语句访问数据库,会报错误。我想是驱动没弄好,但不知道怎么弄,各位大哥帮帮忙。谢了。顺便帮忙看看url="jdbc:db2://GDB-TS/50000:edspdata"这句话有没有错误,我是访问远程的数据库。  
  import   java.io.*;  
  import   java.lang.*;  
  import   java.util.*;  
  import   java.sql.*;  
   
  public   class   Testdb   {  
   
  public   Testdb()   {  
  }  
   
   
  public   static   void   main(String[]   args)   {  
      String   url="jdbc:db2://GDB-TS/50000:edspdata";  
      try   {  
      System.out.println("11");  
      Class.forName("COM.ibm.db2.jdbc.app.DB2Driver").newInstance();   (这句就出错了)  
      System.out.println("22");  
      Connection   con   =   DriverManager.getConnection(url,   "etlrunner",   "gdb123");    
      System.out.println("33");  
      Statement   stmt   =   con.createStatement();    
  ResultSet   rs   =   stmt.executeQuery("SELECT   distinct   etbl   FROM   ctrl_time");    
  System.out.println("dning");  
  String   s   =   rs.getString("etbl");  
  System.out.println(s);  
      }   catch(Exception   e){  
  System.out.println("tt");  
  }  
   
  }  
   
    }  
   
  错误代码如下:  
  Exception   in   thread   "main"   java.lang.UnsatisfiedLinkError:   SQLAllocEnv  
                  at   COM.ibm.db2.jdbc.app.DB2Driver.SQLAllocEnv(Native   Method)  
                  at   COM.ibm.db2.jdbc.app.DB2Driver.<init>(Unknown   Source)  
                  at   COM.ibm.db2.jdbc.app.DB2Driver.<clinit>(Unknown   Source)  
                  at   java.lang.Class.forName0(Native   Method)  
                  at   java.lang.Class.forName(Class.java:140)  
                  at   Testdb.main(Testdb.java:16) 问题点数:20、回复次数:3Top

1 楼aico(aico)回复于 2005-09-01 12:08:35 得分 10

你使用的是DB2的app驱动,这个驱动实际上是一个jdbc类到本地DB2的客户端的桥梁。  
  因此,如果你用这种方法连接DB2必须安装客户端程序。  
  解决方法:  
  1、使用app驱动,安装客户端  
  2、使用net驱动,COM.ibm.db2.jdbc.net.DB2Driver  
  当然,还要注意使用与服务器版本一致的jdbc驱动Top

2 楼aico(aico)回复于 2005-09-01 12:10:59 得分 0

相同的问题,在连接Oracle上也有,  
  如果使用oci驱动,则需要安装ora客户端,  
  如果使用纯java的jdbc就不用安装了。  
  一般来说,使用jni方式通过客户端程序连接数据库速度要快一些。但不方便。Top

3 楼lllllllllluoyi(罗毅)回复于 2005-09-01 13:25:19 得分 10

Class.forName("COM.ibm.db2.jdbc.app.DB2Driver").newInstance();是返回一个实例,需要有实例变量得到,如:  
  Driver   d   =   (Driver)Class.forName("COM.ibm.db2.jdbc.app.DB2Driver").newInstance();取得一个驱动。  
  如果只是往JVM中加载驱动直接Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");就行了  
  -----------  
  String   url="jdbc:db2://GDB-TS/50000:edspdata";  
  URL有问题,正确的是String   url="jdbc:db2://GDB-TS:50000/edspdata";  
  Top

相关问题

  • 菜鸟访问数据库的问题
  • 访问数据库???
  • 访问数据库
  • 数据库访问
  • 如何导出数据库(菜鸟,大哥指教啊)
  • 菜鸟级问题!如何VC编程访问Oracle数据库。
  • 请教一个数据库访问的菜鸟问题
  • 怎么办啊?访问MYSQL数据库?5分已是我的全部家产了!!!!~~~~回答吧大哥们
  • 访问DB2数据库!
  • ADO访问数据库(vc)

关键词

  • 驱动
  • 数据库
  • db
  • jdbc
  • 客户
  • ibm
  • 安装
  • 连接
  • db2
  • edspdata

得分解答快速导航

  • 帖主:candy_wang
  • aico
  • lllllllllluoyi

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo