1、2006-10-24 20:00:04 org.apache.catalina.core.StandardContext listenerStart
严重: Skipped installing application listeners due to previous error(s)
2006-10-24 20:00:04 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
解决:
将jdk1.4换成jdk1.5就成。
--------------------------------------------------------------------------------------
2、 严重: Begin event threw exception
java.lang.reflect.InvocationTargetException
at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
……
Caused by: java.lang.UnsupportedClassVersionError:
com/jc/test/action/TestListForm
(Unsupported major.minor version 49.0)
解决:
这是因为jdk版本问题,可能是本项目的jdk版本问题,也有可能是别的项目的版本问题。
所以要看一下路径
com/jc/test/action/TestListForm ,找到项目修改版本:
(project-->properties-->Java compiler 把jdk compliance level修改一下)
或者直接把tomcat下的发布文件删除:
D:\Tomcat 5.0\work\Catalina\localhost 下的相应文件
D:\Tomcat 5.0\webapps 下的相应文件。
------------------------------------------------------------------------------------------
3、tomcat报错:
[JDBCExceptionReporter] ERROR Cannot create PoolableConnectionFactory ([Microsoft][SQLServer 2000 Driver
for JDBC]Error establishing socket.)
或用eclipse的DB Browser连接数据库时提示Error establishing socket错误
原因及解决方案:xp 系统上无法安装sql server 企业版,只可以安装个人版,本来个人版也是可以的,但是由于微软公司关于一个安全性问题的考虑,让个人版的sql server 不监听1433端口.因此通过驱动连接数据库的时候会报Error establishing socket错误,所以如果通过jdbc连接sql server 就必须给数据库打补丁,(sp3,sp4都可以)我用的是chs_sql2kasp3.exe,执行这个exe文件后,找到安装的文件夹,再执行里面的setup.bat,这样你的数据库就打上了补丁了,并且1433端口就监听了。
--------------------------------------------------------------------------------------------------
4、tomcat报错:
[转]java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 ‘xxx’ 无效
根本原因:
访问数据库的用户有登录权限,但无操作表的权限
解决办法:
1. 在[企业控制台]窗口–[树]子窗口–[安全性]子树–[登录]项里将你使用的登陆用户的默认数据库设为你所使用的数据库。
2. 在[企业控制台]窗口–[树]子窗口–[安全性]子树–[登录]项里新增一个登录用户(在其中选择SQL Server 身份验证、服务器角色和要访问的数据库),以后便可用些新增用户访问你勾选的数据库了。
大家在用java连接ms sql时可能会这样的问题
原因是sa用户为系统用户,它虽然能够登陆数据库,但是数据库里边的权限都是dbo的,所以,我们现在为这个数据库重新建立一个用户.
当然,这个情况只发生在java里边. .net是不会这样的.
只要新建立一个用户,再在权限那分配权限做好就行了.
我的测试代码:
<%@ page language="java" contentType="text/html; charset=gb2312" %>
<%@ page import="java.lang.*, java.io.*, java.sql.*, java.util.*" %>
<html>
<body>
<%
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sample";
String userName = "sa";
String userPwd = "sa";
Connection dbConn;
try {
Class.forName(driverName).newInstance();
Connection conn = DriverManager.getConnection(dbURL, userName, userPwd);
Statement stmt = conn.createStatement();
String sql="select * from userInformation";
ResultSet rs=stmt.executeQuery (sql);
while(rs.next())
{
out.println(rs.getString(1));
out.println(rs.getString(2));
}
out.println("Connection Successful!");
}
catch (Exception e) {
e.printStackTrace();
}
%>
</body>
</html>
SQLServer2000的表格:
运行结果:
1 用户1 2 用户2 3 用户3 4 用户4 5 用户5 Connection Successful!
-------------------------------------------------------------------------------------------------------------------------
5、tomcat报错:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Connection reset by peer: socket write error
刚改动sqlServer配置,重启一下tomcat就OK了。
--------------------------------------------------------------------------------------------------------------------------
6、tomcat报错:
is not bound in this Context
数据源名错了。
-------------------------------------------------------------------------------------------------------------------------