Java 存储过程作为 Java / .Net 互操作

Posted

技术标签:

【中文标题】Java 存储过程作为 Java / .Net 互操作【英文标题】:Java stored procedures as Java / .Net interop 【发布时间】:2010-07-05 06:14:51 【问题描述】:

我正在寻找一种从 Java 控制台应用程序和 ASP.Net 应用程序访问 Java API 的方法。

简而言之,我的 Java API 公开了一系列处理发票的方法。所有这些方法本质上都是命令,例如

GenerateAllInvocies 生成发票号码 打印所有发票 打印发票号码

所有方法都将与数据库交互。我曾相信 Web 服务将成为我进行互操作的手段。但后来我开始了解 Oracle 中的 Java 存储过程。

我相信这意味着我基本上可以将我的存储过程视为一个 API,并让存储过程本身调用适当的 Java 来将发票写入磁盘并打印发票等。但这感觉有点奇怪。

以前有没有人使用过 Java 存储过程来提供调用 Java 和 .Net 应用程序之间的互操作?有什么建议么?这真的是个坏主意吗?

谢谢。

【问题讨论】:

【参考方案1】:

这意味着您将通过 SQL 访问存储过程。鉴于调用的性质(从名称中推断),我觉得这非常违反直觉,更不用说你会把自己绑在 oracle 上。

为什么不通过 web 服务为 asp.net 应用程序公开功能,并为命令行 java 应用程序做同样的事情,或者直接访问调用。

【讨论】:

感谢您的反馈。如何直接从 ASP.NET 访问 Java API 调用? 如果您不想走网络服务路线,我想您可以通过 JNI 公开调用。例如:forums.devshed.com/net-development-87/jni-in-c-367254.html

以上是关于Java 存储过程作为 Java / .Net 互操作的主要内容,如果未能解决你的问题,请参考以下文章

Java中net.sf.json包关于JSON与对象互转的坑

NHibernate 是不是与 Hibernate 互操作?如果没有,是不是有适用于 Java 和 .NET 的框架?

json字符串与java对象互转

json字符串与java对象互转

Java工程编码格式由GBK转化成utf-8(编码格式互转)

java字符串数组作为参数传递oracle存储过程