本人下载了一个JDBC安装程序,可就是安装上了不知道怎么用啊,网上查了很多资料弄不明白,JDBC怎么与JAVA API建立连接,怎么测试连接成功~~~~~~~~~~~~~请高手来啊,耽误大家时间了~~~~~~~~,最好详细点啊~~~~~~~本人 邮箱 [email protected]可以将资料发到我邮箱里~~~~~~~~~

解决方案 »

  1.   

    你的数据库是什么?Oracle?MySQL还是什么?Oracle的:
    Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); 
      String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID 
      String user="test"; 
      String password="test"; 
      Connection conn= DriverManager.getConnection(url,user,password); 
    MySQL的:
    Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
      String url ="jdbc:mysql://localhost/myDB? 
    user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1" 
      //myDB为数据库名 
      Connection conn= DriverManager.getConnection(url); DB2:
    Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance(); 
      String url="jdbc:db2://localhost:5000/sample"; //sample为你的数据库名 
      String user="admin"; 
      String password=""; 
      Connection conn= DriverManager.getConnection(url,user,password); 
    Sql Server:
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 
      String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb"; 
      //mydb为数据库 
      String user="sa"; 
      String password=""; 
      Connection conn= DriverManager.getConnection(url,user,password); 
    Sybase:  
    Class.forName("com.sybase.jdbc.SybDriver").newInstance(); 
      String url =" jdbc:sybase:Tds:localhost:5007/myDB";//myDB为你的数据库名 
      Properties sysProps = System.getProperties(); 
      SysProps.put("user","userid"); 
      SysProps.put("password","user_password"); 
      Connection conn= DriverManager.getConnection(url, SysProps); 
    Informix:  
    Class.forName("com.informix.jdbc.IfxDriver").newInstance(); 
      String url = "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver; 
      user=testuser;password=testpassword"; //myDB为数据库名 
      Connection conn= DriverManager.getConnection(url); PostgreSQL:
    Class.forName("org.postgresql.Driver").newInstance(); 
      String url ="jdbc:postgresql://localhost/myDB" //myDB为数据库名 
      String user="myuser"; 
      String password="mypassword"; 
      Connection conn= DriverManager.getConnection(url,user,password); 
    还有access是可以用ODBC直连的 
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ; 
    这些是方法,你的环境变量要设好,如果是IDE的话可能要导入包
      

  2.   

    http://community.csdn.net/IndexPage/SmartQuestion.aspx
      

  3.   

    借用1楼的MySQL的代码说一下里面的意思,其它数据库都是同理:
    MySQL的:
    Class.forName( "org.gjt.mm.mysql.Driver ").newInstance();  
      String   url   = "jdbc:mysql://localhost/myDB?  
    user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1 "  
      //myDB为数据库名  
      Connection   conn=   DriverManager.getConnection(url);   JDBC是SUN公司制定的一系列接口的集合。
    windows操作系统要想在屏幕上显示一个圆,该怎么办呢?显示器上显示什么,怎么显示是由显卡来决定的,windows本身不知道如何显示,所以就要调用显卡的驱动程序里的方法来显示,显卡厂商不同,显示的方法也不同,怎么办呢,于是windows先写好,我就调用xxx()函数,这样显卡如果想在windows下显示一个圆,就得提供xxx()函数。同样道理,JAVA语言想要访问数据库,而各种数据库的实现是不同的,JAVA又要跨平台,也就是说数据库平台也要跨,SUN公司的“write once,run anywhere”的口号要兑现,SUN就想了一个办法,制定了JDBC接口,里面包括一个接口叫Driver,所有的数据库厂商如果希望JAVA语言可以访问,就要提供一个驱动,里面实现Driver接口,应用程序编写人员不用知道下面用的是什么数据库,也不需要知道如何操作这个数据库,只要按照JDBC里面的接口写程序,配上相应数据库的驱动就可以了。所以写JDBC的程序:
    1、确定你使用的数据库,然后想办法取得相应的驱动。如果是MySql或Oracle,你可以给我邮箱发邮件,我发给你,其实到网上下也可以。
    2、将驱动放入你的CLASSPATH中,具体做法不多说,有疑问给我发邮件。
    3、org.gjt.mm.mysql.Driver:这是Mysql数据库驱动实现Driver接口,好像我学的跟这个不太一样,org.mysql.jdbc.Driver,我学的是这个,可能是驱动版本不一样。你可以用winrar解压驱动包,看里面的Driver.class文件在哪个路径下,就写那个包名。
    4、Class.forName( "org.gjt.mm.mysql.Driver ").newInstance();是创建一个Driver类的实例。
    5、String   url   = "jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1":这是在准备一个URL,数据库是一个服务器,服务器就是用来通讯的,那么你要访问服务器来或得服务就要有服务器的URL,MySQL的URL就是:jdbc:mysql://localhost:3306/myDB,jdbc是协议名,就像http一样,mysql是二级子协议的名,localhost是指这个数据库就装在本机,如果是远程的,就写远程的IP,本机的也可以写成127.0.0.1,3306是MySQL的默认端口号,如果你没有改过,那就是这个,myDB是指你要访问的数据库名,你可以在MySQL数据库中建一个库,里面有表,然后写成你建的库名就可以了。?问号后面是带的参数,指明连接这个数据库时提供的用户名和密码,还有用什么编码方式
    6、Connection是代表一个数据库连接的类,要操作数据库,首先要获得一个写这个数据库的连接,获得方法就是Connection conn=DriverManager.getConnection(url);conn就是你得到的连接对象,对数据库的操作都通过他来完成,DriverManager是管理数据库驱动的,每加入一个驱动,都会在DriverManager里登记,当你想取得连接时找DriverManager要就行了,把url给它,它就给你一个连接。
    好,就这些,你先把连接建好吧,后面的操作都要用到conn,这个很重要,有不明白的,我们再交流吧。这段代码不用太在意,能理解最好,把这段代码写在一个JDBCUtil类里,接供一个静态的getConnection()方法,在程序里只要拿到conn就行了,把精力放在对数据库的操作方法上,别死抠这段代码
      

  4.   

    import java.sql.*;public class SqlConnection
    {
    public static void main(String[] args)
    {
    String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=Northwind"; 
    String userName = "sa"; 
    String userPwd = "12345"; //sa密码,这里假定12345
    Connection connect;
    Statement statement;
    ResultSet result;
    try
    {
    Class.forName(driverName); 
    connect = DriverManager.getConnection(dbURL, userName, userPwd); 
    statement = connect.createStatement();
    System.out.println("连接成功!");
    }
    catch(Exception e) 

    System.out.println("连接失败");
    e.printStackTrace(); 
    }
    }
    }若失败很可能是sql Server 2000没打补丁,打上sp4即可
      

  5.   

    回9楼的 ,我运行你的程序可出现下内容,是什么意思,怎么解决!连接失败
    java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
            at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Class.java:164)
            at SqlConnection.main(SqlConnection.java:16)
    Press any key to continue...
      

  6.   

    还有出现这样的问题是什么意思:连接失败
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis
    hing 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 Sou
    rce)
            at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown S
    ource)
            at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
            at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
            at java.sql.DriverManager.getConnection(DriverManager.java:525)
            at java.sql.DriverManager.getConnection(DriverManager.java:171)
            at SqlConnection.main(SqlConnection.java:17)
    Press any key to continue...
      

  7.   

    java.lang.ClassNotFoundException:   com.microsoft.jdbc.sqlserver.SQLServerDriver 类没有找到异常,你应该把SQL Server的JDBC驱动加入到类路径(CLASSPATH)中。
      

  8.   

    不是把驱动程序lib里的那三个文件复制到JDK的jre里面的文件夹下就行了,怎么会找不到啊?、??????
      

  9.   

    我把SQL Server的JDBC驱动的三个文件加入到类路径(CLASSPATH)中可还是出现下面异常:源代码为
    import   java.sql.*; public   class   SqlConnection 

    public   static   void   main(String[]   args) 

    String   driverName   =   "com.microsoft.jdbc.sqlserver.SQLServerDriver"; 
    String   dbURL   =   "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=hai";   
    String   userName   =   "sa";   
    String   userPwd   =   "";   //sa密码,这里假定12345 
    Connection   connect; 
    Statement   statement; 
    ResultSet   result; 
    try 

    Class.forName(driverName);   
    connect   =   DriverManager.getConnection(dbURL,   userName,   userPwd);   
    statement   =   connect.createStatement(); 
    System.out.println( "连接成功! "); 

    catch(Exception   e)   
    {   
    System.out.println( "连接失败 "); 
    e.printStackTrace();   


    } 输出为:
    连接失败
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis
    hing 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 Sou
    rce)
            at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown S
    ource)
            at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
            at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
            at java.sql.DriverManager.getConnection(DriverManager.java:525)
            at java.sql.DriverManager.getConnection(DriverManager.java:171)
            at SqlConnection.main(SqlConnection.java:17)
    Press any key to continue...
      

  10.   

    sql Server 2000没打补丁,打上sp4即可
      

  11.   

    急!急!急!我下载了一个sp4(SQL2000.AS-KB884525-SP4-x86-CHS.EXE)可安装时出现安装service之前必须安装analysis services 2000 是什么意思?analysis services 2000 在那里下载?
    我已经安装了sql 2000了!
      

  12.   

    我最近也是遇到这个问题,跟你一样用sql2000,连了整天没连上
    下了并安装了个sp4补丁就搞定了,估计就这问题
    不过我装的时候很顺利,没出现楼主说的问题
    到讯雷上下个看看吧,我就是哪儿下一个的............
      

  13.   

    我安装了sp4可运行下面的程序还是有问题啊!!!!急!!!!!高手帮忙啊!!!!
    import java.sql.*; public class SqlConnection 

    public static void main(String[]   args) 

    String   driverName ="com.microsoft.jdbc.sqlserver.SQLServerDriver"; 
    String   dbURL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind";   
    String   userName ="sa";   
    String   userPwd ="";   //sa密码,这里假定12345 
    Connection  connect; 
    Statement   statement; 
    ResultSet   result; 
    try 

    Class.forName(driverName);   
    connect = DriverManager.getConnection(dbURL,userName,userPwd);   
    statement =connect.createStatement(); 
    System.out.println( "连接成功! "); 

    catch(Exception  e)   
    {   
    System.out.println( "连接失败 "); 
    e.printStackTrace();   


    } 结果显示为:连接失败
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis
    hing 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 Sou
    rce)
            at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown S
    ource)
            at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
            at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
            at java.sql.DriverManager.getConnection(DriverManager.java:525)
            at java.sql.DriverManager.getConnection(DriverManager.java:171)
            at SqlConnection.main(SqlConnection.java:17)
    Press any key to continue...
      

  14.   

        JDBC是一种可用于执行SQL语句的JAVA API,它由一些JAVA类和接口组成。它所定义的接口主要包含在java.sql和javax.sql这两个包中,其中大部分是接口,并没有实现具体的连接与操作数据库的功能;按照JDBC的体系结构设计,具体的功能实现由特定的JDBC驱动器提供。
        在程序中显式使用JDBC驱动器主要就是在建立连接这个步骤,在建立连接之前需要加载驱动器类,一是建立了连接,用户表面上就只是使用JDBC提供的接口进行所有的数据库操作了。虽然其内部仍在使用JDBC驱动器提供的服务完成这些操作的,但这对于用户来说是不可见的。
        使用JDBC操作数据库相对于ADO.NET操作数据库要简单的多,因为其中提供的类和方法都较少,不是直接通过ODBC进行数据库操作的。
        JDBC API:JDBC是个“低级”接口,即它用于直接调用SQL命令。在这方面它的功能极佳,并比其他接口易于使用,同时也被设计为一种基本接口和工具。高级接口是“对用户友好”的接口,它使用一种易于理解和方便的API,这种API在幕后被转换成诸如JDBC这样的低级接口。
      

  15.   

    1.请确认sp4补丁已经打上,要执行补丁包里的setup.bat,然后在查询分析器里执行select serverproperty('productlevel'),看是否显示sp4.
    2.看1433端口号是否被防火墙关闭,如果关闭再添加上.
      

  16.   

    我估计是你的驱动包没找到,sqlserver有点麻烦,还要打补丁
      

  17.   

    郁闷!!!!!!!!按照各位高手的指点还是不行,我就把关于SQL的安装程序全部删了,打算重新安装,
    但是安装就提示::
    以前的某个安装程序已经在本计算机上安装了挂起文件,请重新启动计算机我重新启动了,可还是出现了上面的情况,重启了几次还是一样!!该怎么解决啊,各位帮帮忙,我会给帖子加分的,麻烦各位了
      

  18.   

    http://zhidao.baidu.com/question/24517871.html
      

  19.   

    把注册表里有关sqlserver的信息删了就OK了。