从c#应用程序跨域运行SQL脚本

本文关键字:运行 SQL 脚本 应用程序 | 更新日期: 2023-09-27 18:15:09

要从我的c#应用程序运行sql脚本文件,我参考了这个。http://social.msdn.microsoft.com/forums/en/adodotnetdataproviders/thread/43e8bc3a - 1132 - 453 - b - b950 - 09427 - e970f31

当我的机器和DB服务器在同一域中时,它可以完美地工作。我现在的问题是,我正在从一台机器(名称:X,用户id: abc,域D1)执行这个控制台应用程序。SQL服务器在另一台机器(名称:Y,域:D2)上。我使用VPN以用户id 'abc'连接到机器Y,并在远程桌面中处理SQL。我如何跨域运行SQL脚本?我在TFS构建模板中的自定义活动中使用它,作为在域D2中的目标数据库中运行脚本的最后一步。

我得到这个错误:"在建立到SQL Server的连接时发生了与网络相关或实例特定的错误。未找到服务器或无法访问服务器。验证实例名是否正确,SQL Server是否配置为允许远程连接。(提供者:SQL网络接口,错误:26 -错误定位服务器/实例指定)"

是否可以使用域D2中机器Y的admin用户ID连接到DB ?

从c#应用程序跨域运行SQL脚本

问题不是事实,你是在一个不同的领域,这是一个SQL服务器上配置问题的另一端——可能没有配置为允许远程SQL连接和/或SQL server身份验证——或者你无法连接到服务器由于一些网络问题——防火墙在中间,例如——一旦你图是哪一个问题,你应该能够在这个职位上运行SQL脚本描述你联系在一起。

这不是用户凭证问题。你会得到一个不同的错误。似乎您的客户端机器实际上无法访问服务器'实例。

尝试ping服务器。如果你得到了回应,那么我会考虑其他一些事情。首先,如果这是一个命名实例,那么您需要确保启动了SQL Server Browser服务。还要确保SQL Server服务的协议启用了TCP/IP。当您在连接到实例的本地机器上时,您将使用共享内存。但是远程它利用(或尝试使用)TCP/IP。

检查完后告诉我你在哪里。

如果目标SQL Server可以设置为混合身份验证模式,那么您可以使用特定的SQL Server UID连接,而不是作为admin帐户连接。PWD帐户而不是网络帐户,您的问题将得到解决。