ORA-00971: 缺失 SET 關鍵字 ; bad SQL grammar [];
原因:
開始一直糾結是不是多了一個空格,導致異常的發生!
結果:
解決思路:
1、去掉空格還是 跑異常,網上的答案是xml配置不正確,確定比較了半小時的xml檔案《set》標籤使用方法是正確的,並且是複製貼上過來的,還不行
2、猜測是tomcat快取,去tomcat webapp檔案加下面查詢xml檔案是不是已經 是最新的,已經是最新的了確定
3、重啟tomcat,除錯還是拋異常。
4、猜測是tomcat快取未知原因導致的,重新發布再次重啟,除錯還是拋異常
5、冷靜下來,用svn去比較,沒有涉及到 符號之類的修改。判斷幾個原因
(1)控制檯的提示不一定準確,可能是其他原因導致的
(2)方法傳入的引數是不是到xml檔案中是空呢
(3)再不行的話只能是換一個tomcat因為在進xml檔案前的方法中 變數都是有值的
(4)xml變數型別不正確
(網上答案,點醒了我[該方法是自動生成的,一般情況下是不可能會型別錯誤的,
我一一比較了每個變數的型別,數值和string型別都不會拋異常],可能是java方法的變數名相似,導致傳入到xml檔案中是null)
處理:檢視service方法中的程式碼 果然是 Order實體類有2個,變數名 一個是order 一個是orderinfo.
總結:變數名命名 一定要 好區分。否則自己都會被自己“”“欺騙”!自信滿滿,導致查詢bug的路途更加遙遠
相關推薦
ORA-00971: 缺失 SET 關鍵字 ; bad SQL grammar [];
原因: 開始一直糾結是不是多了一個空格,導致異常的發生! 結果: 解決思路: 1、去掉空格還是 跑異常,網上的答案是xml配置不正確,確定比較了半小時的xml檔案《set》標籤使用方法是正確的,並且是複製貼上過來的,還不行 2、猜測是tomcat快取,去tomc
ORA-00971: 缺失 SET 關鍵字 ; bad SQL grammar [];
原因: 開始一直糾結是不是多了一個空格,導致異常的發生! 結果: 解決思路: 1、去掉空格還是 跑異常,網上的答案是xml配置不正確,確定比較了半小時的xml檔案《set》標籤使用方法是正確的,並且是複製貼上過來的,還不行 2、猜測是tomcat快取,去to
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00907: 缺失右括號
SELECT P.*, ROWNUM AS rowno FROM (SELECT * FROM "equipment_info","equipment_status","user","parking_lot" WHERE "equipment_info"."parking_id"="parkin
java中呼叫Oracle儲存過程時,出現異常:java.sql.SQLException: ORA-00928: 缺失 SELECT 關鍵字(已解決)
在java中呼叫Oracle儲存過程時,出現異常:java.sql.SQLException: ORA-00928: 缺失 SELECT 關鍵字 //java程式碼 @Test public void testProcedure(){
Could not execute JDBC batch update : java.sql.BatchUpdateException: ORA-00926: 缺失 VALUES 關鍵字
<span style="font-size:14px;">org.hibernate.exception.SQLGrammarException: Could not execute J
mybatis異常 bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorE
<select id="queryPastLimit" resultMap="BaseResultMap">select <include refid="Base_Column_List"/>from hui_app_lottery_past where lotterytype =
ORA-00907: 缺失右括號問題或com.alibaba.druid.sql.parser.ParserException: TODO :IDENTIFIER的原因
-s .sql mage iba 錯誤 .cn 括號問題 com exce 以上只是說明錯誤的原因的一種。ORA-00907: 缺失右括號問題或com.alibaba.druid.sql.parser.ParserException: TODO :IDENTIFIER的原
ORA-00907: 缺失右括號問題整理解決
art arc 數據庫 sql column 字段 -m acl 什麽 ORA-00907: 缺失右括號前言 近期在開發過程中使用oracle數據庫,在程序中進行查詢數據時遇到了“ORA-00907: 缺失右括號”的問題。可是假設直接把sql語句直接在數據
ORA-00906: 缺失左括號
原因: 今天給了我一個.PDM模型. 我使用PowerDesigner生成了sql指令碼,在navicat下執行的時候 報了這麼一個錯誤 . 我看網上說是型別沒有指定大小.後來找到是我使用模型生成的指令碼有這個問題 : constrai
ORA-00604: error occurred at recursive SQL level ORA-04024: self-deadlock detected while trying to
[[email protected] ~]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Fri Nov 9 14:30:17 2018 Copyright (c) 1982, 2016, Oracl
查詢bad sql的方法
查詢bad sql的方法:select * from (select buffer_gets, sql_text from v$sqlarea where buffer_gets >500000 order by buffer_gets desc) where rownum<=30; &
Oracle.ManagedDataAccess.Client.OracleException:“ORA-00936: 缺失表示式”
static void Main(string[] args) { string sql = "insert into StudentC(Stuid, Stuname, Stupass) values(@Stuid,@Stuname,@Stupass)";
ORA-01767: UPDATE ...SET 表示式必須是子查詢
oracle使用形如 update TableName set (欄位1,欄位2,欄位3...欄位n)=(value1,value2,value3...valuen) 的sql時報錯,原因是混淆了sql server和oracle的使用習慣。 在sql server中使用
03-MySQL概述--資料庫的學習階段+資料庫基礎+關係型資料庫+關鍵字說明+SQL+MySQL資料庫+MySQL伺服器物件
一、資料庫的學習階段 1、基礎階段:MySQL資料庫的基本操作(增刪改查),以及一些高階操作(檢視、觸發器、函式、儲存過程等) 2、優化階段:如何提高資料庫效率,如索引、分表等 3、部署階段:如何搭建真實的環境系統,如伺服器叢集、負載均衡等 二、資料庫基礎 1、什麼
oracle ORA-01017 使用者無法通過PL-SQL登入,Toad可以登入
場景:以前都是用oracle10,剛剛切換到oracle11g,建了幾個使用者,一直用toad都沒出現問題。突然發現某個使用者用plsql登入不了,沒辦法,只好baidu一下。發現是密碼的大小寫敏感。 可以通過plus或者dos命令、程式登入。但是無法通過PL/SQL等
解決ORA-14402: 更新分割槽關鍵字列將導致分割槽的更改
修改有分割槽表的分割槽欄位 regionCode 報錯: ORA-14402: updating partition key column would cause a partition change可以通過開啟表的row movement屬性來允許對分割槽欄位的upd
使用 EXPLAIN 關鍵字 檢查SQL語句效率
explain詳細說明 通過explain可以知道mysql是如何處理語句,分析出查詢或是表結構的效能瓶頸。通過expalin可以得到: 1. 表的讀取順序 2.表的讀取操作的操作型別 3.哪些索引可以使用 4. 哪些索引被實際使用 5.表之間的引用 6.每張表有多少行被優
ORA-12704: character set mismatch問題、以及處理wm_concat函式clob亂碼問題
<pre name="code" class="html"> 在utf8資料庫裡編譯儲存過程,遇到這個問題. oracle9206 sql: [做了簡化] select a from t1 union all select '1' from t2; 其中t1.a
oracle ORA-01017 使用者無法通過PL-SQL登入
在oracle的之前版本時, 使用者名稱密碼是大小寫不敏感的, 但在11g中, 資料庫預設密碼的大小寫是敏感的, 於是我們就知道了一個事實, 那就是jdbc在給oracle密碼時, 會將其變成大寫,真是一個奇怪的事情啊. 你可能會說: 那好, 那我就把密碼設定為大寫的好
ORA-00604: error occurred at recursive SQL level 1 ORA-12705: invalid or unknown NLS parameter value
啟動資料庫可以啟動,但是做操作時提示著兩個錯誤 ORA-00604: error occurred at recursive SQL level 1 ORA-12705: invalid or unknown NLS parameter value specified