如何跟踪数据库写入数据的表?

时间:2014-06-02 09:09:00

标签: sql database odbc sybase sqlanywhere

我使用“Lexware Warenwirtschaft Premium 2014”(德国着名的商品管理软件)。它使用Sybase作为数据库。我使用ODBC连接(SQL Anywhere驱动程序)连接到数据库。该数据库有800多个表。例如,当Lexware创建新文章时,它会将数据写入不同的表格。

有没有办法跟踪Lexware写入数据的表格?

2 个答案:

答案 0 :(得分:0)

作为临时措施,您可以打开ODBC跟踪,然后查看内容。

http://support.microsoft.com/kb/274551告诉您如何从Windows客户端执行此操作,您可以找到Linux / Unix和其他客户端的类似信息。

然后,您必须解析跟踪文件以查看插入的查询。第一步可能是隔离所有SQLPrepare和SQLExecDirect语句,并检查它们是否有INSERT,UPDATE和其他相关的Sybase语句。

请注意,这不是您想要的持续解决方案,只是一种了解如果您无权访问例如ODBC客户端所执行操作的方法。记录数据库本身的信息。但是,跟踪会降低执行速度,并且如果您将其保持运行任何重要时间段,它将生成一个非常大的跟踪文件。

答案 1 :(得分:-1)

我不这么认为。无论此程序在界面后面做什么都隐藏在其二进制文件中并且对于人类来说是不可读的,因此您无法读取代码以查看哪些表被更改。

您可能能够找出最后编辑的表,具体取决于SQL-Server及其版本。