Confluence 6 SQL 异常的问题解决

如果你得到了与下面显示内容类似的信息话,那么你最好考虑修改 Confluence 的日志级别输出更多的信息。如果你考虑通过 Atlassian support 获得帮助,那么这些详细的错误信息能够更好的帮助我们找到问题的原因。

增加日志的级别将会让我们能够对下面的问题进行诊断:


org.springframework.dao.DataIntegrityViolationException: (HibernateTemplate): data integrity violated by SQL ''; nested exception is java.sql.BatchUpdateException: Duplicate entry '1234' for key 1

 at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.translate(SQLStateSQLExceptionTranslator.java:88)

caused by: java.sql.BatchUpdateException: Duplicate entry '1234' for key 1

 at com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:647)

或者


(HibernateTemplate): data integrity violated by SQL ''; nested exception is java.sql.BatchUpdateException: ORA-00001: unique constraint (CONFLUENCE.SYS_C0012345) violated

这个文档对如果在你的系统中增加日志级别,并让日志输出更多详细信息进行了说明。

Changing the logging levels via the Administration Console

从 Confluence 2.7 开始,你可以在你的 Confluence 管理员控制台中调整日志的级别——请阅读 Working with Confluence Logs 页面中的相关内容。下面我们将会告诉你如何直接编辑 log4j 文件。

  1. 打开 confluence/WEB-INF/classes/log4j.properties 然后取消注释下面的行。 ## 行是注释,请保持这行的完整。


    ## log hibernate prepared statements/SQL queries (equivalent to setting 'hibernate.show_sql' to 'true')

    #log4j.logger.net.sf.hibernate.SQL=DEBUG

    ## log hibernate prepared statement parameter values

    #log4j.logger.net.sf.hibernate.type=DEBUG

    如果你不能在你的 log4j.properties 文件中找到上面的内容的话,请在文件的最后添加上这些内容。

  2. 重启 Confluence。
  3. 重新操作你出现错误的的步骤。
  4. 压缩你的日志目录然后添加到你的支持请求工单中。
  5. 如果你使用的是 Oracle 数据库同时你收到了一个 constraint error,请询问你的数据库管理员是哪个一个数据库表和列有约束(例如:CONFLUENCE.SYS_C0012345),获得相关信息后将这些内容添加到你的工单中。
  6. 打开 confluence/WEB-INF/classes/log4j.properties 文件,删除在第一步中添加的上面 4 行(让 Confluence 输出更多的日志信息将会影响 Confluence 的性能,在生产环境中,你应该不输出这些信息)。
相关主题

Enabling Detailed SQL Logging
Working with Confluence Logs
Troubleshooting failed XML site backups

https://www.cwiki.us/display/CONF6ZH/Troubleshooting+SQL+Exceptions

原文地址:http://blog.51cto.com/ossez/2152404

时间: 2024-08-29 07:55:30

Confluence 6 SQL 异常的问题解决的相关文章

[sql异常]SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的

//执行远程数据库表查询 select * from openrowset( 'SQLOLEDB', '192.168.5.547'; 'sa'; '密码',[数据库名称].[dbo].[表名]) 出现异常: 消息 15281,级别 16,状态 1,第 1 行SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭.系统管理员

Confluence 6 SQL Server 问题解决

如果你收到了下面的错误信息,检查你给出的 confluenceuser 用户具有所有需要的数据库权限,当你使用 localhost 进行连接的时候. Could not successfully test your database: : Server connection failure during transaction. Due to underlying exception: 'java.sql.SQLException: Access denied for user 'conflue

PL/SQL 异常处理程序

 异常处理程序 一个好的程序应该能够妥善处理各种错误情况,并尽可能从错误中恢复.ORACLE 提供异常(EXCEPTION)和异常处理(EXCEPTION HANDLER)错误处理 ①有三种类型的异常错误: 1. 提前定义( Predefined )错误 ORACLE提前定义的异常情况大约有24个.对这样的异常情况的处理,无需在程序中定义,由ORACLE自己主动将其引发. 2. 非提前定义( Predefined )错误 即其它标准的ORACLE错误. 对这样的异常情况的处理,须要用户在程序

PL/SQL 异常错误处理

 异常错误处理 一个优秀的程序都应该可以正确处理各种出错情况,并尽可能从错误中恢复.ORACLE 提供异常情况(EXCEPTION)和异常处理(EXCEPTION HANDLER)来实现错误处理 ①有三种类型的异常错误: 1. 提前定义( Predefined )错误 ORACLE提前定义的异常情况大约有24个.对这样的异常情况的处理.无需在程序中定义,由ORACLE自己主动将其引发. 2. 非提前定义( Predefined )错误 即其它标准的ORACLE错误. 对这样的异常情况的处理,

一个奇怪的sql异常

用了很久的一个框架,今天在开发的时候突然抛了一个sql的异常: Cannot create **bean. 开始还以为是sql语句写的有问题,但是sql都是代码生成器自动生成的,一般情况下不会出问题. 再仔细分析了下,是由于采用的dbutil的jar包来存储查询结果的.但是dbutil是使用默认的构造函数来初始化实体bean的(就是没有参数的构造函数). 而我刚好在这个class里面新增了一个带参数的构造函数,dbutil就找不到构造函数了. public Teachergroup(String

Confluence 6 SQL Server 创建一个数据库和数据库用户

一旦你成功安装了 SQL Server 服务器,请按照下面的方法为你的 Confluence 创建数据库用户和数据库: 使用你的 SQL 管理员权限,创建一个新的数据库(例如 confluence). 为数据库设置默认的字符集为 SQL_Latin1_General_CP1_CS_AS (大小写敏感). ALTER DATABASE <database-name> COLLATE SQL_Latin1_General_CP1_CS_AS 如果你看到了 'database could not b

Confluence 6 SQL Server 测试你的数据库连接

在你的数据库设置界面,有一个 测试连接(Test connection)按钮可以检查: Confluence 可以连接你的数据库服务器 数据库字符集和隔离级别是正确的 你的数据库用户有正确的数据库权限 一旦上面的测试成功了,单击 下一步(Next )来继续进行 Confluence 的安装进程. https://www.cwiki.us/display/CONFLUENCEWIKI/Database+Setup+for+SQL+Server 原文地址:http://blog.51cto.com/

sql 异常&lt;除非另外还指定了 TOP、OFFSET 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。&gt;

问题:当子查询内存在ORDER BY 字句时查询会报错 SQL: SELECT * FROM ( SELECT * FROM USER ORDER BY USER_CORD ) S. 解决办法:在子查询SQL语句SELECT 后加 TOP 100 PERCENT (查询出前百分比为100的数据,也就是查询出全部数据) SQL: SELECT * FROM ( SELECT  TOP 100 PERCENT  * FROM USER ORDER BY USER_CORD ) S

装SQL server 2008问题解决

在Windows Server 2008安装SQL Server 2008出现的问题: 安装时在"服务器配置"环节出现以下问题:为sql server代理服务提供的凭据无效为sql server服务指定的凭据无效为analysis services服务提供的凭据无效为reporting services服务提供的凭据无效为integration services服务提供的凭据无效 解决方法: SQL Server代理 选 SYSTEMSQL Server database engine