Pylons Controller里面Session.commit()总是出现rollback
Pylons Controller里面执行修改数据库表,总是不成功。
然后通过各种手段:
1、js打印返回值
2、不修改表单提交和修改表单提交,结果比较;
3、通过在Pylons Controller里面设置不同位置return;
4、打印传递的各种参数;
5、等等方法。。。
最终确认是Session.commit()的问题。
来看看系统log:
15:23:52,650 INFO [sqlalchemy.engine.base.Engine] [worker 8]SELECT datatables.id AS datatables_id, datatables.type AS datatables_type, datatables.key_list AS datatables_key_list, datatables.name AS datatables_name, datatables.display AS datatables_display, datatables.home_visible AS datatables_home_visible, datatables.merge AS datatables_merge, datatables.bigtype AS datatables_bigtype
FROM data_schemas
WHERE datatables.id = %s
LIMIT %s
15:23:52,650 INFO [sqlalchemy.engine.base.Engine] [worker 8] (14, 1)
15:23:52,653 INFO [sqlalchemy.engine.base.Engine] [worker 8] UPDATE datatables SET merge=%s WHERE datatables.id = %s
15:23:52,653 INFO [sqlalchemy.engine.base.Engine] [worker 8] (0, 14L)
15:23:52,654 INFO [sqlalchemy.engine.base.Engine] [worker 8] ROLLBACK
可以看出已经Update了,然后,艹,又ROLLBACK了!!!
再通过Firebug看看网页给出的提示:
WebError Traceback:
⇝OperationalError: (OperationalError) (1142, "UPDATE command denied to user 'user@uuu'@'10.10.10.10' for table 'datatables'") 'UPDATE datatables SET merge=%s WHERE datatables.id = %s' (0, 14L)
什么叫做denied to user!!!
明明就我所在的用户就没有写权限啊,没有写权限啊,写权限啊,权限啊。。。
DBA给一个没有写权限的用户搞个毛线啊。。。还要找DBA。。。
这个世界是如此的不靠谱啊。。。
Pylons Controller里面Session.commit()总是出现rollback的更多相关文章
- SQL事务用法begin tran,commit tran和rollback tran的用法
Sql Server 2005/2008中提供了begin tran,commit tran和rollback tran来使用事务. begin tran表示开始事务, commit tran表示提交 ...
- 【转】【SQLServer】SQL事务用法begin tran,commit tran和rollback tran的用法
Sql Server 2005/2008中提供了begin tran,commit tran和rollback tran来使用事务.begin tran表示开始事务, commit tran表示提交事 ...
- SQL 事务 begin tran、commit tran、rollback tran 的用法
首先理解一下这三个事务的大概意思: begin Transaction 可以理解成新建一个还原点. commit Transaction 提交这个自begin tran开始的修改 rollback T ...
- AMQ学习笔记 - 06. 可靠消息传送
概述 本文介绍JMS中可能发生消息故障的3个隐患阶段,以及确保消息安全的3种保障机制. 故障分析 在介绍可靠传送的确保机制之前,先分析消息在传送的过程中可能在哪个阶段出现问题. 1.两个跃点 跃点的含 ...
- activemq p2p方式
package ch02.chat; import java.io.Serializable; import javax.jms.Connection; import javax.jms.Connec ...
- 简单的activemq的封装和使用
天空中飘着小雨,实在是适合写代码的时节. 1 package ch02.chat; import java.io.Serializable; import javax.jms.Connection; ...
- sqlalchemy ORM模块使用介绍
前几天用到了flask框架,所以顺带介绍了flask-sqlalchemy扩展模块,去瞄一眼,由于有好多非web的python程序也用到了数据库,所以今天分享一下sqlalchemy的模块的使用方法. ...
- sqlalchemy学习-- 重要参数
Base = declarative_base 基类: 1.存储表 2.建立class-Table 的映射关系 engine = create_engine('mysql://root:root@lo ...
- SQLAlchemy--基本增删改查
目录 简介 安装 组成部分 简单使用 执行原生sql(不常用) orm使用(重点) 常用数据类型 Column常用参数 常用操作(CURD) 创建映射类的实例 创建会话Session 增加add()/ ...
随机推荐
- Linux下如何打开img镜像文件
有些镜像文件为IMG格式,在Linux如何打开呢?例如从微软dreampark下载的Windows Server 2008 R2镜像文件,使用file命令查看: $ file chs_windows_ ...
- 5.Longest Palindromic Substring---dp
题目链接:https://leetcode.com/problems/longest-palindromic-substring/description/ 题目大意:找出最长回文子字符串(连续). 法 ...
- HDU 6194 string string string 2017沈阳网络赛 后缀数组
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6194 题意:告诉你一个字符串和k , 求这个字符串中有多少不同的子串恰好出现了k 次. 解法:后缀数组 ...
- windows 10开启bash on windows,配置sshd,部署hadoop
1.安装Bash on Windows 这个参考官网步骤,很容易安装,https://msdn.microsoft.com/en-us/commandline/wsl/install_guide 安装 ...
- 修改帧大小和socket缓冲区大小(转)
修改帧大小和socket缓冲区大小 MTU (最大传输单元)的缺省值为1500. 通过下面命令将其改为9000(jumbo frame) % ifconfig eth0 mtu 9000 socket ...
- Struts2使用
Struts2是一个基于MVC设计模式的Web应用框架.在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互.Struts 2是Struts的下一代产品,是在 ...
- python_xlsxwriter模块
1.workbook类 add_worksheet 用于添加一个新的工作表,sheetname为工作表名称,默认是sheet1,例如: worksheet = workbook.add_workshe ...
- Linux下软件的安装与管理
1.源码安装方式 2.RPM包方式安装 3.yum安装方式 4.二进制软件安装方式 1.源码安装方式 (1)下载.解压Apache源码: mkdir /apache #在根目录下创建一个apache目 ...
- html学习-js
1.js介绍 JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理.js能使 ...
- 总结开发ERP软件应遵循的一些基本原则
总结一下做管理软件,有哪些项是经过检验的条款,必须遵守的. 界面篇 1 要保存用户的偏号(profile/favourite). ASP.NET 2.0引入此功能,当用户修改默认的控件的属性时,框架 ...