Fly

 

JDBC连接

1.oracle

   环境配置:classpath,添加E:\Oracle\product\10.2.0\db_1\jdbc\lib\classes12.jar;

   新建一环境变量,JAVA_HOME,变量值为JDK目录(如:C:\Program Files\Java\jdk1.6.0_12).

   在JAVA工程中添加ojdbc14.jar包的引用,在安装目录db_1\jdbc\lib目录下

   程序:Class.forName("oracle.jdbc.driver.OracleDriver"); 
  String url = "jdbc:oracle:thin:@localhost:1521:emily"; (emily为实例名,也就是SID)
  Connection conn = DriverManager.getConnection(url, "resam", "resam"); (前一个resam为用户名,后一个为密码)
  Statement stmt = conn.createStatement(); 
  ResultSet rs=stmt.executeQuery("select * from aa");  (aa为resam用户下的一个表名)
  while (rs.next()) {
  System.out.println(rs.getString("smid"));
  }
  } catch (SQLException e) { 
   e.printStackTrace();
  } catch (ClassNotFoundException e) { 
   e.printStackTrace();
  }

曾经出现的严重错误:在listener.ora中将(ADDRESS = (PROTOCOL = TCP)(HOST = liping)(PORT = 1521))中的HOST改为IP的话,上面的代码就需要将LOCALHOST改为IP,否则就有可能报网络监听连接失败的错误。
2.sql 2000 

   首先需要了解SQL2000是否打过SP4,SQL查询分析器-〉帮助-〉关于可以查看MSSQL的详细版本号,如果是 8.00.194 就是还没打补丁,8.00.760 就是SP3,8.00.2039 就是SP4,如果没有打SP4,可以直接到微软官网去下SP4.如果已经打过补丁,就可在微软官网去下SQL2000 DRIVER FOR JDBC的驱动,安装完驱动后,将安装目录下LIB文件夹中的三个JAR包添加引用至工程,还需在CLASSPATH里添加一下,注意,所有任务完成后请重启计算机,本人试过很多次,不重启是连不上的.

连接代码:

try {
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=testDel"; (若此代码连接仍存在问题,请单击SQLSERVER组下相应实例,右键单击_选择属性_常规_网络配置_启用协议中的TCP/IP中的默认端口设置为1433(在设置前一般都需要停止服务)).

    String user="sa";
    String password="liping";
    Connection conn= DriverManager.getConnection(url,user,password);
    Statement stat=conn.createStatement();
    ResultSet result=stat.executeQuery("select * from SmRegister");
       while(result.next()){
        System.out.println(result.getString(1));
       }
   } catch (ClassNotFoundException e) {
    e.printStackTrace();
   } catch (SQLException e) {
    e.printStackTrace();
   }

3.sql2005

      http://www.cnblogs.com/yangfengming/archive/2009/06/15/1503386.html

4.DB2

   这个要比ORACLE简单得多,不必在环境变量中添加额外变量,但仍需在工程中添加JAR包的引用db2jcc.jar,在安装目录IBM\SQLLIB\java目录下。

  程序:Class.forName("com.ibm.db2.jcc.DB2Driver");
      String url="jdbc:db2://localhost:50000/toolsdb"; //EBUSINES为数据库名
      String user="db2admin";
      String password="db2admin";
      Connection conn= DriverManager.getConnection(url,user,password);
      Statement stat=conn.createStatement();
      ResultSet result=stat.executeQuery("select * from ADMINISTRATOR.BUSLINE");
      while(result.next()){
       System.out.println(result.getString(1));
      }
     }catch (ClassNotFoundException e) {
    e.printStackTrace();
   } catch (SQLException e) {
    e.printStackTrace();
   }
   在程序中ADMINISTRATOR.BUSLINE很关键,没有加ADMINISTRATOR,程序总会报SQLCODE=-204, SQLSTATE=42704的错误,在网上查了一下,原来是用户没写对,用db2admin.BUSLINE同样会报错,在控制中心查了一下,看到显示数据库中所有表的窗口中有模式这一列,试了一下,果真应是模式.表名,之后在控制中心新建一个表模式名称不一样,用模式.表名试验后无误,这才敢确定。

另附上DB2连接中的错误查看:http://os2ports.com/docs/DB2/db2m0/sql0200.htm

posted on 2009-04-04 22:32  Emily_Fly  阅读(275)  评论(0编辑  收藏  举报

导航