0

我在使用 Oracle 数据库的 WebLogic 上部署了一个相对简单的 Web 应用程序。当我完成应用程序的开发并准备将其部署到生产 WebLogic 实例所在的实际 Linux 服务器时,应用程序将在所有插入时抛出 DuplicateKeyException。如果我在本地 Windows 机器上运行该应用程序并指向远程数据库,该应用程序就可以正常工作。我还应该注意,从数据库中读取的所有内容在两种环境中都可以正常工作,没有问题。

我已经删除了表上的所有主键约束,只是为了缩小问题的范围,但是每次我在 Linux 部署上执行插入查询时,它都会失败。在本地使用相同的代码、相同的远程数据库、相同版本的 WL (10.3.6) 可以完美运行。所以这里最大的变量是同一个 WAR 文件在 Linux 10.3.6 WL 服务器上抛出了 DuplicateKeyException,但在 Windows 上却没有。Linux 实例实际上位于 Oracle 托管环境中,因此虽然 DB 和 WL 位于不同的服务器上,但我认为由于我的读取命令有效,托管环境不应该与我的插入失败有任何关系。

对此的任何建议或帮助将不胜感激。我不是 Linux 人,只是一名 Java 开发人员,对此我束手无策。谢谢。

4

1 回答 1

1

所以我追踪了这个问题。我继承的一些 GWT 代码正在捕获异常并将 DuplicateKeyException 抛出给客户端。我不确定为什么会抛出这个异常,但我有一个想法,即停止从一个为我做一些数据库工作的类继承,该类有很多登录信息。由于日志记录将与 Linux 文件系统而不是 Windows 进行交互,我认为这可能是不同的。瞧,当我以更原始的方式完成所有数据库交互并停止使用无关代码时,一切都奏效了。除了知道在 Linux 上部署时记录的某些内容被破坏之外,我并没有真正深入研究这一点。我将使用这个特定的程序来帮助我为一些业务人员生成一些 CSV,通常我会

于 2012-10-03T23:18:59.647 回答