sql实现跨库访问的方法是什么?
Admin 2021-05-13 群英技术资讯 2049 次浏览
sql数据库怎样实现跨库访问?有些需求需要我们一个数据库访问另一个数据库,或者一台服务器访问另一台服务器的数据库,很多新手不了解要怎样做sql跨库访问,下面小编就给大家介绍一下实现方法。
同一台服务器跨库访问实现
1. 首先创建两个数据库CrossLibraryTable1,CrossLibraryTable2
--创建CrossLibraryTable1脚本:
use master --打开master数据库,一般的创建语句都在master中执行. go if exists (select * from sysdatabases where name='CrossLibraryTable1') drop database CrossLibraryTable1 /*检查有没有这个数据库,如果有就删除它。*/ go create database CrossLibraryTable1 on primary ( name='CrossLibraryTable1_data', ------------ 养成好习惯,数据文件加_data filename='F:\代码存放\数据库\CrossLibraryTable1_data.mdf', ------------ 一定要是.mdf的文件,代表主数据文件 size=5mb, --默认数据库大小 maxsize=100mb, --最大容量 filegrowth=1mb --增长量 ) log on ( name='CrossLibraryTable1_log', ------------ 养成好习惯,日志文件加_log filename='F:\代码存放\数据库\CrossLibraryTable1_log.ldf', ------------ 一定要是.ldf的文件,代表日志文件 size=1mb, --默认数据库大小 filegrowth=10% --增长量 )
--创建CrossLibraryTable2脚本:
use master --打开master数据库,一般的创建语句都在master中执行. go if exists (select * from sysdatabases where name='CrossLibraryTable2') drop database CrossLibraryTable2 /*检查有没有这个数据库,如果有就删除它。*/ go create database CrossLibraryTable2 on primary ( name='CrossLibraryTable2_data', ------------ 养成好习惯,数据文件加_data filename='F:\代码存放\数据库\CrossLibraryTable2_data.mdf', ------------ 一定要是.mdf的文件,代表主数据文件 size=5mb, --默认数据库大小 maxsize=100mb, --最大容量 filegrowth=1mb --增长量 ) log on ( name='CrossLibraryTable2_log', ------------ 养成好习惯,日志文件加_log filename='F:\代码存放\数据库\CrossLibraryTable2_log.ldf', ------------ 一定要是.ldf的文件,代表日志文件 size=1mb, --默认数据库大小 filegrowth=10% --增长量 )
然后,执行完脚本后,刷新一下就可以看到刚刚创建的数据库了:

2.接下来在两个数据库里面分别创建一个CrossTest1和一个CrossTest2表用于跨库查询
--创建CrossTest1脚本:
use CrossLibraryTable1 create table CrossTest1( Id int primary key identity, Name nvarchar(20) )
--创建CrossTest2脚本:
use CrossLibraryTable2 create table CrossTest2( Id int primary key identity, Name nvarchar(20) )
表创建好后,我们再添加几条数据进去:
use CrossLibraryTable1
insert into CrossTest1 values('跨库1测试数据1')
insert into CrossTest1 values('跨库1测试数据2')
use CrossLibraryTable2
insert into CrossTest2 values('跨库2测试数据1')
insert into CrossTest2 values('跨库2测试数据2')
切换到CrossLibraryTable1下面查询CrossLibraryTable2的数据可以看到报如下错误

修正代码:

PS:像上面那样是可以进行查询,然而在项目中使用上面的代码格式就会引发一些问题,那什么问题呢?比如另一个数据库的名称改变了,我们就需要把所有用到这个的地方都得改掉,这样就很麻烦,那么有什么解决方案么,使得改一处就好了?当然有,用数据库同义词就可以轻松搞定!
创建同义词步骤如下:



不同服务器跨库访问实现
当数据库在不同服务器上面,用上面的方法就不行了,那如何实现跨服务器访问呢?很简单,看下面↓↓↓




关于实现sql跨库访问的介绍就到这,大家按照上述步骤操作就能够实现,希望本文对大家有帮助,更多sql跨库访问内容可以关注其他相关文章。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了jdbc使用PreparedStatement批量插入数据的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
这篇文章主要是SQl语句的练习,本文教大家如何用SQL查询语句求出用户的连续登陆天数,有需要的朋友可以借鉴参考下,希望能够有所帮助
B/S架构中最经典的话题无非于三层架构,可以大概分为数据层,业务逻辑层和表示层,而数据层的作用一般都是和数据库交互,例如查询记录。我们经常是写好查询SQL,然后调用程序执行SQL。但是它内部的工作流程是怎样的呢?先做哪一步,然后做哪一步等,我想还有大部分朋友和我一样都不一定清楚。
本文详细讲解了SQL Server的触发器,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
sql的临时表和表变量不同在哪?对新手来说,可能对临时表和表变量不是很了解,对此这篇文章就给大家介绍sql的临时表和表变量的特征、使用、以及它们的区别,感兴趣的朋友就继续往下看吧。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008