免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7283 | 回复: 5
打印 上一主题 下一主题

drop table 出错 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-23 09:35 |只看该作者 |倒序浏览
一个sql在程序中偶尔会报错出来。
drop table jour; sqlcode=214 sqlerrd[1]=106
程序的大概流程是先
lock table jour in exclusive mode;
然后进行大量的其他表的删除和插入操作;
最后在drop table jour报错。
请问会不会和某个数据的参数设置有关,主要是它不是每次都出错,过一段时间才出一次,没有规律。

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
2 [报告]
发表于 2007-07-23 15:48 |只看该作者
-214    Cannot remove file for table table-name.

The database server cannot completely remove the table. Check the
accompanying ISAM error code for more information. Problems with
operating-system file permissions, read-only files, or hardware might
cause this error.

可能是有另一個用戶在訪問這個表~~~~

-106    ISAM error: non-exclusive access.

The ISAM processor has been asked to add or drop an index but it does
not have exclusive access. For C-ISAM programs, the file must be opened
with exclusive access before you perform this operation. Review the
program logic, and make sure that it opens this file by passing the
ISEXCLLOCK flag to isopen. For SQL products, the database server
returns this error when an exclusive lock is required on a table. For
example, this error appears when a second user tries to alter a table
that the first user has locked.

论坛徽章:
0
3 [报告]
发表于 2007-07-24 22:28 |只看该作者
106  非互斥访问
214  不能删除系统目录

论坛徽章:
0
4 [报告]
发表于 2007-07-30 08:47 |只看该作者
但是开始我lock表时并没有报错,说明开始lock表是成功了,既然成功,就不应该报106的错啊。
哪位高手能不能说详细点

论坛徽章:
0
5 [报告]
发表于 2007-07-30 09:36 |只看该作者
1,可能是lock成功后,你进行了很多操作,操作完成后commit,导致锁释放。如果是这样的情况,应该把drop语句也放入同一个更大范围的事务。
2,drop table时候,会导致对systables表的独占。如果另外其他的任务在执行create table/drop table 等,会导致你失败。这种情况,你只能  
exec sql set lock mode to wait;  //设定无限等待模式

论坛徽章:
0
6 [报告]
发表于 2007-08-10 18:08 |只看该作者
-106        ISAM错误: 非排它存取。

ISAM处理器被要求增加或取消一个索引,但它并没有排它存取权。对C-ISAM程序,在
做这个操作之前文件必须以排它存取方式打开。检查程序逻辑,确保在打开文件时把
ISEXCLLOCK标志传递给了isopen。对SQL产品,在要求对表的排它锁定时,
INFORMIX-OnLine 动态服务器和INFORMIX-SE数据库服务器中可能会返回这个错误。
例如,当第一个用户锁定了表后,第二个用户又试图变更表时,就会出现这个错误。

214        不能给表<表名>删除文件。

数据库服务器不能完全地删除表。检查伴随的ISAM错误代码以获得更多的信息。
操作系统的文件访问权限问题,只读文件和硬件错误可能引发这个错误。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP