C# は SqlServer に接続してピット レコードを踏む
1. SqlServer に接続する場合、プロバイダー: 共有メモリ プロバイダー、エラー: 0 - パイプラインの反対側にプロセスがなく、SqlServer に接続する場合、ユーザー 'sa'... ログインに失敗しました
パイプの反対側にプロセスがないというエラーが発生した場合は、次のアクションを実行する必要があります。
-
Sql Server Management Studio に移動し、データベース サーバーを右クリックして [プロパティ] をクリックします。
-
[セキュリティ] 列で、サーバー認証モードを [Sql Server および Windows 認証モード] に変更し、[OK] をクリックします。
- セキュリティのユーザーで、saユーザーを選択して変更し、ステータスバーの「データベースエンジンへの接続を許可するかどうか」を付与に設定し、ログイン名を有効にします。
- Sql Server ネットワーク構成ツールを開き (スタート メニューで検索するだけ)、MSSQLSERVER のプロトコル TCP/IPを有効にします。
- 上記の 4 つの手順を実行しても問題が解決しない場合は、データベース接続ステートメントで間違ったインスタンス名が記述されていないかどうかを検討する必要があります。
Data Source = の後のインスタンス名が正しいかどうかを確認します
string connString = "Data Source=.\\SQLEXPRESS;database=Patients;uid=sa;pwd=123456";
2. インスタンス名 mssqlserver と sqlserver の違い
mssqlserver と sqlserver:
類似点: mssqlserver と sqlserver はどちらもデータベースの
違いです:
- mssqlserver と sqlserver は、1 つのデータベースの下にある 2 つの異なるインスタンスです
- sqlserver 2005 の既定値は mssqlserver (ms は Microsoft を意味します) であり、sqlexpress は sql のインストール時に作成される新しいインスタンスです。
ヒント: 既定のインスタンス (mssqlserver) 接続では、コンピューター名 (. はマシンを表します) \ インスタンス名は必要ありません。カスタム インスタンス (sqlexpress) 接続では、コンピューター名 (. はマシンを表します) \ インスタンス名が必要です。
- Sqlexpress は mssqlserver の簡略化されたバージョンであり、無料であり、機能ははるかに少なくなっています。テストに適しています。Ms SQL SEver は有料版で、SQL Express よりも強力です。