java.sql.SQLException: [Microsoft][ODBC Microsoft Access 驱动程序] 参数不足,期待是 1。

飞歌 2010-09-18 02:38:57
java.sql.SQLException: [Microsoft][ODBC Microsoft Access 驱动程序] 参数不足,期待是 1。
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(Unknown Source)
at org.apache.jsp.checkReg_jsp._jspService(checkReg_jsp.java:102)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
...全文
455 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞歌 2010-10-13
  • 打赏
  • 举报
回复
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="java.sql.*" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'checkReg.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body>

<%


String name = request.getParameter("uname"); //用来保存姓名的变量
String password = request.getParameter("upwd"); //密码
String repassword = request.getParameter("reupwd"); //密码
String sex = request.getParameter("sex"); //性别
String dat = request.getParameter("udate"); //注册日期
String email = request.getParameter("uemail"); //邮箱地址
String level = request.getParameter("ulevel"); //用户级别
String logourl = request.getParameter("ulogo"); //LOGO路径

Connection con = null; //声明连接对象
Statement stmt = null; //声明语句对象
ResultSet rs = null; //声明结果集对象
try{
String url; //连接字符串
url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="
+ application.getRealPath("/") + "db\\bbs.mdb";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载驱动程序
con = DriverManager.getConnection(url); //获取连接
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); //创建语句对象
String sql = "select * from users where uname ='" + name + "'"; //构建sql语句
String sql2 = "insert into users(uname, upwd, reupwd,usex,udate,uemail,ulevel,ulogo) values('"+name+"','"+password+"','"+repassword+"','"+sex+"','"+email+"',default,'"+level+"','"+logourl+"')";
rs = stmt.executeQuery(sql); //执行查询语句,查询结果存入对象rs中
if(rs!=null){
if(rs.next())
{
%>
<script language="JavaScript">
alert("该用户已经被使用,请重新输入!");
window.location.href="register.jsp";
</script>
<%
}
else{

int ps = stmt.executeUpdate(sql2);
if(ps>0){
out.println("添加信息成功!");
}else{
out.println("添加信息失败!");
}
}
}
}catch(Exception e){
e.printStackTrace(System.err);
}finally{
try{
if(rs!=null)
rs.close();
}catch(Exception e){}
try{
if(stmt!=null)
rs.close();
}catch(Exception e){}
try{
if(con!=null)
rs.close();
}catch(Exception e){}
}

%>
</body>
</html>
feixianxxx 2010-09-18
  • 打赏
  • 举报
回复
看看链接字符串的参数齐了么
ACMAIN_CHM 2010-09-18
  • 打赏
  • 举报
回复
你的程序代码是什么?
最近刚好有个项目要连接ACCESS的MDB数据并导入到ORACLE中,使用 Java代码 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String strurl="jdbc:odbc:driver={Microsoft Access Driver(*.mdb)};DBQ=E:\\\\db.mdb"; Connection conn=DriverManager.getConnection(strurl); Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String strurl="jdbc:odbc:driver={Microsoft Access Driver(*.mdb)};DBQ=E:\\\\db.mdb"; Connection conn=DriverManager.getConnection(strurl); 时报了以下的错误 java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序,苦与网上基本上找不到原因只能上外文网找找了 经过GOOGLE后找到一个jstels连接方式http://www.csv-jdbc.com/ 这个网中有比较强大的连接csv\xml\dbf\mdb\engine的驱动,需要的同学可以上这个网上下载 这里提供mdb的连接驱动和使用说明 Installation Add the driver jar files (mdbdriver.jar + required third-party libraries) to your classpath or extract these jars to the directory of your application. Driver Classes Description Classes Driver class (JDBC API v1.0) jstels.jdbc.mdb.MDBDriver2 Data Source class (JDBC API v2.0) jstels.jdbc.mdb.MDBDataSource2 Connection Pool Data Source class (JDBC API v2.0) jstels.jdbc.mdb.MDBConnectionPoolDataSource2 URL Syntax The connection URL is jdbc:jstels:mdb:path_to_mdb_file, where path_to_mdb_fileis: an absolute or relative path to a Microsoft Access database (MDB or ACCDB) file, e.g.: jdbc:jstels:mdb:c:/mdb_directory/test.mdb jdbc:jstels:mdb:mdb_directory/test2.mdb jdbc:jstels:mdb:mdb_directory/access2007.accdb path to a file within the CLASSPATH (read-only), e.g.: jdbc:jstels:mdb:classpath://resources/test.mdb path to a file within a ZIP (JAR) file (read-only), e.g.: jdbc:jstels:mdb:zip://c:/dir/archive.zip/test.mdb path to a file located on a FTP server (syntax: ftp://user:password@hostname[:port]/[dirpath/]mdbfile), e.g.: jdbc:jstels:mdb:ftp://login:password@somesite.com:21/mdb_directory/test.mdb SFTP URL to the SFTP-server directory (syntax: sftp://user:password@hostname[:port]/[dirpath/]mdbfile, also required third-party libraries Commons VFS and JSch for this protocol), e.g.: jdbc:jstels:mdb:sftp://login:password@somesite.com:22/mdb_directory/test.mdb HTTP URL to a file (read-only), e.g.: jdbc:jstels:mdb:http://www.somesite.com/mdb_directory/test.mdb SMB/CIFS URL to a file located on a SMB/CIFS server (e.g.: MS Windows share or Samba server, syntax: smb://[user:password@]hostname/share/[dirpath/]mdbfile): jdbc:jstels:mdb:smb://your_server/your_share/mdb_directory/test.mdb jdbc:jstels:mdb:smb://login:password@your_server/your_share/mdb_directory/test.mdb

56,940

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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