質問: ASP.NETのWebアプリからsqlserverのDBへ接続したいので、PowerShellで以下のコードを書いたとき、 Server("Server=."の".")のPathは具体的にどこを指すのでしょうか。(pwdを叩いた時のPathでしょうか?) ざっくりしていて申し訳ないです。 参考URLがあればご教示ください。 ``` dotnet ef dbcontext scaffold "Server=.\SQLEXPRESS;Database=XXX;Trusted_Connection=True" Microsoft.EntityFrameworkCore.SqlServer -o Models ``` <ご質問への追記> 実現したいことはSurferOnWww様がおっしゃっている通り、 「ASP.NETのWebアプリケーションからSQL Serverに接続して使用したい」 ということです。(逆ですね、大変失礼しました) "Server=."で実行したところ、接続することが出来ませんでした。 (コンピュータ名を含めたフルパスで実行したところ、正常に接続出来た) 私が勝手に「"Server=."はローカルにあるSQL ServerのDBパスを探し出す」と勘違いしていたのですが、 フルパスでDB参照パスを記載すると正常に接続することが出来ましたので、 この場合の"."は一体何処を参照しているのか疑問に思った次第です。
回答: 今は、開発マシンのローカル SQL Server Express に接続しているようですが、運用環境で Web サーバー (IIS) 上で web アプリを動かし、リモートの SQL Server に接続するような場合は、話が全然違ってきます。 今の話の延長線上では難しそうですが、それはまたその時ということで・・・ > > Server("Server=."の".")のPathは具体的にどこを指すのでしょうか。 > > > Microsoft の公式文書には書いてないですが、"." は "(local)" を意味します。 ただし、Microsoft の公式文書(url 下記。日本語は翻訳がダメなので英語で読んでください)に "When specifying a local instance, always use (local)." と書いてある通り、"." ではなく "(local)" を使うべきです。 SqlConnection.ConnectionString プロパティ Server=.\SQLEXPRESS ではなくて Server= (local)\SQLEXPRESS とすべきです。 ちなみに、SQLEXPRESS は、SQL Server Express 版をデフォルトでインストールした時は名前付きインスタンスになりますが、その名前です。 SQLEXPRESS は「名前つきインスタンス」名