我想在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();
}
%>
------解决方案--------------------------------------------------------
jar没放对位置
------解决方案--------------------------------------------------------
确认下你的MYSQL数据库版本,在找个合适的mysql-connection-java.jar,放在web-inf/lib中
比如 mysql5的数据库驱动包mysql-connection-java-5.1.13-bin.jar
------解决方案--------------------------------------------------------
我把楼主的程序做了三个修改:
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);如果把名字去掉,就会产生空指向异常……
------解决方案--------------------------------------------------------
第三个修改,楼主应该晓得吧……就是用户名和密码……
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
为何没有指明用的是那个库呢
------解决方案--------------------------------------------------------
sql的类库没加