1. 程式人生 > >ORA-01704: string literal too long 和 ORA-00932: inconsistent datatypes: expected NUMBER got LONG

ORA-01704: string literal too long 和 ORA-00932: inconsistent datatypes: expected NUMBER got LONG

今天在向oracle新增文章,因為文章內容好多,所以在資料庫就給了LONG是資料型別。出現了“ORA-01704: string literal too long ”這樣的錯誤,上網查了一下,原來當你向oracle資料庫插入的字元大於4000時就不能用“insert into table values(idgen.nextval,'" + title + "','" + typename + "')”這種形式了,必須要用繫結引數的方式。下面我拿一個例子說明一下:

 

相信大家應該能看明白的。

到了我做搜尋功能的時候出現了“ORA-00932: inconsistent datatypes: expected NUMBER got LONG”這種錯誤,繼續上網檢視一下,中國的網站很少說到這個問題,可能是我搜索得不夠仔細吧!看到了幾個外國網站有這方面的說明,基於大二過了國家英語四級(之後都不怎麼接觸過英語了),勉強看懂了一下。大概意思是說LONG資料型別不支援like,WHERE, GROUP BY, ORDER BY之類的後面裡面,建議換成CLOB資料型別的。後來就把欄位的資料型別換了一下,然後還要把上面例子裡面的OracleType.LongVarChar換成OracleType.Clob。問題解決了!

相關推薦

ORA-01704: string literal too long ORA-00932: inconsistent datatypes: expected NUMBER got LONG

今天在向oracle新增文章,因為文章內容好多,所以在資料庫就給了LONG是資料型別。出現了“ORA-01704: string literal too long ”這樣的錯誤,上網查了一下,原來當你向oracle資料庫插入的字元大於4000時就不能用“insert into

除錯經驗——ORA-06502: PL/SQL: numeric or value error: character string buffer too small的解決方法

問題描述: 生產環境中,有一個在報表自動刷新系統中排期的報表(scheduled report)生成失敗。 報以下錯誤: ORA-06502: PL/SQL: numeric or value error: character string buffer too small ORA-

ORA-06502:PL/SQL :numberic or value error: character string buffer too small

原文地址為: ORA-06502:PL/SQL :numberic or value error: character string buffer too small 今天遇到一個錯誤提示:ORA-06502:PL/SQL :numberic or value error: charac

超過 Oracle 的長度限制 ORA-00972: identifier is too long

對映的列名 超過了Oracle本身設定的30個字元 修改列名,使長度低於30個字元就ok。 <result column="AR_RESUMECOPY_FRIST_WORKLOC_CITY_" property="resumeCopy.firstWorkingLoca

sqlplus插入中文字符集問題ORA-01756 quoted string not properly terminated

實驗環境:ORACLE11G、linux5.6 1.進入sqlplus 建立對應的表,插入相關值(包含中文) 2.插入完後,查詢該表發現全是亂碼 3.查詢出當前資料庫的字符集資訊 4.修改當前使用者環境變數,新增NLS_LANG oracle客

ORA-00972: identifier is too long報錯的另外一種原因

ORA-00972: identifier is too long這個錯誤最普通的原因就是欄位太長了。 但是還有一種其他的情況: 不知道你是否遇到過這樣的情況,一個sql語句,在plsqldeveloper中可以執行,但是在sqlplus中執行就報錯ORA-00972: i

數據庫壞塊觸發ora-00600ora-07445

發現 http action 所在 ora 資源 mage 時間 重建表 上午10:03分收到資源同步庫的宕機告警,登陸數據庫核實數據庫確實異常,第一反應手動重啟庫,但依舊失敗。 回過頭查看數據庫告警日誌,發現大量的600和7445報錯 查看trace文

JAVA中操作CLOB大對象 ,提示ORA-01704字符串文字太長

CLOB ORACEL java 分析:在ORACEL中大文本的不能直接插入,是因為oracle會將clob自動轉為String,當文本字節超出4000字節,提示字符太長。備註: GBK編碼:一個漢字占兩個字節。 UTF-16編碼:通常漢字占兩個字節,CJKV擴展B區、擴展C區、擴展D區中的漢字占

