SELECT * FROM OPENDATASOURCE('SQLOLEDB','Data Source=ServerName;User ID=MyUID;Password=MyPass').[hh.device].dbo.Categories我的数据库名称中带“.”,我加了[]后还是报错,在不改动数据库名称的情况下有什么办法能解决
解决方案 »
- SQL难点是那些?
- 如何取得最大值,谢谢大家
- 重复记录条数
- 求助SQL语句的写法。初学,请大家多帮助
- 请问如何用一条SQL语句只列出name重复记录?谢谢!在线等
- 关于触发器的问题,帮我检查一下错误
- 能否使用Sql server 2005的作业调用windows下的exe程序?在集群中也能行吗?
- 急,关于搭建SQL SERVER的服务器选购,恳请各位高手指教!
- 请问我使用backup备份的MSSQL数据库备份的文件(如abc.dat)为什么在硬盘上找不到?我如何将它copy到别的机器上再恢复?
- 我只是初涉Oracle,看过一本DBA的书觉得很难懂,所以想找个高手引导一下
- 除去列中的数字,第一次发帖大家顶顶。
- |M| SQL2005 我在企业管理器中打开表 然后在里面改数据 他不让保存 提示:错误源: Net sqlClinet Data Provider. 错误信息 ...
--创建链接服务器
exec sp_addlinkedserver 'ITSV','','SQLOLEDB','远程服务器名或ip地址'
exec sp_addlinkedsrvlogin 'ITSV','false',null,'用户名','密码'--查询示例
select * from ITSV.数据库名.dbo.表名--导入示例
select * into 表 from ITSV.数据库名.dbo.表名--以后不再使用时删除链接服务器
exec sp_dropserver 'ITSV','droplogins'--连接远程/局域网数据(openrowset/openquery/opendatasource)
--1、openrowset--查询示例
select * from openrowset('SQLOLEDB','sql服务器名';'用户名';'密码',数据库名.dbo.表名)--生成本地表
select * into 表 from openrowset('SQLOLEDB','sql服务器名';'用户名';'密码',数据库名.dbo.表名)--把本地表导入远程表
insert openrowset('SQLOLEDB','sql服务器名';'用户名';'密码',数据库名.dbo.表名)
select *from 本地表--更新本地表
update b
set b.列A=a.列A
from openrowset('SQLOLEDB','sql服务器名';'用户名';'密码',数据库名.dbo.表名)as a inner join 本地表 b
on a.column1=b.column1--openquery用法需要创建一个连接--首先创建一个连接创建链接服务器
exec sp_addlinkedserver 'ITSV','','SQLOLEDB','远程服务器名或ip地址'
--查询
select *
FROM openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名')
--把本地表导入远程表
insert openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名')
select * from 本地表
--更新本地表
update b
set b.列B=a.列B
FROM openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名') as a
inner join 本地表 b on a.列A=b.列A--3、opendatasource/openrowset
SELECT *
FROM opendatasource('SQLOLEDB', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码' ).test.dbo.roy_ta
--把本地表导入远程表
insert opendatasource('SQLOLEDB', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码').数据库.dbo.表名
select * from 本地表