C# 使用VPN以编程方式连接远程SQLServer数据库

C# 使用VPN以编程方式连接远程SQLServer数据库,c#,.net,sql-server,vb.net,ado.net,C#,.net,Sql Server,Vb.net,Ado.net,我可以连接到VPN,并且可以使用RDP访问Sql Server。现在,我想以编程方式访问Sql Server 我已连接到VPN,然后设置了以下连接字符串: ****constr='数据源=servername;初始目录=dbname;用户ID=用户名;Password=passwd;'** 错误:用户名登录失败 附言: 用户名和密码是我们用来使用RDP远程访问服务器的。sql server经过windows身份验证,并且对给定用户名启用了权限 我感谢你的帮助 仅当您与sql server位于同一

我可以连接到VPN,并且可以使用RDP访问Sql Server。现在,我想以编程方式访问Sql Server

我已连接到VPN,然后设置了以下连接字符串:

****constr='数据源=servername;初始目录=dbname;用户ID=用户名;Password=passwd;'**

错误:用户名登录失败

附言: 用户名和密码是我们用来使用RDP远程访问服务器的。sql server经过windows身份验证,并且对给定用户名启用了权限


我感谢你的帮助

仅当您与sql server位于同一域中时,数据库的Windows身份验证安全性才起作用。VPN不会更改您的域(或工作组)设置,它只是更改您的IP配置并设置到VPN盒的安全通道

您需要更改SQL安全性以使用SQL帐户,然后创建一个普通的SQL Server登录,并将其传入查询字符串。

当您向服务器“RDP”时,实际上是登录到windows桌面。我假设您运行Management Studio并使用windows身份验证连接到“本地”服务器(顺便说一句:整个设置不太理想。您不想强迫数据库服务器担心运行桌面环境和Management Studio)


连接字符串中的“用户ID”和“密码”字段用于Sql身份验证,这与您使用的windows身份验证不同。要实现此功能,您需要使用能够访问服务器的域帐户登录计算机,并将连接字符串更改为使用受信任的身份验证,或者在可用于sql身份验证的服务器上设置帐户。

您可能需要考虑为sql server创建一个安全的主体名称。这使它有权从域外接收令牌,然后允许它执行身份验证。