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 未处理:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)

4

2 回答 2

3

您的 SQL Server 未配置为通过 TCP/IP 进行通信(这就是localhost暗示)

您可以更改连接字符串以使用(local)而不是localhost(注意:括号很重要。)像这样:

Data Source=(local);

或者

您可以将 SQL Server 配置为接受 TCP/IP 连接。

打开SQL Server 配置管理器并导航到 SQL Server Network Configuration --> Protocols for

在右侧,您将看到一个协议列表,例如共享内存、命名管道、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 方法的末尾添加一个。

于 2011-06-08T22:50:17.113 回答