/*
 * 创建日期 2005-12-7
 */
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcTest {
   
    
    public static void main(String args[])    
    {
        String url = "jdbc:db2:pfmsnh5";
        String user ="db2admin";//
        String password = "geverdss";//
        String sqlStr = "select fid,fdwbh,fdwmc from tunit";
        
        try{  
            System.out.println("aaa"+sqlStr);
     
            Class.forName("COM.ibm.db2.jdbc.app.DB2Driver").newInstance();
            System.out.println("aaa"+sqlStr);
            System.out.println( "类实例化成功!");            Connection con = DriverManager.getConnection(url,user,password);
            System.out.println( "创建连接对像成功!" );            Statement st = con.createStatement();
            System.out.println( "创建Statement成功!" );
            
            ResultSet rs = st.executeQuery( sqlStr );
            System.out.println( "操作数据表成功!" );
            System.out.println( "----------------!" );            while(rs.next())
            {
                System.out.print(rs.getString("fid") + "    ");
                System.out.print(rs.getString("fdwbh") + "    ");
                System.out.println(rs.getString("fdwmc"));
            }
            rs.close();
            st.close();
            con.close();
        }
        catch(Exception err){
            err.printStackTrace(System.out);
        }
    }
    
}
错误原因java.lang.UnsatisfiedLinkError: SQLAllocEnv
at COM.ibm.db2.jdbc.app.DB2Driver.SQLAllocEnv(Native Method)
at COM.ibm.db2.jdbc.app.DB2Driver.<init>(DB2Driver.java:249)
at COM.ibm.db2.jdbc.app.DB2Driver.<clinit>(DB2Driver.java:131)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at com.gever.pfms.system.action.index.JdbcTest.main(JdbcTest.java:31)
Exception in thread "main" 

解决方案 »

  1.   

    public static void connect(String url)
        {
            try
            {
      
                String dbDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
                Class.forName(dbDriver);
            }
            catch(ClassNotFoundException cnfe)
            {  
                System.out.println ("驱动有问题");
            }
            try
            {
                con = DriverManager.getConnection(url);
                stm=con.createStatement();
            }
            catch(SQLException sqle)
            {
                System.out.println ("对象连不上");
            }
        } 建议搂主先做一下这两个连接测试ps import java.sql.*;会比较简单些
      

  2.   

    虽然没有用过DB2,但是
    Class.forName("COM.ibm.db2.jdbc.app.DB2Driver").newInstance();
    很明显写错了."COM.ibm.db2.jdbc.app.DB2Driver" 包名通常是小写的,改为
    "com.ibm.db2.jdbc.app.DB2Driver"