質問

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

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

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

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

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

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

可能な場合。

役に立ちましたか?

解決

テストを行って動作するようになりました。

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

これを実現するには、<!> quot; Sql server configuration manager <!> quot;を開く必要があります。次に、プロトコルの下でtcp / ipを有効にします。その後、<!> quot; tcp / ip <!> quot;をダブルクリックし、<!> quot; IPアドレス<!> quot;を選択します。タブをクリックして一番下までスクロールし、<!> quot; TCP Dynamic Ports <!> quot;を空白にします。 TCPポートに1433と入力します。

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

他のヒント

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

さらに良いのは、データベース名をハードコーディングしないことです。マシンまたはユーザー固有の設定(レジストリ、設定ファイル、好みに合わせて)から読み込みます。

このトピックは死んで埋葬されていると確信しています...しかし、これが誰かの助けにもなる場合:

<!> quot; 1人の開発者がSQL Server Express 2005を実行しており、他の2人がSQL Server 2005 <!> quot;

を実行しています

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top