在工作当中,处理一长串sql,执行过程中一直出现ORA-00911报错 检查了很久,发现并没有常见的分号";"问题,后来在一篇博客中终于找到了原因,需要看看sql中用到的字段数据 是否有空格或者换行,如果有的话去掉应该就不会报错了,借鉴博客如下所示:Oracle数据库ORA-00911:一直出现无效字符问题_向阳的路上的博客-CSDN博客_ora-00911
plsql在连接高版本的oracle时(我这里是oracle21c版本)结果plsql报“ORA-28040:没有匹配的验证协议”的问题,也是在网上搜索了一番,找到了最简单的解决办法,在原有的客户端或者oracle的app文件夹中将原先的TNSNAMES.ORA文件考到instantclient_21_7文件夹下,这是第一步。instantclient_21_7文件夹没有的我这里可以下载:(23条消息)Oracle客户端安装包21.7-Oracle文档类资源-CSDN文库在instantclient_21_7文件夹中找到TNSNAMES.ORA: 修改红色框四部分对应的内容,保存。 第
我在我的oracle(11g)数据库中创建了两个表,如下所示:createtable"test"("id"int);createtabletest("id"int);然后在我的C#程序中出现了一个问题:OracleConnectionconn=newOracleConnection(-myConnectionString-);conn.Open();OracleCommandcommand=newOracleCommand("select*fromtest;",conn);varv=command.ExecuteReader();OracleCommandcommand=newOrac
我在我的oracle(11g)数据库中创建了两个表,如下所示:createtable"test"("id"int);createtabletest("id"int);然后在我的C#程序中出现了一个问题:OracleConnectionconn=newOracleConnection(-myConnectionString-);conn.Open();OracleCommandcommand=newOracleCommand("select*fromtest;",conn);varv=command.ExecuteReader();OracleCommandcommand=newOrac
问题描述安装完Oracle链接时提示ORA-12541:TNS:无监听程序:前提,你的其他安装操作都正确。总结:把总结写在前面节约大家时间1.关闭所有Oracle服务2.配置netManager3.配置NetConfigurationAssistant4.打开服务OracleOraDb11g_home1TNSListenerOracleServiceORCL1.打开服务停止所有的Oracle服务。2.然后搜索打开netManager我这里是本地连接所以直接写了回环地址。也可以写你的IP地址填好后,点左上角文件进行保存。##3.然后打开NetConfigurationAssistant2.有就重
目录项目场景:问题描述原因分析:解决方案:其他解决方案:项目场景:oracle数据库在做大量的批量更新同一张表数据。问题描述早上来公司去生产环境查grelog日志,发现ERROR日志,点进去看后报如下错误:ORA-00060:deadlockdetectedwhilewaitingforresource原因分析:从错误的中一看就知道oracle数据库发生了死锁。去生产的log日志查看,发现同一时间点左右,还有一个批量更新同一条数据的慢sql日志。这个慢sql的更新和这个死锁的sql更新互斥了。导致了死锁。死锁的异常抛出后,这个慢sql就执行成功了。在本地也写单元测试实例,跑出了同样的结果。猜测
虽然在sqlnet.ora加SQLNET.ALLOWED_LOGON_VERSION=8可以解决,但由于这个参数在12c已经废弃了,如果继续使用,会在alert/log.xml无穷无尽的报“UsingdeprecatedSQLNET.ALLOWED_LOGON_VERSIONparameter.”因此,正确的做法是在$ORACLE_HOME/network/admin/sqlnet.ora加SQLNET.ALLOWED_LOGON_VERSION_SERVER=8SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8区别如下:SQLNET.ALLOWED_LOGON_VER
虽然在sqlnet.ora加SQLNET.ALLOWED_LOGON_VERSION=8可以解决,但由于这个参数在12c已经废弃了,如果继续使用,会在alert/log.xml无穷无尽的报“UsingdeprecatedSQLNET.ALLOWED_LOGON_VERSIONparameter.”因此,正确的做法是在$ORACLE_HOME/network/admin/sqlnet.ora加SQLNET.ALLOWED_LOGON_VERSION_SERVER=8SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8区别如下:SQLNET.ALLOWED_LOGON_VER
问题场景当前需求的保存一个前端传入的大json文件或者图片base64后的字符串,由于Oracle的该字段的数据类型是clob,且插入的数据大小超过4000,导致无法通过正常的sql插入。建表语句:CREATETABLE"MYTOOLS"."T_BOOK"( "RID"VARCHAR2(32)NOTNULLENABLE, "BOOK_NAME"VARCHAR2(32), "PRICE"NUMBER(10,2), "IMAGE"CLOB, "AUTHOR"VARCHAR2(50), CONSTRAINT"SYS_C0011090"PRIMARYKEY("RID")USINGINDEXPCTFRE
oracleclob字段插入超过4000个字符串时会报错ORA-01704:字符串文字太长网上很多答案都是不正确的,搞什么存储过程变量之类的最有效的办法是把插入的字符切割成多个4000小块,然后用TO_CLOB()函数把字符串转成clob格式,再使用||拼接起来,如下示例insertinto"RESULT"("ACCESS_NUMBER","PATIENT_ID","PATIENT_NAME","GENDER","AGE","BIRTHDAY","CHECK_SEE","CHECK_RESULT","PDF")values('clinid20221122001','cid4464','pat_