0

SQL Server R2をデータベースとして使用するC#アプリケーションがあります。そのデータベースは、という名前の別のPC上にありSERVERます。SQLServerのインスタンス名もserver

私のWindowsアプリケーションはDataSetデータベースとの通信に使用します。これで、SQLがインストールされたPC名が別の名前に変更されましたSERVERHP。今、私のコーディング作業はすべて、接続文字列を変更したいと思っています。それを行う他の簡単な方法はありますか?

hostsファイルを編集しようとしましたが、うまくいきません。

これが私のコーディングスタイルです(http://goo.gl/FQrkp)。私はIDEデザイナーと一緒に使用DataSetしています。DataAdapter

私は100〜150のフォームを持っています。現在、すべてのコーディングをコンパイルすることはできません。そのSQLServerデータベースに簡単に接続する方法が必要です。

コンピューターのホスト名の変更を非表示にする方法が欲しい

4

4 に答える 4

2

いくつかのオプションがあります。

  1. アプリの接続文字列で、すべてのサーバー名をIPアドレスにグローバルに置き換えます

  2. アプリ内のすべてのサーバー名を新しいサーバー名にグローバルに置き換えます

  3. サーバー上のDNSテーブルにCNAMEレコードを追加します(もちろん、同じネットワークにいると仮定します。コンピューター名を使用している場合と同じです)。

  4. LMHOSTSファイルにエントリを追加します(同じIPを指す名前をいくつでも追加できます)

于 2013-03-21T21:09:54.477 に答える
2

私が理解しているように、それはデータベースへの接続に使用されるSqlConnection、またはそのようなものです。SqlConnectionStringBuilderを使用してみませんか?次に、必要な接続文字列を動的に作成できます。また、サーバーのリストを取得するには、名前空間System.Data.SqlからSqlDataSourceEnumeratorを使用できます。

于 2013-03-21T21:17:56.517 に答える
1

SQL Serverを実行しているコンピューター(サーバー/デスクトップ/ Windowsの仮想化インスタンスなど)のホスト名の変更を非表示にする方法が必要なようです。

これは私の専門分野ではありませんが、アプリケーションコードとコンピュータだけを使用する方法は考えられません。

ローカルDNSを制御する場合は、新しい名前を「指す」古い名前でCNAMEエントリを作成できます。接続文字列の保存方法によっては、編集する必要がある場合としない場合があります。ただし、CNAMEはいつでも新しい場所を指すように編集できるため、SQLServerの場所が再び変更されることを心配する必要はありません。

将来の注意-現在の問題ではありません:特にMS SQL Serverを引き続き使用する場合は、インスタンス名を入力する必要があるため、デフォルトのインスタンスではないコンピューターに移動する場合は注意が必要です。接続文字列にも含まれているため、すべてのアプリケーションweb.configsとapp.configsを再度編集する必要がある場合があります。

于 2013-03-21T21:15:11.257 に答える
1

開発作業でVisualStudio2012を使用していますか?ミニSQLdbVSインストール(プレミアムバージョンを使用)との競合が発生し、SQLデータベースを指すようにMachine.configファイルのConnectionStringsセクションを変更する必要がありました。何らかの理由で、VSはMachine.Configファイル(使用している.Netのバージョンに関係なく)にミニデータベースへの参照を書き込み、潜在的な競合をスローします。

このファイルは、%systemroot%\ Microsoft.Net \ Framework64 \ dot net version\Configにあります。

x86プロセッサを使用している場合、Framework64フォルダは単に「フレームワーク」と呼ばれます。

于 2013-03-21T21:20:02.663 に答える