有表,有同义词
报错:表或图示不存在。诊断步骤:
考虑
1 无同义词:CREATE SYNONYM  MR_FILE_DEFINED_MACRO  FOR CPR.MR_FILE_DEFINED_MACRO
2 没有权限: grant select, insert, update, delete, references, alter, index on CPR.MR_FILE_DEFINED_MACRO to PUBLIC; 无效
搞了半天最后重创同义词 加个PUBLIC就搞定了 不需要赋权限哪个public怎么那么重要啊

解决方案 »

  1.   

    public 是公有同义词,所有人不需要权限就都能访问。
    没有是私有的需要显示赋权。
      

  2.   

    那不public会有啥后果呢?应用程序会调用到这个表就会报错吗
    那么是不是所有的表的别名都应该声明为public呢?
      

  3.   

    应用程序连接的user 如果有调用这个 synonym 的权限就不会报错,没有就报错。
    但是如果是一个public 同义词的话,不用赋权也可以。
      

  4.   


    明白了 说白了同义词和它对应的object一样 本质都是一个object 如果不public就不能调用 要 . 调用