初学者问题,Class.forName()失败。 将mysql-connector-java-3.1.7-bin.jar所在的目录名字改短一点放到classpath中去,或者直接把它放到jre\lib\ext下. 相关的帖子太多了,你自己去搜搜吧! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把mysql-connector-java-3.1.7-bin.jar放在 jdk安装目录\jre\lib\ext 你的Program Files中间有一个空格,所以失败 各位老大,我又试了试,在命令行运行我的程序是正确的,我所说的情况发生在我用eclipse运行这个程序的时候,我已经在【window】--->【Preference】--->【Java】--->【Classpath variables】中加入了一个classpath为:C:\Program Files\MySQL\mysql-connector-java-3.1.7\mysql-connector-java-3.1.7-bin.jar(路径和我在系统中的环境变量设置处设置的一模一样),还加上了Tools.jar和dt.jar,可是就是不行啊。 1.应该把mssqlserver的jdbc驱动包(3个)复制到..\JBuilder2005\lib\目录下,在Configure Libraries配置过程中应该选择..\JBuilder2005\lib\目录的包来添加驱动程序(必需这样作)。 配置完,重启JB。 2.配置mssqlserver驱动 JB-->Tools-->Database Pilot-->View-->Option-->Drivers-->Add(添加com.microsoft.jdbc.sqlserver.SQLServerDriver)3.连接数据库 JB-->Tools-->Database Pilot-->File-->New-->...///////////////////////////////////////////////////////JBuilder中连接数据库(Oracle、mysql、mssqlserver...),使用的是jdbc,不需要安装任何软件,只需要数据库产商提供的jdbc数据库驱动包。Oracle数据库驱动包 classes12.jar或classes11.jar;mysql数据库驱动包 mysql-connector-java-3.1.0-alpha-bin.jar或其它版本的...把驱动包添加到Project中的RequiredLibraries中就可以了。(JB-->Project-->Project properties-->Path-->RequiredLibraries-->Add-->new-->...)Oracle数据库驱动包 classes12.jar或classes11.jar在\ora90\jdbc\lib目录下将这两个文件考到jb目录的lib下在运行上面的的就ok了驱动程序是: String dbDriver="oracle.jdbc.driver.OracleDriver"; String conStr="jdbc:oracle:thin:@localhost:1521:服务器用户名"; Connection con=null; ResultSet rs=null; String str=null; public conn(){ try{ Class.forName(dbDriver); con=DriverManager.getConnection(conStr,数据库名,登陆密码); }catch(ClassNotFoundException e){ System.err.println(e.getMessage()); } } public class test { //windows下,且系统较小时,使用access是一个比较好的选择,这里提供一种不使用数据源的JAVA直接连接数据库方法。 public static void main(String []args){ String phone_no,city_name; Connection conDatabase; Statement stmt; ResultSet rs; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conDatabase=DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=E:\\Computer Language\\Src.JAVA\\test\\classes\\test\\phone_no.mdb"); //ACCESS文件名"E:\\Computer Language\\Src.JAVA\\test\\classes\\test\\phone_no.mdb" stmt=conDatabase.createStatement(); rs=stmt.executeQuery("select phone_no,city_name from tb_phone_no where city_code='0414'"); //ResultSet executeQuery(String sql) throws SQLException 执行一个SQL语句,返回一个ResultSet类型结果 //int executeUpdate(String sql) throws SQLException 执行INSERT、UPDATE、DELETE语句,返回操作成功的记录数量 //boolean execute(String sql) throws SQLException 执行一个可能会返回多个结果的SQL语句(?) while(rs.next()){ //指针的初始位置是指向第一行之前,所以第一次调用next()方法时,指针才指向结果集中的第一行 phone_no=rs.getString(1);//取第一列值,即:phone_no列 city_name=rs.getString(2);//取第二列值,即:city_name列 System.out.println(phone_no + " " +city_name); } rs.close();//关闭结果集 conDatabase.close();//断开连接 } catch(Exception e){ System.out.println(e.toString()); } }//main }//test @congbailing_914(静下心来学习《java编程思想》,打好基础!不玩了~!) :我用的是eclipse,不是JBuilder。@DF_4B(机车乘务员):我用的是mysql数据库,使用mysql-connector-java-3.1.7-bin.jar驱动。 这样的聊天工具 FileInputStream 问题 初学Java,问了有关Package的问题 swing的JList组件问题 如何设置TextField内容长度最大限制 EditPlus的一个菜鸟问题! jTextPane问题 100分!急 如何创建一个模态的对话框? 天呀……谁能救救我呀……我学了一个的JAVA,既然一点反映都没有,我真的不知道怎么去学! 请教多线程中this.getName()和Thread.currentThread().getName()返回名字不一样的问题 JBuilderX里代码编辑区中光标位置错位,该如何解决? 最后一分了
把mysql-connector-java-3.1.7-bin.jar放在 jdk安装目录\jre\lib\ext
配置完,重启JB。
2.配置mssqlserver驱动
JB-->Tools-->Database Pilot-->View-->Option-->Drivers-->Add(添加com.microsoft.jdbc.sqlserver.SQLServerDriver)
3.连接数据库
JB-->Tools-->Database Pilot-->File-->New-->...///////////////////////////////////////////////////////
JBuilder中连接数据库(Oracle、mysql、mssqlserver...),使用的是jdbc,不需要安装任何软件,只需要数据库产商提供的
jdbc数据库驱动包。
Oracle数据库驱动包 classes12.jar或classes11.jar;
mysql数据库驱动包 mysql-connector-java-3.1.0-alpha-bin.jar或其它版本的
...把驱动包添加到Project中的RequiredLibraries中就可以了。
(JB-->Project-->Project properties-->Path-->RequiredLibraries-->Add-->new-->...)
Oracle数据库驱动包 classes12.jar或classes11.jar
在\ora90\jdbc\lib目录下
将这两个文件考到jb目录的lib下
在运行上面的的就ok了驱动程序是:
String dbDriver="oracle.jdbc.driver.OracleDriver";
String conStr="jdbc:oracle:thin:@localhost:1521:服务器用户名";
Connection con=null;
ResultSet rs=null;
String str=null; public conn(){
try{
Class.forName(dbDriver);
con=DriverManager.getConnection(conStr,数据库名,登陆密码);
}catch(ClassNotFoundException e){
System.err.println(e.getMessage());
}
}
//windows下,且系统较小时,使用access是一个比较好的选择,这里提供一种不使用数据源的JAVA直接连接数据库方法。
public static void main(String []args){
String phone_no,city_name;
Connection conDatabase;
Statement stmt;
ResultSet rs; try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conDatabase=DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=E:\\Computer Language\\Src.JAVA\\test\\classes\\test\\phone_no.mdb");
//ACCESS文件名"E:\\Computer Language\\Src.JAVA\\test\\classes\\test\\phone_no.mdb"
stmt=conDatabase.createStatement();
rs=stmt.executeQuery("select phone_no,city_name from tb_phone_no where city_code='0414'");
//ResultSet executeQuery(String sql) throws SQLException 执行一个SQL语句,返回一个ResultSet类型结果
//int executeUpdate(String sql) throws SQLException 执行INSERT、UPDATE、DELETE语句,返回操作成功的记录数量
//boolean execute(String sql) throws SQLException 执行一个可能会返回多个结果的SQL语句(?)
while(rs.next()){
//指针的初始位置是指向第一行之前,所以第一次调用next()方法时,指针才指向结果集中的第一行
phone_no=rs.getString(1);//取第一列值,即:phone_no列
city_name=rs.getString(2);//取第二列值,即:city_name列
System.out.println(phone_no + " " +city_name);
}
rs.close();//关闭结果集
conDatabase.close();//断开连接
}
catch(Exception e){
System.out.println(e.toString());
}
}//main
}//test
我用的是eclipse,不是JBuilder。@DF_4B(机车乘务员):
我用的是mysql数据库,使用mysql-connector-java-3.1.7-bin.jar驱动。