2

ローカル データベースに接続できないようです。実行するたびに、空白のウィンドウ (空白のコマンド ライン ウィンドウ) がポップアップ表示されます。

何が恋しいですか?

using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;

namespace dbtest1
{
    class Program
    {
        static void Main(string[] args)
        {
            string myConnectionString = "Initial Catalog=myDB;Data Source=localhost;Integrated Security=SSPI;";
            SqlConnection myConnection = new SqlConnection(myConnectionString);
            string myInsertQuery = "INSERT INTO tts (min, max, average, lh, stdev, main_id) Values(5,5,5,'ASU',5,55)";
            SqlCommand myCommand = new SqlCommand(myInsertQuery);
            myCommand.Connection = myConnection;
            myConnection.Open();
            myCommand.ExecuteNonQuery();
            myCommand.Connection.Close();
        }
    }
}

デバッグを実行すると、エラーが発生しますmyConnection.Open();

SqlException was unhandled: SQL Server への接続の確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。(プロバイダー: 名前付きパイプ プロバイダー、エラー: 40 - SQL Server への接続を開けませんでした)

4

2 に答える 2

3

SQL Server が TCP/IP を介して通信するように構成されていません (これがlocalhost意味することです)

(local)次のように、接続文字列を変更して代わりに使用することができますlocalhost(注: 括弧は重要です)。

Data Source=(local);

また

TCP/IP 接続を受け入れるように SQL Server を構成できます。

SQL Server 構成マネージャーを開き、[ SQL Server ネットワーク構成] --> [プロトコル] に移動します。

右側に、共有メモリ、名前付きパイプ、TCP/IP などのプロトコルのリストが表示されます。TCP/IP がオンになっていることを確認します。(右クリックして「有効にする」を選択)

他の場所で SQL Server Express を使用していると述べていますが、その場合、データ ソースには次のようにインスタンス名 SQLEXPRESS も含める必要があります。

Data Source=localhost\SQLEXPRESS
于 2011-06-09T15:28:21.263 に答える
1

アプリが動作することは間違いありません。データベースをチェックして、値が挿入されているかどうかを確認しましたか?

プロジェクト タイプを Windows コンソール プロジェクトとして設定したため、空白のコマンド ライン ウィンドウが表示される可能性があります。

Console.WriteLine("No worries!");Main メソッドの最後にa を追加してください。

于 2011-06-08T22:50:17.113 に答える