我想利用jsp连接db2数据库,并查出其中一张表中的数据,但是查不出来,而且抛出一个异常。真不知道错在哪里了。
异常内容如下:用户名:db2admin 密码:123456COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver][DB2/NT] SQL0104N 在 "lect * from STUDENT." 后面找到异常标记 "'STU'"。预期标记可能包括:"<identifier>"。 SQLSTATE=42601
at COM.ibm.db2.jdbc.app.SQLExceptionGenerator.throw_SQLException(SQLExceptionGenerator.java:275)
at COM.ibm.db2.jdbc.app.SQLExceptionGenerator.throw_SQLException(SQLExceptionGenerator.java:217)
at COM.ibm.db2.jdbc.app.SQLExceptionGenerator.check_return_code(SQLExceptionGenerator.java:449)
at COM.ibm.db2.jdbc.app.DB2Statement.execute2(DB2Statement.java:869)
at COM.ibm.db2.jdbc.app.DB2Statement.executeQuery(DB2Statement.java:604)
at org.apache.jsp.conn_jsp._jspService(conn_jsp.java:97)
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:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
代码内容如下:<%@page import="java.sql.*" import="java.util.*" import="java.io.*"
contentType="text/html; charset=gb2312"%>
<html>
<head>
<title>使用Db2数据库</title>
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
</head>
<body>
<p align="center">
<u><font size="5" face="华文新魏">使用JSP连接到Db2数据库</font>
</u>
</p>
<%!
String host="127.0.0.1:50000"; //数据库主机
String database="STUDENT"; //数据库名
String user="db2admin"; //用户名
String pass="123456"; //口令
%>
<% //数据库连接对象
//语句对象
try{
try{
//登记JDBC驱动对象
//下面的二中方法均可
//DriverManager.registerDriver (new COM.ibm.db2.jdbc.net.DB2Driver()); //db2
Class.forName("COM.ibm.db2.jdbc.app.DB2Driver").newInstance(); //db2
}
catch (ClassNotFoundException e)
{ out.print (e);
}
//连接数据库
System.out.print(" 用户名:"+user);
System.out.print(" 密码:"+pass);
java.sql.Connection sqlConn= java.sql.DriverManager.getConnection ("jdbc:db2:STUDENT","db2admin","123456");//创建语句对象
java.sql.Statement sqlStmt=sqlConn.createStatement();
String sql="select * from STUDENT.'STU'";
java.sql.ResultSet sqlrs=sqlStmt.executeQuery(sql);
while(sqlrs.next()){
sqlrs.getString(1);
System.out.print ("连接数据库成功!");
}
%>
</body>
<%
//关闭结果集对象
sqlrs.close();
//关闭语句对象
sqlStmt.close ();
//关闭数据库连接
sqlConn.close();
}catch (SQLException e)
{ out.print ("连接数据库失败!");
out.print (e);
e.printStackTrace();
}
%>
------解决方案--------------------------------------------------------
STUDENT.'STU'
改成
STUDENT.STU
------解决方案--------------------------------------------------------
STUDENT.STU" 是这个STUDENT模式的 吗? 你这是数据库名还是模式?
你的连接字符串对 吗?ava.sql.Connection sqlConn= java.sql.DriverManager.getConnection ("jdbc:db2:STUDENT","db2admin","123456");//创建语句对象
如应该是
jdbc:db2://10.74.196.4:60000/db