27

共通のコードベースで作業している開発者の 1 人は SQL Server Express 2005 を実行しており、他の 2 人は SQL Server 2005 を実行しています。すべて正常に動作していますが、接続文字列が異なります。共通の構成とビルド スクリプトを維持するために、他の 2 人の開発者と同様に、"localhost\sqlexpress"を単に"localhost"にマスクすることを検討しています。

これはできますか?または、3 つすべてを同じ接続文字列で実行するためのより良い方法があるかもしれません...求められる解決策は、3 つすべてをコード リポジトリ内の同じファイル バージョンで実行できるようにすることです。

私は100%明確ではないかもしれません:基本的に私はこれが欲しいです:

Data Source=localhost;Initial Catalog=Sample;Integrated Security=True

これとまったく同じものを接続するには:

Data Source=localhost\sqlexpress;Initial Catalog=Sample;Integrated Security=True

できれば。

4

3 に答える 3

58

物事をテストして、それを機能させました。

SQL Express はデフォルトで tcp/ip を有効にせず、有効にするとデフォルトのポート 1433 を使用しません。

これを実現するには、「Sql サーバー構成マネージャー」を開き、プロトコルで tcp/ip を有効にする必要があります。その後、「tcp/ip」をダブルクリックし、「IP アドレス」タブを選択して一番下までスクロールし、「TCP 動的ポート」を空白にして、TCP ポートの下に 1433 を入力します。

結局、SQL Server サービスを再起動すると、通常の接続文字列で動作するはずです。

于 2009-01-16T06:16:26.580 に答える
0

このトピックは死んで埋もれていると確信しています...しかし、これが誰かにも役立つ場合:

「1 人の開発者が SQL Server Express 2005 を実行しており、他の 2 人が SQL Server 2005 を実行しています」

インストール時に、インスタンスの名前が MSSQLSERVER になっている可能性があります。インストール時に、インスタンスの名前が SQLEXPRESS になっている可能性があります。MSSQLSERVER はそのままで localhost として機能しますが、SQLEXPRESS は機能しません。今後の参考のために、インストール時に SQLEXPRESS を MSSQLSERVER に名前変更することで、SQL Server Express でこれを回避できます。

ジョンのソリューションは明らかにクリーンです。

于 2013-11-11T20:08:05.383 に答える
0

SQL Server インスタンスには任意の名前を付けることができます。SQL Express でも同様に実行できると確信しているので、各マシンのインスタンスに同じ名前を付ければ、localhost\<name> を使用できます。

または、データベース名をハードコーディングしないでください。いくつかのマシンまたはユーザー固有の設定(レジストリ、構成ファイル、あなたの好みに合ったもの:))からロードします。

于 2009-01-16T05:53:34.847 に答える