SQL Server 跨服务器连接的多种方法
2007-05-17 09:36:12 来源:WEB开发网核心提示: 说明:SourceType是数据源类型,SourceDB是数据源,后面是操作DBF的SQL查询语句,D. 使用 OPENROWSET 与 INNER JOIN 中的其他资料表,SQL Server 跨服务器连接的多种方法(5),以下范例选取储存在相同电脑上 SQL Server North
说明:SourceType是数据源类型,SourceDB是数据源,后面是操作DBF的SQL查询语句。
D. 使用 OPENROWSET 与 INNER JOIN 中的其他资料表。
以下范例选取储存在相同电脑上 SQL Server Northwind 资料库的 customers 资料表的所有资料,以及 Access Northwind 资料库的 orders 资料表的所有资料。
附注 以下范例假设已经安装 Access。
USE pubs
GO
Select c.*, o.*
FROM Northwind.dbo.Customers AS c INNER JOIN
OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'c:MSOfficeAccessSamplesorthwind.mdb';
'admin';'mypwd', orders)
AS o
ON c.CustomerID = o.CustomerID
GO
E.将存储过程的记录集插入到虚拟表中(执行的存储不策有全局虚拟表)。
如:
Select * into #t
FROM OPENQUERY([192.168.42.43], 'exec [Order].dbo.Or_Select_BackListDetail ''BK0607190001''')
如下:就会报错,必须先建表create table #t,而且此虚拟表的参数一定要与存储过程的参数一样。
Insert into #t
exec [Order].dbo.Or_Select_BackListDetail 'BK0607190001'
F:将打开的相应的文件(dbf,exec等等),从SQL里插入数据进行。
insert into
--select * from
openrowset('MSDASQL', 'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=d:',
'select * from temp.DBF')
select top 100 orderno,shipto from ordermaster
注:
1、两数字段结构一样(长度、类型)
2、保证导出表没有为null或空的字段
3、将你上面的语句改为下面的select * from tmp.DBF,就是不要那个[]
3、建立链接服务器
if exists (select 1 from master..sysservers
where srvname = 'ls_Source')
exec sp_dropserver 'ls_Source','droplogins'
go exec sp_addlinkedserver
'ls_Source', 'ms','SQLOLEDB','TAODBSV001'
go
exec sp_addlinkedsrvlogin
'ls_Source','false','sa','read',''
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接