select *
from openrowset('MSDASQL','DRIVER={SQL Server};SERVER=192.168.0.1;',pubs.dbo.authors) select *from OPENDATASOURCE('SQLOLEDB','Data Source=192.168.0.1;User ID=sa;Password=С‘).[qumeierptest].dbo.[AssistOrderProduct] a
由于我是查公司内部的服务器 所以使用域控,我修改一下 也是不行
select * from OPENDATASOURCE('SQLOLEDB.1','Data Source=192.168.0.1;Integrated Security=SSPI;Persist Security Info=False;').[qumeierptest].dbo.[AssistOrderProduct]
在搜索以前的帖子
发现一个 sasacat(傻傻猫)写的连接ORACLE的创建链接数据库
create shared public database link another_database
connect to 用户名 identified by 密码
using 'tns name';
使用的时候就是
select * from tablename@another_database;
from openrowset('MSDASQL','DRIVER={SQL Server};SERVER=192.168.0.1;',pubs.dbo.authors) select *from OPENDATASOURCE('SQLOLEDB','Data Source=192.168.0.1;User ID=sa;Password=С‘).[qumeierptest].dbo.[AssistOrderProduct] a
由于我是查公司内部的服务器 所以使用域控,我修改一下 也是不行
select * from OPENDATASOURCE('SQLOLEDB.1','Data Source=192.168.0.1;Integrated Security=SSPI;Persist Security Info=False;').[qumeierptest].dbo.[AssistOrderProduct]
在搜索以前的帖子
发现一个 sasacat(傻傻猫)写的连接ORACLE的创建链接数据库
create shared public database link another_database
connect to 用户名 identified by 密码
using 'tns name';
使用的时候就是
select * from tablename@another_database;
解决方案 »
- 小弟不才献丑了,走过路过的朋友们来看看你对SQL Server 了解多少,下面的10个简单题目你能搞定几个
- 请问这条sql语句如何编写?
- Delphi ListView排序
- 为什么sql2005的复制中没有本地发布这个选项
- 请问那个SQL语句可以获取表名及列名?
- SQL2000 Server可以在WinXP上安装和正常运行吗?回答有分,在线等
- 问个傻乎乎的问题?
- 可以查出是哪些触发器在影响某字段的值吗?
- 添加将已有的表中添加标识列 用sql语句
- Microsoft OLE DB Provider for SQL Server 错误 '80040e07' 怎么解决
- 如何判斷一個數據庫是否存在,不存在則創建這個數據庫
- 关于取出每个部门工资最高的前三人的问题
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 本地表
drop table BAK200801
if object_id('BAK200802') is not null
drop table BAK200802
if object_id('BAK200804') is not null
drop table BAK200804
if object_id('usp_GetAllcount') is not null
drop proc usp_GetAllcount
go
create table BAK200801(name_ch varchar(10),count_i int)
insert into BAK200801
select 'wo',10 union all
select 'ni',20 union all
select 'ta',20
create table BAK200802(name_ch varchar(10),count_i int)
insert into BAK200802
select 'wo',10 union all
select 'ta',20
create table BAK200804(name_ch varchar(10),count_i int)
insert into BAK200804
select 'ni',20 union all
select 'ta',20
go
--usp_GetAllcount 'ni','2008-1-10','2008-5-10'
create proc usp_GetAllcount
(@personname varchar(10),@begin datetime,@end datetime)
as
begin
declare @b_i int,@e_i int
select @b_i=cast(cast(datepart(yy,@begin) as varchar(5))+right('0'+cast(datepart(mm,@begin)as varchar(5)),2) as int)
select @e_i=cast(cast(datepart(yy,@end) as varchar(5))+right('0'+cast(datepart(mm,@end)as varchar(5)),2) as int)
declare @Allcount int
declare @tablename varchar(10)
declare cur cursor for
select [name] from sys.sysobjects
where xtype='u' and [name] like 'BAK%' and cast(substring([name],4,len([name])) as int)>=@b_i
and cast(substring([name],4,len([name])) as int)<=@e_i
open cur
fetch next from cur into @tablename
while(@@fetch_status=0)
begin
DECLARE @sql NVARCHAR(4000),@parms NVARCHAR(1000),@ReturnValue_want int
set @sql=N'select @ReturnValue=sum(count_i) from '+@tablename+' where name_ch='''+@personname+''''
print @sql
set @parms=N'@ReturnValue int output'
EXECUTE sp_executesql
@sql,
@parms,
@ReturnValue=@ReturnValue_want output
set @Allcount=isnull(@Allcount,0)+isnull(@ReturnValue_want,0)
fetch next from cur into @tablename
end
close cur
deallocate cur
select @Allcount
end
--*远程库
select * from openrowset('SQLOLEDB','远程服务器名';'用户名';'密码','库名.dbo.表名')
SELECT * FROM OPENDATASOURCE('SQLOLEDB','Data Source=192.168.0.111;User ID=sa;Password=sa').tt.dbo.ALaw_BestbigPunish--前提
勾选了外围服务配置器中的Romate query
SELECT *
FROM opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' ).test.dbo.roy_ta