求实例代码:java如何通过Thin连接Oracle9i并查询数据库,纯java如何调用jdbc?(不通过web服务器如Tomcat)我现在请人写了一个,但有错误,代码如下:
package lib;import java.net.URL;
import java.sql.*;
import java.io.*;public class testing{ public static void main(String[] args){
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection connect=DriverManager.getConnection("jdbc:oracle:thin:@192.168.134.100:1521:fkjdgl","system","123456");
Statement stmt=connect.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

String sql="insert into backupinfo(method,server,sharefolder,time,location) values('dd','aa','bb','ee','ff')";
int i=stmt.executeUpdate(sql);
connect.close();
}
catch(Exception e){
System.err.println(e.getMessage());
}
}
}
错误提示信息:
Exception in thread "main" java.lang.NoClassDefFoundError: lib/testing

解决方案 »

  1.   

    你可以试一下,我们这里用的是sqlserver,没有问题!
    有问题大家一起探讨!package lib;//import java.net.*;
    import java.sql.*;
    //import java.io.*;public class testing{public static void main(String[] args){
    try{
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    Connection connect=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=onlineDB","sa","");
    Statement stmt=connect.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    stmt.executeUpdate("drop table backupinfo");
    stmt.executeUpdate("create table backupinfo(method varchar(10),server varchar(10),sharefolder varchar(10),time varchar(10),location varchar(10))");String sql="insert into backupinfo(method,server,sharefolder,time,location) values('dd','aa','bb','ee','ff')";
    int i=stmt.executeUpdate(sql);
    System.out.println(i);
    connect.close();
    }
    catch(Exception e){
    System.err.println(e.getMessage());
    }
    }
    }
      

  2.   

    常用的两种方法连接数据库(SQL Server2000 为例)
    ------------------------------------------------------------------------------------
    1、下载SQL Server 2000 driver for JDBC
           SQL Server 2000 Driver For JDBC Downloads
           该驱动截止目前有四个版本,建议下载最新的SP3版。
           该驱动安装成功后,请将安装目录下的lib目录下的三个.jar文件加到CLASSPATH中;如果你使用的是JBuilder或Eclipse,将这三个文件根据IDE的提示加到工程中也可。2、升级你的SQL Server 2000,为其打上最新的补丁。
           这一步可能不是必需的,因操作系统环境而定,在不打补丁的情况,有时可以正常连接,有时却不能,所以建议还是安装最新的SQL Server 2000补丁(SP4)和JDBC驱动(SP3)。
           如果你的程序在运行时提示:Error establishing socket,一般情况下,打上SQL Server 2000的补丁就可解决。3、驱动的加载方法
          在建立连接之前,要先加载SQL Server 2000 JDBC的驱动,代码形式如下:
          Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
          在此注意,forName方法的参数字符串必须完全相同于以上内容,大小写是区分的,其实这个串就是驱动类的完整名称:包名+类名。4、获得一个连接
          在操作数据库之前,要先获得与数据库的一个连接,使用如下代码格式:
          DriverManager.getConnection(连接字符串, 登录用户名, 登录密码);
          例:
          DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs", "sa", "");
          在此处关键的是连接字符串的内容,localhost部分即服务器的名字,可以更改;1433部分为SQL Server使用的端口号,根据实际情况修改即可;DatabaseName即为要连接的数据库的名字,在此注意DatabaseName之前的是分号,而不是冒号。 5、代码实例// 导入Java SQL包,连接数据库必需;
    import java.sql.*;
    public class TestDB {
       public static void main(String[] args) {
           String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
           String dbURL = "jdbc:microsoft:sqlserver://127.0.0.1:1433; atabaseName=pubs";
           String userName = "sa";
           String userPwd = "";
           Connection dbConn;
           try {
               Class.forName(driverName);
               dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
               //System.out.println("Connection Successful!");
               Statement st=dbConn.createStatement();
               ResultSet rs=st.executeQuery("sql 语句");
           boolean flag=rs.next();
               while(flag){
                  //取出从数据库中查出的字段
               }
           }
           Catch (Exception e) {
               e.printStackTrace();
           }
       }
    }6、可能出现的问题
          如果以上的代码运行后,输出"Connection Successful!",那就代表一切正常,连接数据库成功,你可以进行Statement、ResultSet的操作了;反之的话,一定是出现了相应的异常。
          如果提示错误"Error establishing socket",请根据之前的说明安装相应的SQL Server 2000补丁即可。
          如果提示"ClassNotFoundException",那一定是 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 该段代码拼写有误,或者是SQL Server 2000 Driver For JDBC Lib目录下的三个.jar文件未加入到CLASSPATH中。
    --------------------------JDBC-ODBC 桥连接SQL---------------------------------------1 控制面板-管理工具-数据源-设置DNS(设置DNS名称"imp",用户名"sa",密码"",默认登录数据库"pubs")
    2 import java.sql.*;
      public class TestDB{
        public static void main(String[]args){
          String driverName="sun.jdbc.odbc.JdbcOdbcDriver";
          String dbURL="jdbc:odbc:imp";
          String userName="sa";
          String userPwd="";
          Connection dbConn;
          
          try{
            Class.forName(driverName);
            dbConn=DriverManager.getConnection(dbURL,userName,userPwd);
    //System.out.println("Connection Successful!");
            Statement st=dbConn.createStatement();
            ResultSet rs=st.executeQuery("sql 语句");
        boolean flag=rs.next();
            while(flag){
              //取出从数据库中查出的字段
            }
          }
          catch(Exception e){
            e.printStackTrace();
          }
        }
      }
      

  3.   

    在dos中用java命令后提示:oracle.ora90.jdbc.driver.OracleDriver