私はこのコードを使用してSQLデータベースを作成するプログラム(C#)を開発しました:C#でプログラムでSQL Serverに接続する方法?
string SQLCreation = "IF NOT EXISTS (SELECT * FROM master..sysdatabases WHERE Name = 'x') CREATE DATABASE x";
SqlConnection PublicSQLDBCreationConnection = new SqlConnection(connectionString);
SqlCommand PublicSQLDBCreation = new SqlCommand(SQLCreation, PublicSQLDBCreationConnection);
try
{
PublicSQLDBCreationConnection.Open();
PublicSQLDBCreation.ExecuteNonQuery();
PublicSQLDBCreationConnection.Close();
}
//'then creates a table and so on
は今はIPまたはコンピュータ名を使用せずに(LAN経由)このデータベースに接続するクライアントアプリケーションを持っていると思います。そんなことがあるものか? IP Adrについて言及していない間にこれを行うことができ、データセットを持っていますか?またはコンピュータ名?
P.S.私のコードをあなたの視点で単純化しましたが、私はSQLインジェクションや他の試みが起こらないことを確認しました。 また、サーバー名やIPについて言及していない理由は、多くのネットワーク上で自分のアプリケーションを大量に展開したいということです。
サーバーの場所はどのように伝えますか? "最初のルータで左折し、次に右の3番目のCAT-5ジャックに接続しますか?" – JNK
IPまたはホスト名なしで接続しないとどういう意味ですか? AFAIKあなたは接続文字列の一部としてそれらの1つを持っていなければなりません。 – blowdart
どのマシン上にあるのかを特定することなくデータベースに直接接続することはできません。要件に応じて、サービスレイヤなどを使用して間接指定を行うことができます。 IPまたはコンピュータ名を指定できない要件/理由は何ですか? –