跨数据库使用比较简单,如ceshi数据库想使用Finance2014的A表,则使用SELECT FROM Finance2014dboA
跨服务器的使用,相对复杂一些 需要先连接服务器
EXEC sp_addlinkedserver 'srv_lnk','','SQLOLEDB','1921682249'EXEC sp_addlinkedsrvlogin 'srv_lnk','false',null,'sa','12345'
再设置保证存储过程能够使用
EXEC sp_serveroption @server='srv_lnk',@optname='rpc',@optvalue='TRUE'EXEC sp_serveroption @server='srv_lnk',@optname='rpc out',@optvalue='TRUE'
再跨服务器调用数据库表和存储过程如:
SELECT FROM srv_lnkAdboB 其中A为数据库B为表
EXEC srv_lnkAdboB 其中A为数据库B为存储过程
最简单的办法就是用个ACCESS,无论你用什么代码来写,或者直接 *** 作SQL,
如果是直接 *** 作SQL那更简单,他可以直接建立 *** 作查询,两个地方的数据库也可以用OpenRowSet关键词来取得联系。如果是用代码来编译程序做这样的 *** 作,我的建议是用如PetShop和直接用个ACCESS来做跨数据库的数据表 *** 作。
ACCESS直接做远程网络连接表(SQL远程数据库可以是任意地方的,只样能与当前主机能PING上)在ACCESS里做查询语句,或者直接做一个更新查询,代码调用的时候直接查询更新查询就达到了你的目的。如果是不借助ACCESS或者是借助ACCESS要用纯代码也有办法:
一个是用ACCESS的ODBC()库功能他的表结构是:
Select from 表名 IN ODBC[ODBC:Driver={SQL Server};Server=服务器IP地址;UID=数据库用户名;PWD=密码;DataBase=数据库名称]
你把上面的查询当成一个表,把要插入的表和目的表用上面的格式写下来,拼接字符串就达到了目的。
OpenROWSET是SQL官方提供的一种办法,两个异地数据库,可以用OPENROWSET关键字来做连接,网上代码多的是。
PETSHOP是Net提供的一种方法,直接用NET连接数据库,用PETSHOP象ACCESS查询视图一样做查询表,但是我觉得这样做不好,程序运行效率低,而且相当不灵活。
一个表更新到另一个表要做更新检查,一边插入查询以便做连接查询匹配没有的数据才可以查询,重复的不允许插入,代码这么写:
INSERT INTO 目的表 SELECT 字段名称, 字段名称1, FROM 处理表 INNER JOIN 目的表 ON 处理表匹配字段=目的表匹配字段 WHERE ((目的表字段) IS NULL)
把筛选好的表插入你的目的表,数据库问题解决了,插入检查还要解决啊,你琢磨一下。
sql语句从一张表中查询数据插入到另一张表中的方法如下:
1、select into destTbl from srcTbl。
2、insert into destTbl(fld1, fld2) select fld1, 5 from srcTbl。
以上两句都是将 srcTbl 的数据插入到 destTbl,但两句又有区别的:
第一句(select into from)要求目标表(destTbl)不存在,因为在插入时会自动创建。
第二句(insert into select from)要求目标表(destTbl)存在,由于目标表已经存在,所以我们除了插入源表(srcTbl)的字段外,还可以插入常量。
:结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。sql 语句就是对数据库进行 *** 作的一种语言。
常见语句:
1、更新:update table1 set field1=value1 where 范围。
2、查找:select from table1 where field1 like ’%value1%’ (所有包含‘value1’这个模式的字符串)。
3、排序:select from table1 order by field1,field2 [desc]。
4、求和:select sum(field1) as sumvalue from table1。
5、平均:select avg(field1) as avgvalue from table1。
6、最大:select max(field1) as maxvalue from table1。
7、最小:select min(field1) as minvalue from table1[searator]。
你这个需求:如果两者在同一个服务器(实例),那么你跨数据库查询即可;如果在不同服务器上(实例),那么你要在第一个服务器中增加一个链接服务器来实现(或者通过分布式查询的方式opendatasource)
而不是在DbVisualizer上建两个数据库的connection就能实现的。
以上就是关于跨服务器数据库之间的 *** 作怎么进行全部的内容,包括:跨服务器数据库之间的 *** 作怎么进行、有两个不同的数据库(mysql的),要将一个数据库的信息导入到另一个数据库(其实就是合并),这两个数据库、sql语句 怎么从一张表中查询数据插入到另一张表中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)