java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306

一只独孤的程序猿 2011-05-15 10:07:25
我想在jsp中链接上数据库直接可以执行创建数据库的语句,原来做的只是在链接到已经创建好的数据库,然后在数据库里面进行诸如增加删除或者是穿件表的操作。现在我想直接用jsp语句创建一个数据库,写了一个jsp,高手们帮帮忙,看看什么问题
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<%!
String password = null;
String username = null;
String DBDRIVER = "org.gjt.mm.mysql.Driver";
String DBURL = "jdbc:mysql://localhost:3306";
String DBUSER = username;
String DBPASSWORD = password;
Connection conn = null;
PreparedStatement pstmt = null;
String name = null;
%>
<%
username = request.getParameter("sqlname");
password = request.getParameter("sqlpass");
%>
<%
try
{
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
String sql = "create database" + username;
pstmt= conn.prepareStatement(sql);
pstmt.executeUpdate();
}
catch(Exception e){
out.println(e);
} finally{
if(pstmt!=null) pstmt.close();
if(conn!=null) conn.close();
}

%>
...全文
2262 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyswords 2012-09-09
  • 打赏
  • 举报
回复
你数据库名称都没加,连什么连
青干剑客 2012-07-03
  • 打赏
  • 举报
回复
还有可能是你的包导重了,即同一类包你导了两个进去
  • 打赏
  • 举报
回复
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<%!
String DBDRIVER = "org.gjt.mm.mysql.Driver";
String DBURL = "jdbc:mysql://localhost:3306/";
String DBUSER = "root";
String DBPASSWORD ="root";
Connection conn = null;
PreparedStatement pstmt = null;
%>
<%
try
{
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
String sql = "create database woshini" ;
pstmt= conn.prepareStatement(sql);
pstmt.executeUpdate();
}
catch(Exception e){
out.println(e);
} finally{
if(pstmt!=null) pstmt.close();
if(conn!=null) conn.close();
}

%>
这样写完全可以实现数据库的创建
Isnotsuitable 2011-05-16
  • 打赏
  • 举报
回复
sql的类库没加
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 oxcow 的回复:]
确认下你的MYSQL数据库版本,在找个合适的mysql-connection-java.jar,放在web-inf/lib中

比如 mysql5的数据库驱动包mysql-connection-java-5.1.13-bin.jar
[/Quote]
哥。把mysql的包不是应该放在D:\Tomcat 6.0\lib这个目录下面吗
  • 打赏
  • 举报
回复
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306
执行的时候报的是这个错误
  • 打赏
  • 举报
回复
用户名和密码是在另一个页面的表单上传递过来的,简单的可以改成这样
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<%!
String DBDRIVER = "org.gjt.mm.mysql.Driver";
String DBURL = "jdbc:mysql://localhost:3306";
String DBUSER = "root";
String DBPASSWORD ="root";
Connection conn = null;
PreparedStatement pstmt = null;
%>
<%
try
{
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
String sql = "create database user" ;
pstmt= conn.prepareStatement(sql);
pstmt.executeUpdate();
}
catch(Exception e){
out.println(e);
} finally{
if(pstmt!=null) pstmt.close();
if(conn!=null) conn.close();
}

%>
执行增删语句的时候是可以连接上数据库的,我只是想在jsp中实现创建数据库,哪里的错误还请高手们帮忙
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 isnotsuitable 的回复:]
sql的类库没加
[/Quote]
类库,哥可以说具体一点吗?我在String DBURL = "jdbc:mysql://localhost:3306";
后面加上数据库的名字的时候是可以实现对数据库的操作的,
oxcow 2011-05-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 qiushibaiyi 的回复:]

我把楼主的程序做了三个修改:
1:
把 String DBURL = "jdbc:mysql://localhost:3306";
改为 String DBURL = "jdbc:mysql://localhost/mydata?";

2:把String sql = "create database" + username;
改为:String sql = "show……
[/Quote]

你没抛出No suitable driver found for jdbc:mysql://localhost:3306 的错误,证明你的数据库连接驱动没问题。数据库已经连接上了。而楼主的不一样。

oxcow 2011-05-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 qiushibaiyi 的回复:]
第二,jsp 只能使用、修改、或者查询数据库。并不能创建数据库。
[/Quote]

这个跟JSP没什么关系吧。

只要获取数据库连接,能不能执行SQL要看是否连接的用户在数据库上用权限。

这里只所以无法进行create database,根据楼主给的错误信息是,数据库连接都是错误的。因此这句话还没执行呢。

你自己改动过的程序能连接数据库,但是无法create database。这个你的看下你本地的数据库中为你连接的该用户是否有create database的权限。



步入狼途 2011-05-15
  • 打赏
  • 举报
回复
第三个修改,楼主应该晓得吧……就是用户名和密码……
步入狼途 2011-05-15
  • 打赏
  • 举报
回复
我把楼主的程序做了三个修改:
1:
把 String DBURL = "jdbc:mysql://localhost:3306";
改为 String DBURL = "jdbc:mysql://localhost/mydata?";

2:把String sql = "create database" + username;
改为:String sql = "show tables";
程序运行,并没有错误。

我也是初学者,我的结论是这样的:

第一,楼主的 DBURL 错误。
第二,jsp 只能使用、修改、或者查询数据库。并不能创建数据库。
所以指定 DBURL 的时候,需要在最后加上 一个数据库的名字 (例如我这里用的是 mydata);如果把名字去掉,就会产生空指向异常……
oxcow 2011-05-15
  • 打赏
  • 举报
回复
确认下你的MYSQL数据库版本,在找个合适的mysql-connection-java.jar,放在web-inf/lib中

比如 mysql5的数据库驱动包mysql-connection-java-5.1.13-bin.jar
jumpheightway 2011-05-15
  • 打赏
  • 举报
回复
为何没有指明用的是那个库呢
devin_jia 2011-05-15
  • 打赏
  • 举报
回复
jar没放对位置

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