暂无图片
暂无图片
暂无图片
暂无图片
3
暂无图片

帆软连接ORACLE19C报00911错误

原创 bjgzxx 2024-12-25
41

1、帆软用ojdbc8连接oracle19C

报错问题图片

下面是代码

SELECT
  CASE WHEN gs.name is NULL THEN fy.PRE_PAY_GS ELSE gs.name END 付款公司,
  fy.COST_GS 付款部门,
  TO_CHAR( fy.PAY_MONTH, 'YYYY/MM' ) 费用结算时间,
  CASE WHEN fy.FEE_TYPE='基建材料领用费' THEN CONCAT(fy.FEE_TYPE||'-',DEPAR) ELSE fy.FEE_TYPE END 费用类型,
  CASE WHEN IS_USA='否' THEN ROUND(fy.TOTAL_PRICE/usa.PAY_RATE,2) ELSE fy.TOTAL_PRICE END 金额,
  CASE WHEN fy.FEE_TYPE='基建材料领用费' THEN TO_CHAR(fy.PAY_MONTH,'YYYY/MM')||CONCAT(fy.FEE_TYPE||'-',DEPAR) ELSE TO_CHAR(fy.PAY_MONTH,'YYYY/MM')||fy.FEE_TYPE END 摘要,
  fy.COST_GS 立项号,
  pro.PRO_CONTENT 立项内容,
  fy.RECEIVE_DEPAR||fy.COST_GS 备注,
  fy.RECEIVE_DEPAR 施工单位
FROM
  INFRA_MATERIAL_USE fy
  LEFT JOIN PRO_NO_INFO pro ON fy.COST_GS = pro.pro_no
  LEFT JOIN USA_RATE usa ON usa.PAY_MONTH = fy.PAY_MONTH
  LEFT JOIN conpany gs ON fy.PRE_PAY_GS = gs.code
  WHERE
  fy.PAY_MONTH = TO_DATE('2024-12','YYYY-MM')
复制

2、解决办法

字段别名用""括起来

如下:

SELECT
  CASE WHEN gs.name is NULL THEN fy.PRE_PAY_GS ELSE gs.name END "付款公司",
  fy.COST_GS "付款部门",
  TO_CHAR( fy.PAY_MONTH, 'YYYY/MM' ) "费用结算时间",
  CASE WHEN fy.FEE_TYPE='基建材料领用费' THEN CONCAT(fy.FEE_TYPE||'-',DEPAR) ELSE fy.FEE_TYPE END "费用类型",
  CASE WHEN IS_USA='否' THEN ROUND(fy.TOTAL_PRICE/usa.PAY_RATE,2) ELSE fy.TOTAL_PRICE END "金额",
  CASE WHEN fy.FEE_TYPE='基建材料领用费' THEN TO_CHAR(fy.PAY_MONTH,'YYYY/MM')||CONCAT(fy.FEE_TYPE||'-',DEPAR) ELSE TO_CHAR(fy.PAY_MONTH,'YYYY/MM')||fy.FEE_TYPE END "摘要",
  fy.COST_GS "立项号",
  pro.PRO_CONTENT "立项内容",
  fy.RECEIVE_DEPAR||fy.COST_GS "备注",
  fy.RECEIVE_DEPAR "施工单位"
FROM
  INFRA_MATERIAL_USE fy
  LEFT JOIN PRO_NO_INFO pro ON fy.COST_GS = pro.pro_no
  LEFT JOIN USA_RATE usa ON usa.PAY_MONTH = fy.PAY_MONTH
  LEFT JOIN conpany gs ON fy.PRE_PAY_GS = gs.code
  WHERE
  fy.PAY_MONTH = TO_DATE('2024-12','YYYY-MM')
复制

问题解决

但是不知道为什么会出现这个问题。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

R
reddey
暂无图片
3月前
评论
暂无图片 0
oerr ora 911 00911, 00000, "invalid character" // *Cause: The identifier name started with an ASCII character other than a // letter or a number. After the first character of the identifier // name, ASCII characters are allowed including "$", "#" and "_". // Identifiers enclosed in double quotation marks may contain any // character other than a double quotation. Alternate quotation // marks (q'#...#') cannot use spaces, tabs, or carriage returns as // delimiters. For all other contexts, consult the SQL Language // Reference Manual. // *Action: Check the Oracle identifier naming convention. If you are // attempting to provide a password in the IDENTIFIED BY clause of // a CREATE USER or ALTER USER statement, then it is recommended to // always enclose the password in double quotation marks because // characters other than the double quotation are then allowed.
3月前
暂无图片 点赞
2
星星之火
暂无图片
3月前
回复
暂无图片 0
oracle 11G没有问题,oracle 19C出现这个问题
3月前
暂无图片 点赞
回复
R
reddey
暂无图片
3月前
回复
暂无图片 0
@bjgzxx ,我在自己的19C上做了测试,没用双引号,也没有报错。
3月前
暂无图片 点赞
回复