VMware仮想マシン下xpシステムのVS 2010接続SQLServer 2000データベース


プロジェクトの必要に応じて、C#のASPを使用します.NET、SQL Serverデータベース環境で開発され、ホスト環境がApache環境であるため、VMware仮想マシンの下にXP SP 3システムがインストールされ、この仮想マシンで開発環境が構築された:(このxpシステムは以前にSQL Server 2000データベースがインストールされていた)
VS2010 + SQL Server 2000
このように、データベースに接続する操作が必要です.コードは次のとおりです.
	String connectionString = @"server=OSHYN-7BAA4D263\OSHYN_DATABASE; database=InspectDepartment; integrated security=SSPI";

        SqlConnection sqlConn = new SqlConnection(connectionString);
        try
        {
            sqlConn.Open();
        }
        catch (Exception err)
        {
            Response.Write("connection failed!<br>");
            Response.Write(err.Message);
        }
        finally
        {
            sqlConn.Close();
        }

データベースに接続している間、次のエラーが発生します.
「SQLサーバーへの接続が確立されたときに、ネットワーク関連またはインスタンス固有のエラーが発生しました.サーバーが見つかりません.またはアクセスできません.インスタンス名が正しく、SQLサーバーがリモート接続を許可するように構成されていることを確認してください.(provider:Named Pipes Provider,error:40-SQLサーバーへの接続を開くことができません)」
の誤り、ネット上で多くの関連問題を見つけて、みんなはすべて類似の問題が現れたことがあって、主に以下のいくつか参考にすることができる方面があります:
一、データベース側
1、データベースエンジン、データベースサービスを開くかどうかを確認します.
2、サーバー設定で使用可能なプロトコルを設定し、「名前付きパイプ」と「TCP/IP」プロトコルをオンにし、同時にTCP/IPプロトコルに対して属性のポート番号を設定する.特に、VIAプロトコルを無効にする必要があることに注意してください.
3、データベースは混合検証方式検証を有効にする.
4、データベースを開くには、リモート接続を許可します.
二、システムとコード端子
1、接続データベース文字列が正しいかどうか.
ハイブリッド認証方式:
string connString=@"server=マシン名データベースインスタンス名;database=データベース名;integrated security=SSPI";
データベース・ユーザー検証:
string connString=@"server=マシン名データベースインスタンス名;database=データベース名;uid=ユーザー名;pwd=パスワード;
これまで接続エラーが発生したのは、serverを127.0.0.1とlocalhostに設定したため、データベースがデフォルトのインスタンスを使用していないため、インスタンス名が指定されており、実際の「マシン名/データベースインスタンス名」で接続する必要があるためです.
デフォルトのインスタンス名を使用する場合、
server= localhost 
server = 127.0.0.1
server=マシン名
server=ipアドレス
データベースに接続できますが、インスタンス名を指定すると使用できません.対応するインスタンス名を付けなければなりません.
2、システムのファイアウォールの設定をチェックし、ファイアウォールを閉じるか、自分で設定したSQL ServerのTCP/IPポート番号をファイアウォールで開く.
3、他にも質問があるかもしれません.
開発環境の構築には確かに多くの問題が発生するが,問題が解決されるたびに収穫が得られるが,問題が解決されると確かに満足する.今回の環境の構築は、SQL Server 2008をインストールしたいとか、仮想マシンにWIN 7システムをインストールしてからVS 2010とSQL 2008をインストールしたいとか、いろいろ考えましたが、最後はxpシステムのSQLServer 2000が長い間使っていたので、なくしたくないですが、結局データベースに接続することに成功しました.
参考資料:
1、http://blog.csdn.net/insus/article/details/2247318
2、http://space.itpub.net/16436858/viewspace-679375