通过一条sql语句访问不同数据库的方法

原创 2005年04月29日 15:12:00
通过一条sql语句访问不同数据库的方法


在我们做数据库程序开发的时候,经常会遇到这种情况:需要将一个数据库服务器中的数据导入到另一个数据库服务器的表中。通常我们会使用这种方法:先把一个数据库中的数据取出来放到某出,然后再把这些数据一条条插入到目的数据库中,这种方法效率较低,写起程序来也很繁琐,容易出错。另外一种方法是使用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'
至于这两个存储过程的详细用法,我就不多讲了,大家看看帮助就明白了。

只要我们先执行远程数据库服务器注册和登录方法注册,然后就可以把远程数据库当成本地数据库使用了

SqlServer通过sql语句访问指定IP地址的数据库

1.启用 'Ad Hoc Distributed Queries' exec sp_configure 'show advanced options',1 reconfigure exec ...
  • singgel
  • singgel
  • 2016年06月14日 13:53
  • 1108

查询某个字段不同值各自最新的一条数据记录SQL语句

查询各个测站点最新的一条记录: 第一种查询语句:      if(!isNull(stcd)){ //某个测站点最新的一条记录 sql.append("select a.* from dt_wate...
  • qq_23145857
  • qq_23145857
  • 2016年04月23日 18:51
  • 2620

[数据库]简单SQL语句总结

全篇以学生成绩的管理为例描述。1.在查询结果中显示列名:a.用as关键字:select name as 姓名   from students order by ageb.直接表示:select nam...
  • sunjx119
  • sunjx119
  • 2004年07月22日 22:04
  • 3704

python执行mysql数据库sql操作

python操作mysql数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口。 Python 数据库接口支持非常多的数...
  • Primeprime
  • Primeprime
  • 2017年08月02日 14:56
  • 450

YII2.0打印sql语句方法

Yii中查看sql语句的方法: //1、查询结构         $record = Article::find()->joinWith('articleClass');         //2、复制...
  • wlzx120
  • wlzx120
  • 2017年01月06日 10:47
  • 1483

随机查找一条记录的SQL语句

今天回答了一个问题随机查找一条SQL语句,所以总结一下问题如下:表Users:UserID   UserName1        张三2        李四3        王五..............
  • sendling
  • sendling
  • 2007年07月18日 00:42
  • 1936

oracle,mysql,SqlServer三种数据库的分页查询总结

MySql: MySQL数据库实现分页比较简单,提供了 LIMIT函数。一般只需要直接写到sql语句后面就行了。 LIMIT子 句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参...
  • SH_King
  • SH_King
  • 2015年07月31日 15:36
  • 1865

在Sql Server里通过Sql语句【连接】和【操作】另一个【外地数据库】!

exec sp_addlinkedserver 'csj','','SQLOLEDB','pc'  -- 把【数据库地址pc】与连接名称【csj】绑定 exec sp_addlinkedsrvlog...
  • dxnn520
  • dxnn520
  • 2012年10月08日 20:22
  • 6835

用一条SQL语句查询一张表得到不同条件的多个结果

一条语句,12个结果,12行,比较方便与1个dataGridView的现实。我是用在C# Winform上的3层结构的开发上,用这个实现统计12个月每个月的销售总额。现在就差统计表了,GDI功底比较差...
  • C_RainFly
  • C_RainFly
  • 2009年03月03日 23:52
  • 5032

通过一条sql语句访问不同数据库服务器中的数据库对象的方法(转载)

在我们做数据库程序开发的时候,经常会遇到这种情况:需要将一个数据库服务器中的数据导入到另一个数据库服务器的表中。通常我们会使用这种方法:先把一个数据库中的数据取出来放到某出,然后再把这些数据一条条插入...
  • jianglg2008
  • jianglg2008
  • 2004年11月24日 11:10
  • 599
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:通过一条sql语句访问不同数据库的方法
举报原因:
原因补充:

(最多只允许输入30个字)