我使用的是"Lexware Warenwirtschaft Premium 2014“(德国著名的商品管理软件)。它使用Sybase作为数据库。我使用ODBC连接(SQL Anywhere驱动程序)连接到数据库。该数据库具有800+表。例如,当Lexware创建新的文章时,它会将数据写入不同的表中。
有没有办法跟踪Lexware将数据写入哪些表?
发布于 2014-06-02 19:54:49
作为一种临时措施,您可以打开ODBC跟踪,然后查看其内容。
http://support.microsoft.com/kb/274551告诉您如何从Windows客户端执行此操作,您可以在Linux/Unix和其他客户端找到类似的信息。
然后,您必须解析跟踪文件,以查看插入了哪些查询。第一步可能是隔离所有的SQLPrepare和SQLExecDirect语句,并检查它们的INSERT、UPDATE和其他相关的Sybase语句。
请注意,这不是您希望作为持续解决方案的东西,而是一种在您无法访问数据库本身(例如,记录数据库本身的信息)的情况下找出ODBC客户端所做的事情的方法。但是,跟踪会减慢执行速度,如果您让它运行了很长一段时间,它会生成一个非常大的跟踪文件。
发布于 2014-06-02 17:19:44
我不这样认为。这个程序在接口后面做的任何事情都隐藏在它的二进制文件中,对人类来说是不可读的,因此您无法阅读代码来查看哪些表被更改了。
根据SQL-Server及其版本的不同,您也许能够确定最后编辑的是哪个表。
https://stackoverflow.com/questions/23990932
复制相似问题