我有一个数据库服务器,我无法使用我提供的凭据连接到该服务器。但是,在同一服务器的暂存版本上,有一个指向生产数据库的链接服务器。登台服务器和链接服务器都具有相同的架构。
我已经放心,我希望能够在上线之前连接到实时服务器。不幸的是,我在开发中已经达到了一个点,我需要的不仅仅是当前位于登台数据库中的令牌样本记录。所以,我希望能够连接到链接服务器。
到目前为止,在我针对此模式的开发中,使用Subsonic对象已经针对登台服务器本身。一切正常。
我可以通过SQL Server Management Studio连接到该链接服务器并直接执行我的查询。我还可以通过将我的连接字符串连接到登台服务器并以
运行我的查询来对链接服务器执行C#中的“手动”查询SELECT * FROM OpenQuery([LINKEDSERVER],'QUERY')
然而,Subsonic对象使我能够按时在预算内完成这个项目,所以我不打算在我的代码中直接查询。
我正在寻找的是是否有办法说明链接服务器的连接字符串。我已经查看了很多关于这个主题的论坛条目,大多数答案似乎完全掩盖了问题的“链接服务器”部分,重点是基本的连接字符串语法。
答案 0 :(得分:2)
我不相信您可以直接从没有OpenQuery语法的应用程序访问链接服务器。根据模式的复杂性,编写例程或sproc以使用实时数据库中的数据填充登台数据库可能是有意义的。
您也可以考虑查看Redgates SQL数据生成器或任何其他数据生成工具。 Redgates很容易使用。
另一个想法 - 您是否可以获得可以在开发中安装的实时数据库的备份以进行测试?如果它只是您寻求的开发和测试数据,那么您可能希望远离连接到生产数据库。
答案 1 :(得分:2)
在服务器B上创建测试存储过程,该存储过程通过链接服务器引用服务器A上的数据。例如如果您的常规sproc引用服务器B上的表,则说:
databaseA.dbo.tableName
然后使用链接的服务器名称引用服务器A上的相同数据库/表:
linkedServerName.databaseA.dbo.tableName
如果服务器A的数据库/表/列名称相同,那么您可以通过一些快速查找/替换工作来完成此操作。
答案 2 :(得分:0)
从.NET创建链接服务器没有任何意义,因为链接服务器只是从一个sqlserver到另一个服务器(sql,file,excel,sybase等)的连接,实质上它只是一个连接string(您可以在创建链接服务器时模拟并执行其他操作)。
答案 3 :(得分:0)
单向是创建两个连接字符串并在需要时访问approperiate数据库。 第二个选项是仅为数据库A创建连接,并在Database.good文章中为数据库B创建链接服务器,我非常喜欢它。我正在研究Asp.net连接,我发现macrotesting www.macrotesting.com是非常好的来源。谢谢你的文章......
...问候 Meganathan .J