同じPC内のSQLServerにリモート接続許可されない
DT-PC(WindowsXP-sp2)にVisual C# 2005 Standard EditionとSQLServer2005 とSQLServer Management Studio Expressをインストールして,C#のプログラムでデバッグを実行して、SQLServerに接続しようとしたら「規定の設定がリモート接続を許可しないようになっていることがエラーの原因である可能性があります。」と通知ポップアップウィンドウに表示されるので、http://www.microsoft.com/japan/sql/ssj/tips/01.mspxを参考にして、
「ローカル接続およびリモート接続」と「TCP/IPのみを使用する」を選択し、
一度、サービスを停止した後、「開始」ボタンを押下して、Windowsファイアウォールを無効にして、下記の様にIPアドレスを直接してし、
private void button2_Click(object sender, EventArgs e)
{
System.Data.SqlClient.SqlConnection cn
= new System.Data.SqlClient.SqlConnection();
//接続文字列を作成する
cn.ConnectionString = "Data Source=192.168.30.80:139"
+ ";Integrated Security=True;database=Database1";
try
{
cn.Open();
MessageBox.Show("接続に成功しました。", "通知");
cn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "通知");
}
}
接続文字列を色々と書き換えてやってみましたが、どうしても先のリモート接続を許可しない・・・が表示され、SQLServer2500に接続できません。
DOSコマンドでnetstat -anを実行すると
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\yamada>netstat -an
Active Connections
Proto Local Address Foreign Address State
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1059 0.0.0.0:0 LISTENING
TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING
TCP 127.0.0.1:1028 0.0.0.0:0 LISTENING
TCP 192.168.30.80:139 0.0.0.0:0 LISTENING
UDP 0.0.0.0:445 *:*
UDP 0.0.0.0:500 *:*
UDP 0.0.0.0:1035 *:*
UDP 0.0.0.0:1434 *:*
UDP 0.0.0.0:4500 *:*
UDP 127.0.0.1:123 *:*
UDP 127.0.0.1:1900 *:*
UDP 192.168.30.80:123 *:*
UDP 192.168.30.80:137 *:*
UDP 192.168.30.80:138 *:*
UDP 192.168.30.80:1900 *:*
C:\Documents and Settings\yamada>
のように表示されます。
先のソースは、株式会社 秀和システムの「Visuai C# 2005 逆引き大全 500 の極意」のP301のリスト2を書き換えたものです。
Cドライブのフォルダ「C#2005」に置いたACCESSへの接続は成功しますが、
( C:\C#2005\SampleDB.mdb)
Cドライブ直下に置いたSQLSqerverデータベース C:\Database1.mdf への接続は失敗してしまいます。
Windowsファイアウォールは無効に設定せず、「例外」を設定する必要があるのでしょうか。 また、現在、使用している某社のウィルスセキュリティソフトも無効に設定しなければならないのでしょうか。また、管理者権限でないと接続できないのでしょうか。
以上
お礼
そうですね、今後軽率な行動には気をつけたいと思います。 以前フリーソフトをDLした後?(たまたまその後に気付いた?)OSが正常にシャットダウンできなくなった為に なにかにやられたのでは?という疑念がついてまわって いました。 侵入されていることより、汚染を気にしたほうが先かも知れません(~_~) お騒がせ致しました。