【发布时间】:2022-01-26 13:48:15
【问题描述】:
我为 Teradata 安装了 eclipse 插件,并尝试关注以下tutorial。
当我尝试部署我的 jar 文件时,我看到错误用户没有对 SQLJ.REPLACE_Jar 的执行过程访问权限。
我还通过使用以下查询向用户授予对数据库的访问权限。
GRANT CREATE PROCEDURE ON Project TO user1;
GRANT EXECUTE PROCEDURE ON Project TO user1;
GRANT CREATE EXTERNAL PROCEDURE ON Project TO user1;
GRANT ALL PRIVILEGES ON Project TO user1;
这些查询运行成功,但我仍然无法部署我的 jar 文件。任何帮助将不胜感激。 非常感谢。
文档图片
【问题讨论】:
-
那么你
GRANT EXECUTE PROCEDURE ON SQLJ.REPLACE_Jar TO user1;正如消息所暗示的那样吗? -
是的,我做了,查询成功。
-
当我尝试通过 Teradata studio 注册 jar 文件时,我看到了这个错误。 [ reate/Replace Java XSP/UDF 传递了一个不可接受的签名。更正签名。 ]
-
这意味着 EXTERNAL NAME 子句中的“签名”存在一些问题。您是否能够成功“部署” jar?
-
“签名”给出了调用方法所需的名称、参数类型、返回类型。 EXTERNAL NAME 子句需要与 Java 中定义的内容相匹配。对于标量函数,jarid:packagename.classname.methodname(argumenttypes) 返回 returntype 请注意,第一部分是您在“部署”步骤和类 / 中使用的 jarid方法名区分大小写(按照 Java 约定,包名应该小写)。