【问题标题】:Why I am not able to deploy my Jar file via eclipse plugin for Teradata为什么我无法通过 Teradata 的 Eclipse 插件部署我的 Jar 文件
【发布时间】: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 约定,包名应该小写)。

标签: java teradata


【解决方案1】:

我的问题有两部分,当我使用插件时出现一个错误(如图所示),当我在 Teradata studio 上运行查询时出现一个错误。我正在按照 Fred 的建议来查找问题,但我确实成功地运行了插件并创建了一个函数。

错误的解决方法是这样的

 GRANT EXECUTE PROCEDURE  ON  SQLJ.ALTER_JAVA_PATH TO dbc;
 GRANT EXECUTE PROCEDURE  ON  SQLJ.REPLACE_JAR TO dbc;

这将允许用户成功运行函数。

第二部分仍在进行中。

【讨论】:

    猜你喜欢
    • 2010-10-10
    • 2020-06-10
    • 1970-01-01
    • 1970-01-01
    • 2012-05-03
    • 1970-01-01
    • 1970-01-01
    • 2016-02-19
    相关资源
    最近更新 更多