苏州三木软件科技有限公司

 找回密码
 立即注册
搜索
热搜: 活动
查看: 1559|回复: 2

两个数据库中的两个表合成一个表使用

[复制链接]

2

主题

3

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2025-4-11 10:28:58 | 显示全部楼层 |阅读模式
他人服务器上一个表,我只能读。我在我的数据库中建了一个对应的表,增加几个我自己的字段,与那个表关联。现在想要把两个表的内容合成一个表使用,能同时看到所有内容,并且可以编辑我自己表的内容。两个数据库都是Sql server。
请大神们指点一下,谢谢!
回复

使用道具 举报

104

主题

423

帖子

2779

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2779
QQ
发表于 2025-4-11 15:19:16 | 显示全部楼层
如果是在同一个服务器的话,sqlserver数据库是支持两个不同数据库写视图的。有视图的话,直接按照视图编辑的方式处理即可。

在同一个服务器上的场景:
SELECT A.*, B.*
FROM DatabaseA.dbo.Table1 AS A
INNER JOIN DatabaseB.dbo.Table2 AS B
ON A.CommonField = B.CommonField;

在不同服务器上的场景:
如果两个数据库位于不同的SQL Server服务器上,需要先在本地服务器上创建一个链接服务器,然后通过链接服务器来访问远程服务器上的表。以下是具体步骤和示例:
步骤1:创建链接服务器
在本地服务器上创建一个链接服务器,指向远程服务器。可以使用以下T-SQL代码:
sql
复制
EXEC sp_addlinkedserver
    @server = 'RemoteServer',
    @srvproduct = 'SQL Server';
步骤2:创建视图
使用OPENQUERY函数来查询远程服务器上的表,并将其与本地服务器上的表进行连接。以下是一个示例:
sql
复制
CREATE VIEW CrossServerView
AS
SELECT LocalTable.*, RemoteTable.*
FROM LocalDatabase.dbo.LocalTable AS LocalTable
INNER JOIN OPENQUERY(RemoteServer, 'SELECT * FROM RemoteDatabase.dbo.RemoteTable') AS RemoteTable
ON LocalTable.CommonField = RemoteTable.CommonField;
注意事项
性能问题:跨服务器查询可能会受到网络延迟的影响,特别是在处理大量数据时。
权限配置:确保本地服务器和远程服务器之间的连接具有适当的权限,以允许数据访问。
链接服务器配置:正确配置链接服务器,包括提供正确的服务器地址、登录凭证等。

如果不是SqlServer数据库的话,就可以参考:http://www.sanmugrid.com/help/in ... 7AddVLookupCols.htm
用代码来实现相应的功能。
回复

使用道具 举报

2

主题

3

帖子

12

积分

新手上路

Rank: 1

积分
12
 楼主| 发表于 2025-4-11 16:44:21 | 显示全部楼层
admin 发表于 2025-4-11 15:19
如果是在同一个服务器的话,sqlserver数据库是支持两个不同数据库写视图的。有视图的话,直接按照视图编辑 ...

谢谢王总
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|苏州三木软件科技有限公司 ( 苏ICP备2022038390号 )

苏公网安备 32058502010732号

GMT+8, 2025-5-7 02:38 , Processed in 0.077957 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表