国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > PostgreSQL > 正文

PostgreSQL ERROR: invalid escape string 解決辦法

2020-03-12 23:54:35
字體:
供稿:網(wǎng)友
這篇文章主要介紹了PostgreSQL ERROR: invalid escape string 解決辦法,本文環(huán)境是JDBC+PostgreSQL,需要的朋友可以參考下
 
 

今天有同事在配置PostgreSQL為Hive元數(shù)據(jù)庫后,運(yùn)行Hive SQL時(shí)遇到以下報(bào)錯(cuò)信息:

 

復(fù)制代碼代碼如下:

Caused by: MetaException(message:Got exception: org.apache.hadoop.hive.metastore.api.MetaException javax.jdo.JDODataStoreException: Error executing JDOQL query “SELECT “THIS”.”NAME” AS NUCORDER0 FROM “DBS” “THIS” WHERE (LOWER(“THIS”.”NAME”) LIKE ? ESCAPE ‘//' ) ORDER BY NUCORDER0 ” : ERROR: invalid escape string
Hint: Escape string must be empty or one character..

 

錯(cuò)誤信息很清楚,ESCAPE ‘//'這里,引號(hào)內(nèi)只能為一個(gè)字符,而不能是兩個(gè)/。解決的辦法很簡單,將該JDBC用戶的連接session屬性standard_conforming_strings設(shè)置為off即可。

 

復(fù)制代碼代碼如下:

ALTER ROLE xx IN DATABASE yy SET standard_conforming_strings TO off;

 

錯(cuò)誤原因說明

早期PG普通字符串中的'/'是作為轉(zhuǎn)義字符對(duì)待的,所以'//'最終會(huì)認(rèn)為是'/'。但是這是不符合SQL標(biāo)準(zhǔn)的,所以在PG 9.1及以后,普通字符串中的/不會(huì)被任務(wù)是轉(zhuǎn)義字符,而E'xx/x'中的/才會(huì)被當(dāng)作是轉(zhuǎn)義字符。為了使以前的代碼可以在新的PG版本中運(yùn)行,便有了standard_conforming_strings這個(gè)選項(xiàng),這個(gè)選項(xiàng)默認(rèn)是on,表示按照SQL標(biāo)準(zhǔn)處理字符串,當(dāng)設(shè)置為off時(shí),按照PG的舊版本處理字符串。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 逊克县| 青川县| 定结县| 资中县| 奉化市| 禄劝| 罗定市| 拜泉县| 民丰县| 陈巴尔虎旗| 临汾市| 济宁市| 新晃| 施甸县| 家居| 迁西县| 藁城市| 威海市| 丰镇市| 安顺市| 湖州市| 宾川县| 台东市| 太仓市| 桐乡市| 肇东市| 宜昌市| 泸州市| 奎屯市| 象山县| 桐柏县| 乐清市| 吕梁市| 图片| 万州区| 新余市| 南川市| 藁城市| 竹北市| 舞钢市| 叙永县|