SQL 报错信息整理及解决方案(持续更新)
整理一下自己遇见过的 SQL 各种报错信息及相应解决方法,方便以后查阅,主要平台为 Oracle:
ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值:
- 原因:插入操作时,数据大于字段设定大小,Oracle 会自动将数据转为 long 型,然后报插入失败错误。
- 解决:更改数据大小,或者将字段设为 clob 或 blob 类型。
"ORA-01012: not logged on" 以及 "Connected to an idle instance":
- 原因:重启 Oracle 服务器时,如果在运行 shutdown 指令关闭数据库的时候意外断开连接,后面想再次进入 Oracle 服务器启动时便可能会遇见如下报错:
- 使用
sqlplus /nolog进入 SQL Plus 后,想连接数据库conn username/password as sysdba时,会报Connected to an idle instance.错误。 - 在 SQL Plus 界面,想直接
startup启动数据库时,会报ORA-01012: not logged on错误。
通过查阅资料,判断报错原因是在关闭数据库意外退出后,ORACLE一直处于锁定状态,不再允许其他操作。
- 使用
- 解决:
先关闭ORACLE进程:
ps -ef|grep ora_dbw0_$ORACLE_SID //找到ORACLE进程
kill -9 PID //通过找到的进程PID号kill掉该进程然后重启ORACLE:
sqlplus /nolog //进入SQL Plus
startup //启动ORACLE
最后附上关闭ORACLE的命令说明,以免造成错误的关闭操作:
- shutdown normal(所有连接断开后关闭数据库)
- shutdown transactional(所有事务结束后主动断开连接,并关闭数据库)
- shutdown immediate(主动断开连接和事务)
- shutdown abort(立即关闭数据库,由于该操作不会同步数据,清空回滚段,不触发检查点,所以比较危险,每次启动需要实例恢复)
- 原因:重启 Oracle 服务器时,如果在运行 shutdown 指令关闭数据库的时候意外断开连接,后面想再次进入 Oracle 服务器启动时便可能会遇见如下报错:
ORA-00913: 值过多:
- 原因:向表中插入数据时字段个数不匹配,例如
insert into table_1 (?, ?) values (?, ?, ?)
插入值比字段多了一个,则会报该错误
- 解决:插入字段与插入值修改为个数一致就可以解决了
- 原因:向表中插入数据时字段个数不匹配,例如
ORA-01791:不是SELECTed表达式错误:
- 原因:用 select 查询语句时,若同时使用distinct去重与order by排序,就会报该错误,如
select distinct a from table1 where ... order by b;
这是因为 order by 根据 b 列排序时与 distinct 产生冲突,distinct 找不到 b 列。
- 解决:查询列中添加b列,即:
select distinct a,b from table1 where ... order by b;
- 原因:用 select 查询语句时,若同时使用distinct去重与order by排序,就会报该错误,如
SQL 报错信息整理及解决方案(持续更新)的更多相关文章
- Eclipse中项目上有小红叉,但就是找不到报错文件(总结,持续更新)
1.jdk问题解决:jdk配置参考:http://blog.csdn.net/superit401/article/details/72847110 2.build path:项目右键——Build ...
- db2数据库sql报错信息
sqlcode sqlstate 说明 000 00000 SQL语句成功完成 01xxx SQL语句成功完成,但是有警告 +012 01545 未限定的列名被解释为一个有相互关系的引用 +098 ...
- Eclipse之报错信息及其解决方案
一.有很多人都喜欢开发js的时候用aptana,因此在eclipse中集成aptana插件是必须的,可是,在用link方式在eclipse中安装好aptana后,启动时会报如下错误 An intern ...
- 深夜一次数据库执行SQL思考(怎么看执行报错信息)
如下sql在执行时 DROP TABLE IF EXISTS `book`; CREATE TABLE `book` ( `id` int(11) NOT NULL AUTO_INCREMENT, ` ...
- phpredis报错信息:protocol error, got 'o' as reply type byte解决方案
今天在前端调用PHP的接口时,有报错信息为:protocol error, got 'o' as reply type byte另外此错误有几率会重现,并不是必现的.十分疑惑,遂百度一下,发现是red ...
- Python 装饰器填坑指南 | 最常见的报错信息、原因和解决方案
本文为霍格沃兹测试学院学员学习笔记. Python 装饰器简介 装饰器(Decorator)是 Python 非常实用的一个语法糖功能.装饰器本质是一种返回值也是函数的函数,可以称之为“函数的函数”. ...
- JAVA_用_JCO连接_SAP,实现调用SAP_的_RFC_函数(整理)(附一篇看起来比较全面的说明)(JCO报错信息)
// 获取RFC返回的字段值 11 JCoParameterList exportParam = function.getExportParameterList(); 12 String exPara ...
- JDBC:SqlServer连接TCP/IP连接失败,到主机 的 TCP/IP 连接失败。报错信息:com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。
作者QQ:1161493927,欢迎互相交流学习. 报错信息:com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败. j ...
- Vue打包报错Unexpected token: punc(()解决方案
(用vscode)vue项目打包时,报错,报错信息如下: ERROR in static/js/0.564c764efc3ecf31190c.js from UglifyJs Unexpected t ...
随机推荐
- [操作系统实验lab3]实验报告
[感受] 这次操作系统实验感觉还是比较难的,除了因为助教老师笔误引发的2个错误外,还有一些关键性的理解的地方感觉还没有很到位,这些天一直在不断地消化.理解Lab3里的内容,到现在感觉比Lab2里面所蕴 ...
- Qt Style Sheet实践(一):按钮及关联菜单
导读 正如web前端开发中CSS(Cascade Style Sheet)的作用一样,Qt开发中也可以使用修改版的QSS将逻辑业务和用户界面进行隔离.这样,美工设计人员和逻辑实现者可以各司其职而不受干 ...
- WampServer 给电脑搭建apache服务器和php环境
WampServer 给电脑搭建apache服务器和php环境 前端不仅要做页面展示层,还负责着数据交互的部分,不要等到后端人员做好工作了前端才开始对接,那样太被动了. 前端在完成静态页面的编码后,就 ...
- vs 2012 设置选中的引用高亮 颜色
一个简单的小技巧,不用插件也可以做到,vs 2012 设置选中的引用高亮 颜色 .vs 默认的单击引用的变量时,显示的颜色是灰色,基本看不出来,所有特意抽空捣鼓了下 还真让我给找出来 工具==> ...
- [PE结构分析] 6.IMAGE_SECTION_HEADER
IMAGE_SECTION_HEADER 的源代码如下: typedef struct _IMAGE_SECTION_HEADER { BYTE Name[IMAGE_SIZEOF_SHORT_NAM ...
- unity3d拓展编辑器MenuItem的使用
MenuItem是自定义菜单栏显示 比如:[MenuItem("new/My Window")] 这样就会显示菜单new/My Window 把这个放在一个静态方法上就可以了.记住 ...
- C语言范例学习03-中
栈和队列 这两者都是重要的数据结构,都是线性结构.它们在日后的软件开发中有着重大作用.后面会有实例讲解. 两者区别和联系,其实总结起来就一句.栈,后进先出:队列,先进先出. 可以将栈与队列的存储空间比 ...
- DigitalOcean上SSH Key的创建(附DigitalOcean邀请)
DigitalOcean是一家云主机商家,最低配置512M内存,20G的SSD,每月只有5刀.半个月前刚刚在这上面买了一个VPS,创建Droplet的时候看见创建SSH Key的时候就有点懵,不知道这 ...
- JavaScript基础10——node对象
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Sharepoint增加修改密码功能
Sharepoint中没有自带的修改密码的功能. 如果使用的是AD验证,修改密码,只要修改域帐号的用户名密码就可以了.以下代码可以修改本机密码和域帐号密码. 做法是,添加一个webpart,做一个页面 ...