gpt4 book ai didi

.net - 如何连接到 2 个不同的 sql 服务器 VB.NET

转载 作者:行者123 更新时间:2023-12-02 05:10:54 25 4
gpt4 key购买 nike

我正在做我的小项目,此时停止了我有 2 个 sql 服务器,一个是部门 sql server(只读)和我的本地服务器用于复制。在 VB.net 中,我打开与 adodb lib 的连接

    connectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security   Info=False;Initial Catalog=Work;Data Source=server1\SQLEXPRESS"
ginfo = "Select * From base1.dbo.table1 "
cn = New ADODB.Connection
rs = New ADODB.Recordset
cn.Open(connectionString)
rs.Open(ginfo, cn, ADODB.CursorTypeEnum.adOpenStatic)
i = 0
With rs
If rs.BOF = False Then
Do While Not .EOF
ReDim Preserve users(i)
users(i).name = rs.Fields(2).Value
lb_sfio.Items.Add(users(i).name)
i = i + 1
.MoveNext()
Loop
End If
End With

所以下一阶段是连接到第二台服务器并从另一台服务器获取信息文字相似。但是,我很感兴趣如何使用 SQL 脚本语言与 2 个服务器一起工作例如

ginfo = "SELECT * FROM srv1.bs1.dbo.tbl1 EXCEPT SELECT * FROM srv2.bs1.dbo.tbl1"

因为在我的变体中是两个慢。也许第二个问题是如何在没有完全比较的情况下在数据库中找到更新(数据库有 4k 个字符串,这很无聊)。

最佳答案

您可以将Server2 添加为linked serverServer1

然后,您对 Server1 的查询将如下所示:

use base1
SELECT field1 FROM table1 EXCEPT SELECT field1 FROM server2.base1.dbo.table1

但是你应该知道performance implications对链接服务器的查询。

链接过程需要 Server1 上的ALTER ANY LINKED SERVER 权限。您不必在每次查询前都重复此操作,链接服务器会一直存在,直到被删除。

关于.net - 如何连接到 2 个不同的 sql 服务器 VB.NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15494241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com