1

実際、私は新しいクライアントを持っており、そのデータベースには標準の命名規則がなく、アプリケーションは従来のASPです。さまざまなテキストボックスに多くの値があるフォームを持っています。値を追跡するのは非常に困難です。 table.& erd もありません。

値を指定して列名を持つテーブル名を取得できるクエリが必要です。

ラベル名 abc#= ' 6599912268 'を持つ値があるとします。

&新しいプロジェクトにはERDがなく、命名規則の標準もありません... abc#= ' 6599912268 'がどのテーブルとどの列名から取得されているかをすばやく知る方法が必要です....このように、UIには多くの値があります手動でトレースするのにかかる時間

追跡する方法はありますか?

4

3 に答える 3

0

これを行う簡単な方法はありません。ストアド プロシージャを使用してデータベース内のすべてのテーブルをループし、値を検索する必要があり、おそらくしばらく時間がかかります。

ここにストアド プロシージャと例があります: Search all columns in the all table in a database for a specific value . 日付、文字列、数値を検索するためのストアド プロシージャがあることがわかります。

于 2012-07-11T05:23:47.550 に答える
0

簡単な答えはノーです。値を調べるだけでは、元のテーブル/列を追跡する方法はありません。以下を提案します。
製品が使用しているデータベースのタイプを調べます。それが置かれている場所にアクセスできますか。
データベースにアクセスできる場合は、db 構造を理解してください。各テーブルの保存対象、関係など。データベース管理者またはビジネスアナリストに相談して、製品ドメインに関する知識を増やしてください。データベース構造を取得したら、テーブルとページを比較してみてください。例えば。ユーザーの詳細は、'Users' または 'Membership' という名前のデータベース テーブルに保存されるのが最も好きです。

次に、Web サイトのソース コードを見てください。あなたがいる特定のページを見てください。SQL コードはソース コード (asp ページ) に埋め込まれていますか、それとも COM サーバーなどを呼び出しますか? あなたが「幸運」である場合(そして、あなたが抱えている問題の目的で幸運だと言います)、aspページでSQLコードを見つけます。
COM オブジェクトなどを呼び出す場合は、そのソース コードを掘り下げる必要があり、そこに sql が存在する可能性が高くなります。

于 2012-07-11T05:17:26.590 に答える
0

不可能です。値で列を検索すると、同じ値で複数の列を取得する可能性があるため、それらをどのように区別し、同じケースがテーブルの場合です。

于 2012-07-11T06:20:35.793 に答える