2011-01-19 3 views
0

可能な場合は、データベース名なしでsqlからデータを読み取ることができます。サーバー名とテーブル名は、C#を使用しています。データベース名なしでデータを読み取る方法

+0

これはどのデータベースですか? SQLサーバー? –

+3

好奇心を要しない....どのようなシナリオで、合法的にデータベースに接続して、誰かに向かわずにデータを取得して、データベース名が何であるかを尋ねますか? – David

答えて

2

あなたは、SQL Server(と私がよく知っているほとんどのデータベースプラットフォーム)を意味すると仮定します。いいえ。データベース名を見つける必要があります。

サーバーを照会することによって、それを知ることができますが、最良の方法は、データベース管理者または許可を与える権限を持っている人を依頼することになるようにを見つけるの方法があります。

1

いいえ、これはできません。 SQLテーブルはSQLデータベースに格納されます。同じサーバー上の2つの異なるデータベースに同じ名前の2つのテーブルを完全に細かく作成できます。したがって、テーブル名とサーバー名だけでは、2つのテーブルのどちらを読み込むのかわかりません。

0

理論的には、sp_databases(SQL Serverの場合)を使用してすべてのデータベースのリストを取得してから、すべてのシステムテーブルを調べて自分の名前のテーブルを調べることができますが、実際にはこれは遅くなります。あなたは本当にすべてのデータベースをサーバ上で見ることができるのでしょうか?)、同じ名前のテーブルが複数のデータベースに存在する可能性があり、正しく動作する方法がありません。

短い回答:実際はありません。

+0

機密情報がまったく含まれていれば、この問題が発生しないようにデータベースが十分にロックされていることを確かめてください。 – David

関連する問題