数据库连接不工作 - System.Data.SqlClient.SqlException: 管道的另一端没有进程

Database connection not working - System.Data.SqlClient.SqlException: No process is on the other end of the pipe

我正在尝试连接到本地计算机上的数据库,但一直出现错误。

这只是一个学校项目,但我似乎无法弄清楚我哪里出错了。我查看了很多其他答案,并尝试了他们的建议,但尚未取得成功。此时的目标是让我的方法 return 打开连接,以便我可以在我的应用程序中使用它。

这是我的连接字符串:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <connectionStrings>
       <add name="AdventureWorks"
            connectionString="data source=Desktop;initial catalog=AdventureWorksLT2008R2"
            providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>

这是我的 return 打开连接的方法:

using System.Configuration;
using System.Data;
using System.Data.SqlClient;

namespace Repository.DataAccess
{
   public class DBFactory
   {
       public static IDbConnection GetLocalDbConnection()
       {
            string conn = ConfigurationManager.ConnectionStrings["AdventureWorks"].ToString();
            IDbConnection connection = new SqlConnection(conn);
            connection.Open();

            return connection;
       }
   }
}

最后但同样重要的是,这是错误:

System.Data.SqlClient.SqlException: A connection was successfully established with the server, but then an error occurred during the login process. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.)

----> System.ComponentModel.Win32Exception : No process is on the other end of the pipe

您没有在连接字符串中输入任何凭据,您似乎也没有使用 windows 身份验证。

要么使用windows身份验证:

"data source=Desktop;initial catalog=AdventureWorksLT2008R2;Integrated Security=true"

或指定具有登录权限的 SQL 用户:

"data source=Desktop;initial catalog=AdventureWorksLT2008R2;UID=myUser;PWD=myPass"

为了获得更多的连接字符串优势,see msdnTrusted_Connection=yes 可能也需要。