回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...
还有出现这样的问题是什么意思:连接失败 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...
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的话可能要导入包
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就行了,把精力放在对数据库的操作方法上,别死抠这段代码
{
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即可
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...
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...
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...
我已经安装了sql 2000了!
下了并安装了个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...
在程序中显式使用JDBC驱动器主要就是在建立连接这个步骤,在建立连接之前需要加载驱动器类,一是建立了连接,用户表面上就只是使用JDBC提供的接口进行所有的数据库操作了。虽然其内部仍在使用JDBC驱动器提供的服务完成这些操作的,但这对于用户来说是不可见的。
使用JDBC操作数据库相对于ADO.NET操作数据库要简单的多,因为其中提供的类和方法都较少,不是直接通过ODBC进行数据库操作的。
JDBC API:JDBC是个“低级”接口,即它用于直接调用SQL命令。在这方面它的功能极佳,并比其他接口易于使用,同时也被设计为一种基本接口和工具。高级接口是“对用户友好”的接口,它使用一种易于理解和方便的API,这种API在幕后被转换成诸如JDBC这样的低级接口。
2.看1433端口号是否被防火墙关闭,如果关闭再添加上.
但是安装就提示::
以前的某个安装程序已经在本计算机上安装了挂起文件,请重新启动计算机我重新启动了,可还是出现了上面的情况,重启了几次还是一样!!该怎么解决啊,各位帮帮忙,我会给帖子加分的,麻烦各位了