首页 > 解决方案 > 登录失败,C# 应用程序/SQL Server 数据库安装在另一台机器上

问题描述

我创建了一个与 SQL 数据库一起运行的桌面应用程序。在我的机器上安装运行完美。在其他机器上安装时不会。消息是:

无法打开登录请求的数据库“verticaladminmod”。登录失败。“Fina-PC\Fina”登录失败</p>

我的机器:

连接字符串:

Data Source=localhost;Initial Catalog=verticaladminmod;Integrated Security=True

其他机器安装:

已经明白这应该是一个凭据问题,但经过多次尝试后无法使其工作。如果可能的话,需要具体的指导和详细的步骤,以便在需要的地方进行配置,以期解决这个问题并深入了解它。太感谢了!

标签: c#sql-serverauthenticationcredentialsdesktop

解决方案


首先,连接字符串需要指向正确的机器(FINA-PC而不是localhost)。在某些情况下,您还需要一个实例(即FINA-PC\MSSQLSERVER),但使用默认实例,您可以跳过实例名称。这就是为什么localhost在原始连接字符串中工作的原因。

一旦解决了这个问题,我们就可以讨论身份验证了。如果您希望集成安全跨机器工作,您还希望拥有一个 Active Directory 域。如果您没有 Active Directory 域,则需要切换到 SQL 身份验证。

SQL 身份验证要求您使用自己的用户名和密码在数据库中创建一个用户(“登录”,在 Sql Server 用语中),您可以将其放入连接字符串中。不要为此使用 sa 帐户。然后,您还必须非常小心存储连接字符串的方式,否则任何反编译器都会显示凭据并提供对数据库的完全访问权限。获得新的登录名和连接字符串后,您还必须授予帐户权限以在数据库中执行所需的操作。


推荐阅读