我必须使用连接到不同数据库/服务器上的第三方工具来收集一些数据并执行一些工作。这个应用程序只注意到它连接到Server1\DB1
和Server2\DB2
在Domain1
并不重要。两台服务器仅使用Windows身份验证(即客户端必须连接IntegratedSecurity=true
)。这种方法在Domain1
中工作得很好。但有一天,我们决定将这个应用程序移动到另一个域上(商业原因)。我们在另一个域上创建了Server1\DB1
的镜像(我们称之为Server1IOtherDomain\DB1
)。目前这个应用程序可以与S erver1OtherDomain\DB1
一起使用,因为我将它作为新域的用户运行,看起来一切正常。我们只需要在我们的环境中支持新版本的DB。然而前几天我们已经认识到连接字符串Server2\DB2
是硬编码的,我们不能这样做Server2\DB2
(在我们的OtherDomain
上创建镜像)。很明显,部分功能不能正常工作,因为它不能在Domain1
中达到Server2\DB2
。 总结我的图片:使用Windows身份验证连接到不同域上的不同数据库
我的2个问题:
- 是否有可能运行
OtherDomain
莫名其妙应用有它连接到不同域中的两个数据块? - 是否有可能使C#程序可以连接到不同域中的各种服务器?例如对不同的主机使用不同的Windows身份验证,如何管理这些情况?
请注意,这个应用程序是第三方,我不能重建它。我试图以不同的用户runas/netonly/user:DOMAIN1 \ USER_NAME“App.exe”运行它,但是连接到“Server1OtherDomain \ DB1”。因为在OtherDomain中运行,我不能使用旧的'Server1 \ DB1'。 – Alezis 2014-09-29 09:41:21
都是域信任关系? – Fabio 2014-09-29 09:59:04
是的,他们是。 – Alezis 2014-09-29 10:01:30