我遇到了另一个与JCo相关的问题,希望能找到帮助。
使用JCo,您可以轻松地建立连接,就像JCo库随附的示例表中所述。不幸的是,建立连接的唯一方法是使用创建的属性文件来处理。如果其中没有任何有意义的数据,那就没那么糟了。但是至少,SAP用户的密码位于文件中,因此这种连接处理方式缺乏安全性。 JCo的手册也这样说:
“在此示例中,目标配置存储在程序调用的文件中。实际上,出于安全原因,应避免这样做。”
但毕竟找不到可行的解决方案。关于这个主题有很多话题,像这样
http://forums.sdn.sap.com/thread.jspa?messageID=7303957
但它们都没有帮助。我真的找不到解决办法,也找不到。实际上,我通过建立连接后删除文件解决了安全性问题,但这不是令人满意的解决方案。必须有一种更好的方法来获取连接的参数,尤其是当它在手册中时,但我没有办法。
有人已经使用JCo 3.0并知道此问题吗?
最佳答案
是的,那是可能的。您必须创建自己的DestinationDataProvider实现,并使用Environment.registerDestinationDataProvider()注册它。但是,您的DDP获取连接数据,凭据由您决定。看一下net.sf.rcer.conn.connections.ConnectionManager,那里有一个工作示例。
你需要
复制从第66行开始的私有类,并使其适应您自己的需求(也就是说,从您想要的任何地方获取连接数据)
在启动应用程序期间在某处执行注册(第204行)
使用一些字符串标识符获取连接,该标识符将传递给DestinationDataProvider。