报表迁移到生产环境时,报错ORA-00918: column ambiguously defined

报表从开发环境迁移到生产环境时,报表报错UDA-SQL-0107 “prepare”操作期间发生常规异常。ORA-00918: column ambiguously defined。如图:具体报错信息如下:我用数据包进行了测试,发现不分组汇总时,报表不报错,分组汇总后,运行一次不报错,再运行一次就报错:在查询里设置sql with ...显示全部
报表从开发环境迁移到生产环境时,报表报错UDA-SQL-0107 “prepare”操作期间发生常规异常。ORA-00918: column ambiguously defined。如图:

1.bmp


具体报错信息如下:


我用数据包进行了测试,发现不分组汇总时,报表不报错,


分组汇总后,运行一次不报错,再运行一次就报错:


在查询里设置sql with 为否也没用。另外我的FM数据源 查询处理选项 设置的是仅限本地。
另外我的FM模型里和机构维表做了关系如下图:


另外,FM的查询里我用中文 重命名了,没有重复的中文名。还是不行,不知道是我的模型有问题还是迁移环境导致的?我在开发环境时是没有问题的。收起
参与20

查看其它 12 个回答BI_vp的回答

BI_vpBI_vp研发工程师北京泛鹏天地科技有限公司
我的问题已经解决,在这里贴一下原因和解决方案,供遇到这个问题的朋友参考。
问题原因:
    环境描述:Oracle数据库字符集为UTF8,内容库类型和字符集为DB2-UTF8,Cognos10.1.1服务器用户字符集GBK;
    原因描述:在Cognos服务器上安装的32位客户端,在读取utf8的Oracle中的中文时,由于字符集不匹配,导致中文乱码,在Cognos用户内,用sqlplus登录,执行一个Select '中文' from dual;就能发现中文都变成了"?",由此,导致我Cognos模型中所有用中文定义的列别名全部都是问号,才出现Oracle报错为定义列、模糊列、列名相同等错误。
解决方案:
     将Cognos用户的环境变量字符集改为utf8,重启Cognos
软件开发 · 2015-05-07
浏览1229

回答者

BI_vp
研发工程师北京泛鹏天地科技有限公司
擅长领域: 数据库

BI_vp 最近回答过的问题

回答状态

  • 发布时间:2015-05-07
  • 关注会员:1 人
  • 回答浏览:1229
  • X社区推广