C# and SQL Server connection



我似乎无法连接到本地数据库。每次运行它时,它都会弹出一个空白窗口(空白命令行窗口)。

我想念什么?

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的连接)

您的SQL Server未配置为通过TCP/IP进行对话(这就是localhost的含义)

您可以将连接字符串更改为使用(local)而不是localhost(注意:括号很重要。)如下所示:

Data Source=(local);

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

打开SQL Server Confuguration Manager并导航到SQL Server Network Configuration-->协议

在右侧,您将看到协议列表,如共享内存、命名管道、TCP/IP等。请确保TCP/IP已打开。(右键单击并选择"启用")

您在其他地方提到您正在使用SQLServerExpress,在这种情况下,您的数据源还必须包括实例名称SQLEXPRESS,如下所示:

Data Source=localhostSQLEXPRESS

我打赌这个应用程序能正常工作。您是否检查了数据库以查看是否插入了值?

空白的命令行窗口很可能是因为您已将项目类型设置为windows控制台项目。

也许可以在Main方法的末尾添加一个Console.WriteLine("No worries!");

相关内容

  • 没有找到相关文章

最新更新