使用Advantage Database Server和JDBC连接

时间:2014-04-15 13:50:35

标签: advantage-database-server

我试图找出如何使用JDBC连接和SQL语句来读取驻留在Advantage Database Server上的DBF / CDX表(使用免费连接)并查找“已删除”记录。 (那些逻辑删除但未被物理删除的记录。)

  

我知道我可以使用a包含或排除已删除的记录   连接属性,但我的问题是如何包含它们   然后识别它们。

1 个答案:

答案 0 :(得分:2)

不幸的是,我认为通过JDBC和仅限SQL的解决方案有一种简单的方法可以做到这一点。如您所述,可以通过在连接字符串中包含ShowDeleted=true;来显示逻辑删除的记录。但在执行此操作后,无法区分SQL语句中已删除和未删除的DBF记录。

有可能编写一个Advantage Extended Procedure使用导航方法返回有关逻辑删除记录的信息,但这可能是一项从头开始的工作。另一个想法(一个相当混乱/丑陋的想法)可能是使用两个单独的连接到同一个表,其中一个显示已删除的记录而另一个没有,然后获取ROWID并使用它来隔离已删除的记录。不好玩。

它现在没有帮助,但即将发布的版本(v12)将包含一个SQL标量函数DELETED(),它对逻辑删除的记录返回true / false。这正是您所需要的,但直到2014年晚些时候才可用。

相关问题