診斷:expdp導出時遇到錯誤ORA-31693ORA-00922

HR missing bject AI spec mis fail val int 11.2.0.1使用數據泵expdp導出時,如果使用parallel,可能會遇到 ORA-31693: Table data object "OWNER"."TABLE" failed t

使用PLSQL客戶端登入ORACLE時報ORA-12502ORA-12545錯誤的解決方案

當使用plsqldev客戶端登入oracle資料庫時,如果對應的tnsnames.ora中是直接使用IP地址來連線,並且未在系統的hosts檔案中繫結主機名時,極易出現ORA-12502及ORA-12545報錯,這兩種錯誤內容分別是: ORA-12502: TNS:listener received no

ora-64203:Destination buffer too small to hold CLOB data after character set conversion.

ora-64203:Destination buffer too small to hold CLOB data after character set conversion. 拼接字串時過長引起,報緩衝區太小錯誤 SELECT WM_CONCAT(field_A|| field_b) FROM tabl

ORA-02292違反完整約束ORA-02297無法禁用約束條件 cascade禁用主鍵

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29863023/viewspace-1352988/ ORACLE 中delete時出現ORA-02292:違反完整約束條件 錯誤該表中存在主鍵或外來鍵,可以先禁用。於是用: alter table hx_tb.tabs

oracle解決了ora-00119ora-00132這個問題

前提:服務全部開啟,監聽也配置好了! 先登入到sqlplus: sqlplus /nolog;  登入資料庫: conn system/manager as sysdba;  然後啟動資料庫: startup;  發現 ora-00119【ora-00119 i

ORACLE之rman備份:ORA-19809ORA-19804的解決方法

操作環境:redhat 6.4  oracle 12c rman備份出錯。之前出現過,好象重新backup database就可以了,今天又出現,紀錄下RMAN-03009: failure of Contrl file and SPFILE Autobackup command o

Oracle調整記憶體參後報ORA-00844ORA-00851

資料庫伺服器記憶體由16G增加為64G,為充分利用記憶體資源,對Oracle記憶體引數做了如下調整: SQL>alter system set sga_max_size=40960M scope=spfile; SQL>alter system set sga_target=40960M

ORA-00600ORA-08103錯誤處理

iamlaosong文 工作需要每月將總部下發的結算資料匯入到表中,然後進行統計清分。每個月的資料量很大,累計下來後資料量更大。用sqlldr匯入資料速度比較快。本次用sqlldr匯入8月結算資料後,進行統計時報錯:ORA-00600: internal error code, argume

轉載:ORA-01034ORA-27101的解決方法,oracle無法開啟解決辦法

1 先看oracle的監聽和oracle的服務是否都啟動了。啟動oracle監聽: cmd的命令列視窗下,輸入lsnrctl start,回車即啟動監聽。 2 檢視oracle的sid叫什麼,比如建立資料庫的時候,例項名叫“orcl”,那麼先手工設定一下oralce的sid,

oracle寫入clob型別時提示 ORA-01704:字串文字太長

oracle寫入clob型別是提示 ORA-01704:字串文字太長 解決方法是需要將長文字先賦值給變數,再執行insert 如下: declare a_clob clob:='1111'; begin insert into aa(a1) values (a_clo

Navicat Premium (oracle library is not loadedORA-01017:invalid username/password;logon denied)

一.什麼是Navicat Premium   Navicat premium是一款資料庫管理工具,是一個可多重連線資料庫的管理工具,它可以讓你以單一程式同時連線到 MySQL、SQLite、Oracle 及 PostgreSQL 資料庫,讓管理不同型別的資料庫更加的方便。(來自 百度百科) &n

toad連線資料庫時報錯ORA-28040ORA-01017

軟體及庫情況:toad for 12.1;oracle client 11.2.0.1,oracle server 12.2.0.1; ORA-28040: 原因:sqlnet.ora中設定的SQLNET.ALLOWED_LOGON_VERSION_SERVER引數導致的客戶端和服務端密