【问题标题】:Invalid Character in a SQL request with Vim使用 Vim 的 SQL 请求中的无效字符
【发布时间】:2015-05-28 06:46:40
【问题描述】:

我从昨天开始就遇到了一个奇怪的问题。我正在编写一个请求 Oracle DB 的 PHP Web 服务。

我在vim中写了一个请求,说:

 SELECT
      RBK_ISBREF AS ISBREF,
       RBK_KEY AS BL_KEY,
       RBK_USERID AS USER_ID,
FROM RULBLACKLIST
WHERE
     RBK_KEY = 'identiteClient'
     AND RBK_VALUE = 'foo'

它返回ORA-00911 Invalid Character。 奇怪的是,我的请求在 SQL 开发人员中是可以的(并返回值),如果我将我的 IDE 从 Vim 更改为它返回正确值的任何内容......

是 Vim 中的格式/编码错误配置吗?

在我的 .vimrc 中,我得到了这些:

set fileformat=unix
set fileformats=unix,dos

" Indentation
"-----------------------
"-----------------------
set autoindent
set smartindent
set backspace=indent,eol,start

" Convert tabs to spaces
set  tabstop =4
set  shiftwidth =4
set  softtabstop =4
set  expandtab

有什么建议吗?

【问题讨论】:

  • 不是您的问题的答案,但由于您要提示:在set 命令中删除= 周围的空格。 = 周围的空格只能在 let 中使用。

标签: oracle vim encoding


【解决方案1】:

检查文件的编码; Vim 可能以 Oracle 工具无法理解的格式编写。

:setlocal fileencoding? bomb? fileformat?

特别是 字节顺序标记 可能是罪魁祸首。或者,您也可以对其他相同的好文件和坏文件进行二进制比较。

【讨论】:

  • 编码是utf-8 [unix],我尝试了setlocal no-bomb,但我仍然得到那个错误......
猜你喜欢
  • 2019-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多