如何訪問不同服務器的數據庫
来源:互联网 发布:千里驰援李天霞 知乎 编辑:程序博客网 时间:2024/06/18 04:14
在我们做数据库程序开发的时候,经常会遇到这种情况:需要将一个数据库服务器中的数据导入到另一个数据库服务器的表中。通常我们会使用这种方法:先把一个数据库中的数据取出来放到某出,然后再把这些数据一条条插入到目的数据库中,这种方法效率较低,写起程序来也很繁琐,容易出错。另外一种方法是使用bcp或BULK INSERT语句,将数据导入到一个文件中,再从此文件中导出到目的数据库,这种方法虽然效率稍高,但也有很多不如意的地方,单是在导入时怎样找到另外一台机器上的数据导入文件就很麻烦。
最方便的一种方法,我想也是效率最高的方法,应该是这样:
比如有两个数据库服务器:zl和ljw,里面都有一个数据库taxitemp(也可以不同名),数据库里有一个表,叫users,我们现在想把zl中的users数据导入到ljw中,可以这样写sql语句(假设现在连接的是zl数据库):
insert into ljw.taxitemp.dbo.users
select * from users
这样,通过一条sql语句就完成了不同数据库服务器之间的数据复制。
有人会说,这种sql语句我也会写,我也想到了,但是没办法执行。
的确,单纯的这样一条语句没办法执行,因为数据库不知道ljw是什么服务器,也不知道怎样登录,当然会报错。
我们可以这样解决注册远程数据库服务器和登录的问题:
注册远程数据库服务器:
EXEC sp_addlinkedserver 'ljw', N'SQL Server'
注册远程数据库服务器的登录方法:
EXEC sp_addlinkedsrvlogin 'ljw', 'false', NULL, 'sa', 'zz'
至于这两个存储过程的详细用法,我就不多讲了,大家看看帮助就明白了。
只要我们先执行远程数据库服务器注册和登录方法注册,然后就可以把远程数据库当成本地数据库使用了。
最方便的一种方法,我想也是效率最高的方法,应该是这样:
比如有两个数据库服务器:zl和ljw,里面都有一个数据库taxitemp(也可以不同名),数据库里有一个表,叫users,我们现在想把zl中的users数据导入到ljw中,可以这样写sql语句(假设现在连接的是zl数据库):
insert into ljw.taxitemp.dbo.users
select * from users
这样,通过一条sql语句就完成了不同数据库服务器之间的数据复制。
有人会说,这种sql语句我也会写,我也想到了,但是没办法执行。
的确,单纯的这样一条语句没办法执行,因为数据库不知道ljw是什么服务器,也不知道怎样登录,当然会报错。
我们可以这样解决注册远程数据库服务器和登录的问题:
注册远程数据库服务器:
EXEC sp_addlinkedserver 'ljw', N'SQL Server'
注册远程数据库服务器的登录方法:
EXEC sp_addlinkedsrvlogin 'ljw', 'false', NULL, 'sa', 'zz'
至于这两个存储过程的详细用法,我就不多讲了,大家看看帮助就明白了。
只要我们先执行远程数据库服务器注册和登录方法注册,然后就可以把远程数据库当成本地数据库使用了。
- 如何訪問不同服務器的數據庫
- 如何让不同的二级域名访问不同的目录
- ecshop如何实现不同的分类调用不同的模版
- scrapy如何针对不同的spider指定不同的参数
- scrapy如何针对不同的spider指定不同的参数
- 如何让不同的HTML代码适应不同的浏览器
- 如何配置Apache不同的端口指向不同的网站
- 如何打包生成App的两个不同名字,不同图标
- ASP.NET网站如何实现不同域名解析不同的子目录
- WordPress如何现实:不同页面显示不同的侧边栏
- PetShop是如何兼容不同数据库的
- 如何与不同性格的人共事
- 如何处理不同语言的邮件模板
- PetShop是如何兼容不同数据库的
- PetShop是如何兼容不同数据库的
- 如何面对不同性格的员工?[1]
- 如何面对不同性格的员工?[2]
- SharePoint: 如何比较文档的不同版本
- 编译时提示程序集引用找不到与.Net Framework 4 Client Profile
- c++容器简介与比较
- SSO单点登录解决方案
- 关于ioremap,request_mem_region
- [iOS]深入浅出 iOS 之生命周期
- 如何訪問不同服務器的數據庫
- Flex转义字符串
- Ubuntu11.04之Wine下完美安装QQ 2010
- Android游戏框架理解与细节
- eclipse+hibernate 连接Oracle (-)
- Linux设备驱动的分层设计思想
- jquery+ajax+asp.net 页面无刷新效果
- toString
- No response of the eclipse in Ubuntu