小编Ama*_*hya的帖子

Teradata和Java服务器连接

我正在尝试使用Teradata UDF连接到JAVA服务器,这里是我的代码.它使用HOST作为"localhost",PORT(整数)作为"9091",并且提供了所有参数,如PEM文件位置等,但是函数总是从catch块退出.我知道exit(0)在Teradata UDF中不允许这样做,我只是为了调试而使用它.在ORACLE UDF的情况下,相同的代码连接到服务器绝对没问题.请告知Teradata可以使用哪些端口进行通信,或者Teradata是否支持与服务器的SSL连接.服务器接受请求类型的参数并返回结果,两者都是类型vector <struct>.

  Response CplusplusClient::startClient(DeTokenizationRequest request) {
  boost::shared_ptr<TSSLSocketFactory> factory(new TSSLSocketFactory());
  factory->loadPrivateKey(PRIVATE_KEY.c_str());
  factory->loadCertificate(CERTIFICATE.c_str());
  factory->loadTrustedCertificates(TRUSTED_CERTIFICATE.c_str());
  factory->authenticate(true);
  boost::shared_ptr<TSSLSocket> socket = factory->createSocket(HOST,PORT);

  boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
  boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
  XSecurityServiceClient client(protocol);

  Response result;

 try {
    transport->open();
    client.requested(result, request);
    transport->close();
  } catch (TException& tx) {
    exit(0);
  }
  return result;
}
}
Run Code Online (Sandbox Code Playgroud)

teradata

6
推荐指数
1
解决办法
141
查看次数

标签 统计

teradata ×1