如何从ASP中允许SQL Server数据库连接。NET web应用程序和Windows服务?

时间:2021-03-12 03:31:34

I have an ASP.NET web application and the Windows service running on the same server machine. They both need to connect to the same database, using the following code:

我有一个ASP。NET web应用程序和运行在同一台服务器上的Windows服务。它们都需要连接到同一个数据库,使用以下代码:

using (SqlConnection cn = new SqlConnection(strDBConnect))
{
    cn.Open();

    //And so on...
}

But it gives me this exception when I try to connect from the service:

但是当我尝试从服务中连接时,它给了我一个例外:

"Cannot open user default database. Login failed.\r\nLogin failed for user 'NT AUTHORITY\SYSTEM'."

不能打开用户默认数据库。登录失败。\r\nLogin用户“NT权限\系统”失败。

The connection string I'm using for both is, but it may be different on the actual deployment server:

我所使用的连接字符串是,但是在实际的部署服务器上可能是不同的:

data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename='C:\Users\User\Databases\App_Data\Database1.mdf';User Instance=true;Connection Timeout=15

数据来源=.\SQLEXPRESS;集成安全=SSPI;AttachDBFilename='C:\ \ \ \ \ \ \ \ \数据库\ \ \ \ \ \ \ \ \Database1.mdf';用户实例=true;连接超时=15。

So I'm assuming that I need to add some sharing parameter into connection string. So my question is, how to ensure that more than one process can connect to the SQL Server database?

所以我假设我需要在连接字符串中添加一些共享参数。因此,我的问题是,如何确保多个进程可以连接到SQL Server数据库?

1 个解决方案

#1


0  

Create a specific user.

创建一个特定的用户。

Use this user as the identity of the App Pool

使用此用户作为应用程序池的标识。

Use this user for the identity for the service.

使用此用户作为服务的标识。

Add this user to sql server with the necessary rights.

将此用户添加到具有必要权限的sql服务器。

#1


0  

Create a specific user.

创建一个特定的用户。

Use this user as the identity of the App Pool

使用此用户作为应用程序池的标识。

Use this user for the identity for the service.

使用此用户作为服务的标识。

Add this user to sql server with the necessary rights.

将此用户添加到具有必要权限的sql服务器。