`
yuexj
  • 浏览: 8769 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

在操作数据库时出现的问题

阅读更多
  过年之前,在家里闲的无聊,帮朋友做个了网站,一切都听顺利的,在想服务器部署的时候出现了出现了报数据库不能插入数据异常, 在做的过程中,本地的测试都很正常, 可是移到服务器上 奇奇怪怪的错误全都出来了。 汗。。。。。。
   下面报的这个异常:
 
java.sql.SQLException: Binary logging not possible. Message: Transaction level 'READ-COMMITTED' in InnoDB is not safe for binlog mode 'STATEMENT'

由于本人的出学 还不知道这个怎么解决就在在网上搜了下  看到这篇文章  不知道哪位Auther写的 ,感觉不错就贴了上来

java.sql.SQLException: Binary logging not possible. Message: Transaction level 'READ-COMMITTED' in InnoDB is not safe for binlog mode 'STATEMENT'


本篇文章描述了三个该错误发生的主要原因以及错误产生区域。尽管这儿引用的是ACCESS数据库,但是对其他类型的数据库也同样适用。

解决办法

这个错误通常是在你对数据库内容做更新或者在试图改变数据库内容的时候产生的,这个错误的发生是因为您的ADO操作由于以下的某个原因而导致写入失败:

1、最普遍的原因是您的INTERNET来宾帐号(Iuser_machine)没有写入数据库(ACCESS)的权限,您可以在浏览器安全设置里给该帐号设置正确的权限。注意:当使用ACCESS和ADO的时候,也必须给该帐号以写目录的权限,也就是存放该MDB文件的地方,这个是因为数据库引擎会建立一个.LDB文件来出路数据库的锁定操作。你同时也应该给INTERNET临时文件夹设置读写权限,因为数据库引擎有可能会在该目录里面建立相关临时文件。

2、第二个原因是数据库的打开方式不对,比如打开方式是不可写的,也会导致该错误,当您使用CONNECTION对象的时候,您可以使用如下代码:
SQL = "UPDATE Products Set UnitPrice = 2;"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Mode = 3 ' 3 = adModeReadWrite
Conn.Open "myDSN"
Conn.Execute(SQL)
Conn.Close 
注意,默认的模式是0,一般说来,该模式是允许更新操作的

3、另外一个原因是你有可能在ODBC管理器里把相应的DNS设置里让READ ONLY选项给选中了

4、最后一个原因(FOR SQL),您的操作可能违反了数据库参照完整性,下面是一些普遍的导致该错误的操作:
比如您在试图改变一些不能改变的部件:比如交叉表、SQL PASS-THROUGH,连接,或者UPDATE操作一些已经设置为唯一的选项,比如一个自动编号的ID等等。
还有一个普遍的原因是你的JOIN操作包含了没有唯一索引的关联表,在这种情况下,SQL无法保证您要试图更新的表里的数据是唯一的。

任何一种原因都可能发生在很多情况下面,当您试图去更新一和一对多的联合,也会发生这个错误,除非允许层叠更新,请注意实施数据参照完整性
希望能对你有所帮助。
分享到:
评论

相关推荐

    达梦数据库操作手册.docx

    在数据库出现故障时,使用备份文件进行恢复。 四、数据库操作 达梦数据库的操作: * 创建数据库:使用系统管理员权限创建一个新的数据库。 * 数据库连接:使用客户端工具(如 SQL*Plus 或 SQL Developer)连接到...

    MulThreadSQLiteTest多线程操作数据库

    在"MulThreadSQLiteTest"这个项目中,开发者可能创建了一个测试用例,用于演示如何在多线程环境中高效地操作SQLite数据库,以解决加密数据库或执行复杂查询时可能出现的性能问题。文件"TestSQLite"可能包含了具体的...

    数据库操作规范.docx

    数据库操作规范是确保企业信息系统稳定、安全运行的重要指导文件,其主要内容涵盖了数据库的管理、配置、安全性以及日常维护等多个方面。以下是对规范的详细解读: 1. **总则**: 规范的制定旨在规范数据库管理和...

    c++builder操作数据库程序

    在C++Builder中,操作数据库主要通过其内置的数据库组件和数据库访问接口实现。这些组件通常包括TDataSource、TTable、TQuery、TDataset等,它们提供了与各种数据库系统(如Oracle、MySQL、SQL Server等)交互的能力...

    C#数据库操作类AccessHelper实例

    它们确保了在操作数据库时的正确连接状态,并在完成后清理资源以防止内存泄漏。 5. **执行SQL语句**: `ExecuteSql`方法是核心操作之一,它接受一个SQL语句作为参数,执行该语句(通常是INSERT、UPDATE、DELETE等...

    idea连接达梦数据库出现input string "8"问题,驱动已修复

    在使用IDEA这样的集成开发环境进行数据库操作时,可能由于驱动兼容性或配置问题,导致连接失败并抛出错误信息“input string \"8\"”。这个问题通常与数据库驱动的解析字符串功能有关,可能是在处理特定数据类型或者...

    java界面操作数据库

    在这个主题中,"java界面操作数据库" 主要涉及如何利用Java的图形用户界面(GUI)库来设计可视化界面,以及如何利用Java的数据访问技术如JDBC(Java Database Connectivity)来执行数据库的增删改查操作。...

    Access数据库操作

    在计算机二级考试中,Access数据库操作是重要的考核内容之一,考生需要掌握如何创建、修改和管理数据库。 以下是对Access数据库操作的详细说明: 1. 创建表和字段: 在Access中,数据存储在表格(Table)中,表格...

    MFC操作ACCESS数据库

    在进行数据库操作时,我们还需要处理可能出现的错误。MFC提供了`GetLastErrorText`和`AfxThrowDBException`等方法来获取和抛出错误信息。 6. **VS2008环境**: Visual Studio 2008 SP1支持MFC,并且包含对ADO的...

    DbHelper数据库操作类

    在执行一组相关的数据库操作时,可以使用DbHelper的事务管理功能确保数据的一致性。 5.异常处理:DbHelper类通常会捕获并处理数据库操作中可能出现的异常,比如SQLException,提供统一的错误处理机制,方便上层代码...

    揭露PHP 应用程序中出现的五个常见数据库问题

    事务可以确保数据库操作的原子性和一致性,避免了数据不一致的问题。使用事务可以提高代码的可靠性和安全性。 问题 4:不使用索引 不使用索引是另一个常见问题。索引可以提高数据库查询的速度和效率,避免了慢查询...

    C# ACCESS 数据库操作类

    在处理数据库操作时,开发者经常使用ADO.NET(ActiveX Data Objects .NET)库,它提供了与多种数据库交互的能力,包括Microsoft Access。"C# ACCESS 数据库操作类"是一个自定义的C#类,设计用来简化对Access数据库的...

    数据库操作管理

    6. **备份与恢复**:定期备份数据库以防止数据丢失,同时需要了解如何在出现故障时恢复数据。这包括全量备份、增量备份和差异备份策略,以及恢复模式和还原技术。 7. **安全性与权限控制**:数据库管理系统提供角色...

    VB操作ACCESS数据库实例,Access数据库同步。

    在VB(Visual Basic)编程环境中,操作ACCESS数据库是一项常见的任务,尤其在开发小型企业级应用时。本实例探讨了如何利用VB实现Access数据库之间的数据同步,这对于数据备份、多数据库协作或者分布式系统来说至关...

    数据库操作通用类(C#)

    8. 连接池:为了提高性能,可以配置数据库连接使用连接池,这样在多次打开和关闭连接时可以重用已存在的连接。 9. ORM框架集成:如果你的项目使用了ORM(Object-Relational Mapping)框架,如Entity Framework,...

    国产数据库人大金仓数据库备份迁移操作文档

    这些操作对于数据库管理至关重要,因为它们确保了数据的安全性,能够在出现故障或需要迁移时快速恢复数据。逻辑备份适用于常规的数据保护,而物理备份则更适用于灾难恢复,因为它能保留数据库的物理结构。增量备份则...

    Excel VBA操作数据库资料.rar

    在VBA中操作数据库时,务必考虑错误处理和事务管理。使用`On Error`语句来捕获和处理可能出现的错误,使用`Connection.BeginTrans`、`CommitTrans`和`RollbackTrans`方法来控制事务,确保数据的完整性和一致性。 8...

    java 数据库操作,事务回滚

    java 应用程序操作数据库实例,若出现sql异常则事务回滚。

    C#的数据库操作例程

    在C#编程中,数据库操作是一项核心技能,尤其是在开发企业级应用时不可或缺。这个"**C#的数据库操作例程**"提供了丰富的示例,帮助初学者和有经验的开发者更好地理解和实践C#与数据库之间的交互。以下是这些例子中...

Global site tag (gtag.js) - Google Analytics