1

实际上我有一个新客户,他们的数据库没有标准的命名约定,应用程序是经典的 asp。我有一个表单,其中一个表单在不同的文本框中有很多值,很难追踪值来自哪个表。&也没有erd。

我需要一个查询,我可以通过给出 Value 来获取带有列名的表名。

假设我有一个标签名为 abc#= ' 6599912268 ' 的值

&新项目没有 ERD 没有命名约定标准......我需要一种快速的方法来知道 abc# =' 6599912268 ' 是从哪个表和哪个列名中获取的......这样的 UI 有很多值手动跟踪所花费的时间

有没有办法追踪它?

4

3 回答 3

0

简单回答是不。仅通过检查值无法跟踪它来自的表/列。我建议以下。
找出您的产品使用的数据库类型。它位于哪里,您是否可以访问它。
如果您有权访问数据库,请了解数据库结构。每个表要存储的内容、关系等。与数据库管理员或业务分析师交谈,以增加您对产品领域的了解。获得 db 结构后,尝试将表与页面进行比较。例如。用户详细信息最喜欢存储在名为“Users”或“Membership”的数据库表中。

然后看看网站源代码。查看您所在的特定页面。sql代码是嵌入在源代码(asp页面)中还是调用COM服务器或类似的东西?如果您是“幸运的”(我说幸运是因为您遇到的问题),您可以在 asp 页面中找到 sql 代码。
如果它调用 COM 对象或类似的东西,那么您将不得不为此挖掘源代码,而这很可能是您 sql 所在的位置。

于 2012-07-11T05:17:26.590 回答
0

不可能,并且如果您使用该值搜索列,则可能会获得具有相同值的多个列,那么您将如何区分它们并且表的情况相同。

于 2012-07-11T06:20:35.793 回答
0

没有简单的方法可以做到这一点,您必须使用存储过程来遍历数据库中的所有表并搜索值,并且可能需要一段时间。

这里有一个存储过程和示例:Search all columns in all tables in a database for a specific value。您将看到用于查找日期、字符串、数字的存储过程。

于 2012-07-11T05:23:47.550 回答