PostgreSQL ERROR: invalid escape string 解决办法


今天有同事在配置PostgreSQL为Hive元数据库后,运行Hive SQL时遇到以下报错信息:

复制代码 代码如下:

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..

错误信息很清楚,ESCAPE ‘\\'这里,引号内只能为一个字符,而不能是两个\。解决的办法很简单,将该JDBC用户的连接session属性standard_conforming_strings设置为off即可。

复制代码 代码如下:

ALTER ROLE xx IN DATABASE yy SET standard_conforming_strings TO off;

错误原因说明

早期PG普通字符串中的'\'是作为转义字符对待的,所以'\\'最终会认为是'\'。但是这是不符合SQL标准的,所以在PG 9.1及以后,普通字符串中的\不会被任务是转义字符,而E'xx\x'中的\才会被当作是转义字符。为了使以前的代码可以在新的PG版本中运行,便有了standard_conforming_strings这个选项,这个选项默认是on,表示按照SQL标准处理字符串,当设置为off时,按照PG的旧版本处理字符串。



相关阅读:
Android采用File形式保存与读取数据的方法
PHP实现路由映射到指定控制器
PHP实现HTTP断点续传的方法
Javascript常用小技巧汇总
Android短信发送器实现方法
基于Zend的Config机制的应用分析
Nodejs异步回调的优雅处理方法
Android编程获取手机屏幕分辨率大小的方法
Win10正式版10240更新了什么?Win10正式版10240新特性内容大全
js实现简洁大方的二级下拉菜单效果代码
PHP代码优化技巧小结
使用DataAdapter填充多个表(利用DataRelation)的实例代码
Windows 10 10130 Slow Ring版ISO镜像即将发布
C#抓取当前屏幕并保存为图片的方法
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 CMS SQL jQuery C# C++ java Android IOS oracle MongoDB PostgreSQL SQLite 交通频道 重庆-那曲 浏阳-福州 诸城-漯河 乐清-六安 南充-桐乡 驻马店-鄂尔多斯 临沧-新郑 永康-广元 四平-神木 朔州-章丘 安康-银川 余姚-荆门 焦作-巴中 漯河-垦利 安顺-连云港 天水-义马 阳泉-崇明 枣庄-黄冈 克拉玛依-商丘 广饶-扬州 遵义-秦皇岛 上海-锡林浩特 玉环-张掖 漳州-蚌埠 惠安-长沙 金华-靖江 漯河-包头 海东-胶州 蓟县-海城 兖州-寿光 克拉玛依-鞍山 张掖-伊春 葫芦岛-靖江 偃师-泉州 呼伦贝尔-海东 芜湖-绵阳 青岛-锡林浩特 武安-庄河 东阳-大理 七台河-凉山 海东-石嘴山 神木-荆州 晋中-惠州 镇江-邯郸 溧阳-临汾 衡阳-巩义 玉溪-齐齐哈尔 仪征-泉州 潮州-青州 靖江-广元 福州-新郑 庄河-鹰潭 乐山-攀枝花 重庆-兰州 黄石-南充 即墨-楚雄 龙海-西宁 如皋-江门 和田-普兰店 泰安-西安 奉化-深圳 瓦房店-潮州 大理-海盐 莱州-义乌 天水-宜昌 扬中-南安 长春-文山 三亚-天门 永康-楚雄 哈尔滨-襄阳 焦作-榆林 余姚-海口 张家界-德宏 岱山-铜仁 塔城-遵义 怀化-临沂 天门-庆阳 梅州-运城 安顺-曲靖 章丘-百色 白河东-漯河 瓦祖-乐跃 青岛北-石家庄北 贵定县-贵阳北 民权-盖州 溆浦-内江 保定-德惠 藁城-清河城 榆次-柳林南 卧里屯-伊春 乾县-中宁 合浦-肇庆东 镇平-安庆西 福州-建始 枝江北-长寿北 呼和浩特-五原 衡阳东-珠海 苏州新区-全椒 伊春-哈尔滨东 获嘉-长治 北戴河-阳泉北 邹城-平原 烟台-兴城 广水-黎塘 宜良北-小得江 山海关-枣庄 罗山-当阳 共青城-吉安 连珠山-梨树镇 枣庄-砀山南 彰武-九三 新化-新晃 郴州-向塘 聊城-溆浦 曲阜-台前 鹰潭-马鞍山 正镶白旗-集宁南 新固镇-阳邑 静海-井店 建阳-兴城 诸暨-武义北 铁岭-关林 辽阳-西林 廊坊-桃村北 高邑-安康 莒县-枣庄西 建阳-鹰潭 古莲-光明 桃山-王杨 南昌-余江 泉州-青岛 桐梓-北京西 南宁-宝鸡 榆树屯-大杨树 武威-昌图 佛山-上海南 安阳-兴城 锦州-兰棱 渠县-赣州 新晃西-昆明南 临汾-六枝 文地-长沙 苍南-青田 贵阳北-广州 绵阳-焉耆 熊岳城-敦化 全州南-炎陵 道清-靖宇 莆田-歙县北 阳谷-德清西 合肥南-上海虹桥 白河县-广州北 广安-彭水 临海-宁海 耒阳西-萍乡北 龙市-丰城南 深圳东-丹霞山 盘州-枣庄 潢川-徐闻 沙城-通辽

Copyright © 2016 phpStudy |