请教一个jdbc问题,实在无法理解 com.mysql.jdbc.NonRegisteringDriver.connect 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 请问是什么意思?我还是不大明白是我没有注册驱动程序吗?但是我也有注册,以下是我的程序:Connection con;Class.forName("com.mysql.jdbc.Driver");DriverManager.registerDriver(new com.mysql.jdbc.Driver());String dbUrl = "jdbc:mysql://localhost:3306/BookDB?useUnicode=true&characterEncoding=GB2312";String dbUser="dbuser";String dbPwd="1234";con = java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd); Connection con;Class.forName("com.mysql.jdbc.Driver");//DriverManager.registerDriver(new com.mysql.jdbc.Driver());这句可以不用String dbUrl = "jdbc:mysql://localhost:3306/BookDB?useUnicode=true&characterEncoding=GB2312";String dbUser="dbuser";String dbPwd="1234";con = java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd);这样应该没错了,看看你的数据库和数据库驱动配置的对不对,如果都对了就肯定没有问题了!对了还有就是你的驱动名字和url对不对呵呵! 好好看看! 把你的 url 改成;:jdbc:mysql://localhost:3306/BookDB?useUnicode=true&characterEncoding=GB2312注意多了个 amp; 谢谢wmzsl和viano的回复to wmzsl数据库和数据库驱动配置都配置好了,都已经检查很多遍了to viano按照你的方法试过了,还是报同样的错误晕了,我的老师和学长都没遇到过这样的问题 连接Mysql数据库的driver好象还有一个,你换那个试一试好象不是你程序的错误 mysql的驱动我也换了最新的版本还是不行真晕~~~~~各位分析一下还可能是哪方面的问题呢? Class.forName("org.gjt.mm.mysql.Driver"); 同意楼上的意见,我想是应该是Class.forName("org.gjt.mm.mysql.Driver"); dbUrl = "jdbc:mysql://localhost:3306/BookDB?useUnicode=true&characterEncoding=GB2312";錯誤應該在這裡,trydbUrl = "jdbc:mysql://localhost:3306/BookDB"/我曾經遇到過類似錯誤! Class.forName("com.mysql.jdbc.Driver");DriverManager.registerDriver(new com.mysql.jdbc.Driver());是一样的不用写2个只要写一个就可以了 对阿不如先把这个?useUnicode=true&characterEncoding=GB2312";去掉看看 Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection conn = (Connection) DriverManager.getConnection(dbUrl,dbUser,dbPwd);DriverManager.getConnection(dbUrl,dbUser,dbPwd)返回的是java.sql.Connection需要强制转化成com.mysql.jdbc.Connection String dbUrl = "jdbc:mysql://localhost:3306/BookDB?//?seUnicode=true&characterEncoding=GB2312";好像"?"有问题,你是?,中文的 <pre>往mysql里插入Clob字段【示例】import java.io.*;import java.sql.*; public class DBTest { public static void main(String[] args) { String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/upload?useUnicode=true&characterEncoding=Big5"; String user = "caterpillar"; String password = "123456"; try { Class.forName(driver); Connection conn = DriverManager.getConnection(url, user, password); File file = new File("./logo_phpbb.jpg"); int length = (int) file.length(); InputStream fin = new FileInputStream(file); PreparedStatement pstmt = conn.prepareStatement( "INSERT INTO files VALUES(?, ?)"); pstmt.setString(1, "Logo"); pstmt.setBinaryStream (2, fin, length); pstmt.executeUpdate(); pstmt.clearParameters(); pstmt.close(); fin.close(); Statement stmt = conn.createStatement(); ResultSet result = stmt.executeQuery("SELECT * FROM files"); result.next(); String description = result.getString(1); Blob blob = result.getBlob(2); System.out.println("描述:" + description); FileOutputStream fout = new FileOutputStream("./logo_phpbb_2.jpg"); fout.write(blob.getBytes(1, (int)blob.length())); fout.flush(); fout.close(); stmt.close(); conn.close(); } catch(ClassNotFoundException e) { System.out.println("找不到驱动"); e.printStackTrace(); } catch(SQLException e) { e.printStackTrace(); } catch(IOException e) { e.printStackTrace(); } }}</pre> 楼上的orchisliu兄弟不大懂你的意思啊能不能说得详细一点呢?谢谢 java list数据结构的怪现象 請高手們指點。感激不盡,在線等 大家帮忙提供几个题可以考查答题人对struts,spring,ibatis的使用情况 两个系统集成在一起,session失效跳转的问题 SSH问题 ant 如何使用javac -source 1.4 字符串替换的问题 有人用jrun吗???交个朋友 用EJB一定不能使用java.io操作吗? struts常见的配置问题,我就是弄不出来 请问,有没有方法能够取到数据库不同数据类型的值,然后赋给一个字符串. 送分!!请教Struts高手!!!!!!!!
我还是不大明白
是我没有注册驱动程序吗?
但是我也有注册,以下是我的程序:
Connection con;
Class.forName("com.mysql.jdbc.Driver");
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
String dbUrl = "jdbc:mysql://localhost:3306/BookDB?useUnicode=true&characterEncoding=GB2312";
String dbUser="dbuser";
String dbPwd="1234";
con = java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd);
Class.forName("com.mysql.jdbc.Driver");
//DriverManager.registerDriver(new com.mysql.jdbc.Driver());这句可以不用
String dbUrl = "jdbc:mysql://localhost:3306/BookDB?useUnicode=true&characterEncoding=GB2312";
String dbUser="dbuser";
String dbPwd="1234";
con = java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd);这样应该没错了,看看你的数据库和数据库驱动配置的对不对,如果都对了就肯定没有问题了!
对了还有就是你的驱动名字和url对不对呵呵! 好好看看!
数据库和数据库驱动配置都配置好了,都已经检查很多遍了to viano
按照你的方法试过了,还是报同样的错误晕了,我的老师和学长都没遇到过这样的问题
好象不是你程序的错误
还是不行
真晕~~~~~
各位分析一下还可能是哪方面的问题呢?
錯誤應該在這裡,try
dbUrl = "jdbc:mysql://localhost:3306/BookDB"/
我曾經遇到過類似錯誤!
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
是一样的
不用写2个
只要写一个就可以了
不如先把这个?useUnicode=true&characterEncoding=GB2312";去掉看看
好像"?"有问题,你是?,中文的
import java.sql.*;
public class DBTest {
public static void main(String[] args) {
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/upload?useUnicode=true&characterEncoding=Big5";
String user = "caterpillar";
String password = "123456";
try {
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, user, password);
File file = new File("./logo_phpbb.jpg");
int length = (int) file.length();
InputStream fin = new FileInputStream(file);
PreparedStatement pstmt = conn.prepareStatement(
"INSERT INTO files VALUES(?, ?)");
pstmt.setString(1, "Logo");
pstmt.setBinaryStream (2, fin, length);
pstmt.executeUpdate();
pstmt.clearParameters();
pstmt.close();
fin.close();
Statement stmt = conn.createStatement();
ResultSet result = stmt.executeQuery("SELECT * FROM files");
result.next();
String description = result.getString(1);
Blob blob = result.getBlob(2);
System.out.println("描述:" + description);
FileOutputStream fout = new FileOutputStream("./logo_phpbb_2.jpg");
fout.write(blob.getBytes(1, (int)blob.length()));
fout.flush();
fout.close();
stmt.close();
conn.close();
}
catch(ClassNotFoundException e) {
System.out.println("找不到驱动");
e.printStackTrace();
}
catch(SQLException e) {
e.printStackTrace();
}
catch(IOException e) {
e.printStackTrace();
}
}
}
</pre>
不大懂你的意思啊
能不能说得详细一点呢?
谢谢