SELECT * INTO XLImport3 FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', 'Data Source=C:\test\xltest.xls;Extended Properties=Excel 8.0')...[Customers$]SELECT * INTO XLImport4 FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=C:\test\xltest.xls', [Customers$])SELECT * INTO XLImport5 FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=C:\test\xltest.xls', 'SELECT * FROM [Customers$]')
不同服务器数据库之间的数据操作--创建链接服务器 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
'Data Source=C:\test\xltest.xls;Extended Properties=Excel 8.0')...[Customers$]SELECT * INTO XLImport4 FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\test\xltest.xls', [Customers$])SELECT * INTO XLImport5 FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\test\xltest.xls', 'SELECT * FROM [Customers$]')
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
/*== ==*/
/*== 模板关键字说明 ==*/
/*== ==*/
/*================================================================*/
<LinkedServerName> 链接服务器名
<ServerName> 要访问的服务器名。例如,对于SQL Server数据库而言是实例名,对于ORACLE数据库而言是SQL*Net别名
<UserName> 访问OLE DB数据源的用户名
<Password> 访问OLE DB数据源的用户密码
<DatabaseName> 要访问的数据库名
<Path> 访问外部数据文件时,数据文件所在的目录
<FileName> 访问外部数据文件时,数据文件的文件名
<系统DSN名称> SQL Server服务器操作系统数据源(ODBC),【系统DSN】中创建的系统DSN
<ODBC驱动程序> SQL Server服务器操作系统数据源(ODBC),【驱动程序】中列出的,当前操作系统安装的ODBC驱动程序名称
/*================================================================*/
/*== ==*/
/*== 使用链接服务器访问OLE DB数据源 ==*/
/*== ==*/
/*================================================================*/
--SQL Server
EXEC sp_addlinkedserver
@server = '<LinkedServerName>',
@provider='SQLOLEDB',
@datasrc='<ServerName>'
EXEC sp_addlinkedserver
@server = '<ServerName>'
EXEC sp_addlinkedserver
@server = '<LinkedServerName>',
@srvproduct = '',
@provider = 'MSDASQL',
@provstr = 'DRIVER={SQL Server};SERVER=<ServerName>;UID=<UserName>;PWD=<Password>;Database=<DatabaseName>'
--Oracle
EXEC sp_addlinkedserver
@server = '<LinkedServerName>',
@srvproduct = 'Oracle',
@provider = 'MSDAORA',
@datasrc = '<ServerName>'
--Sybase
EXEC sp_addlinkedserver
@server = '<LinkedServerName>',
@srvproduct = '',
@provider = 'MSDASQL',
@provstr = 'Driver={Sybase System 11};Database=<DatabaseName>;Srvr=<ServerName>;UID=<UserName>;PWD=<Password>;'
--ACCESS
EXEC sp_addlinkedserver
@server = '<LinkedServerName>',
@provider = 'Microsoft.Jet.OLEDB.4.0',
@srvproduct = 'OLE DB Provider for Jet',
@datasrc = '<Path>\<FileName>',
@provstr = ';pwd=<Password>'
--Excel
EXEC sp_addlinkedserver
@server = '<LinkedServerName>',
@srvproduct = 'Jet 4.0',
@provider = 'MICROSOFT.JET.OLEDB.4.0',
@datasrc = '<Path>\<FileName>',
@provstr = 'Excel 8.0'
--Text
EXEC sp_addlinkedserver
@server = '<LinkedServerName>',
@srvproduct = 'Jet 4.0',
@provider = 'MICROSOFT.JET.OLEDB.4.0',
@datasrc = '<Path>',
@provstr = 'Text'
--dBase
EXEC sp_addlinkedserver
@server = '<LinkedServerName>',
@srvproduct = 'Jet 4.0',
@provider = 'MICROSOFT.JET.OLEDB.4.0',
@datasrc = '<Path>',
@provstr = 'dBase 5.0'
--Html
EXEC sp_addlinkedserver
@server = '<LinkedServerName>',
@srvproduct = 'Jet 4.0',
@provider = 'MICROSOFT.JET.OLEDB.4.0',
@datasrc = '<Path>\<FileName>',
@provstr = 'HTML Import'
--Paradox
EXEC sp_addlinkedserver
@server = '<LinkedServerName>',
@srvproduct = 'Jet 4.0',
@provider = 'MICROSOFT.JET.OLEDB.4.0',
@datasrc = '<Path>',
@provstr = 'Paradox 5.x'
--VFP
EXEC sp_addlinkedserver
@server = '<LinkedServerName>',
@srvproduct = '',
@provider='MSDASQL',
@provstr='Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=<Path>'--ODBC系统DSN
EXEC sp_addlinkedserver
@server = '<LinkedServerName>',
@srvproduct = '',
@provider='MSDASQL',
@datasrc='<系统DSN名称>'--ODBC驱动程序(针对文件型数据库)
EXEC sp_addlinkedserver
@server = '<LinkedServerName>',
@srvproduct = '',
@provider='MSDASQL',
@provstr='Driver={<ODBC驱动程序>};DefaultDir=<Path>|<Path>\<Filename>'--ODBC驱动程序(针对服务型数据库)
EXEC sp_addlinkedserver
@server = '<LinkedServerName>',
@srvproduct = '',
@provider='MSDASQL',
@provstr='Driver={<ODBC驱动程序>};Server=<ServerName>;UID=<UserName>;PWD=<Password>'
/*================================================================*/
/*== ==*/
/*== 使用OPENROWSET或者OPENDATASOURCE访问OLE DB数据源 ==*/
/*== ==*/
/*================================================================*/
--SQL Server
--使用SQL Server身份验证
OPENROWSET('SQLOLEDB','<ServerName>';'<UserName>';'<Password>',{[catalog.][schema.]object|'query'})
OPENROWSET('SQLOLEDB','ServerName=<ServerName;UID=<UserName>;PWD=<Password>;Database=<DatabaseName>',{[catalog.][schema.]object|'query'})
OPENDATASOURCE('SQLOLEDB','Data Source=<ServerName>;User ID=<UserName>;Password=<Password>;Database=<DatabaseName>')--使用Windows身份验证
OPENROWSET('SQLOLEDB','ServerName=<ServerName;Trusted_Connection=YES;Database=<DatabaseName>',{[catalog.][schema.]object|'query'})
OPENDATASOURCE('SQLOLEDB','Data Source=<ServerName>;Integrated Security=SSPI;Database=<DatabaseName>')--Sybase
OPENROWSET('MSDASQL','Driver={Sybase System 11};Srvr=<ServerName>;Database=<DatabaseName>;UID=<UserName>;PWD=<Password>',{[catalog.][schema.]object|'query'})
OPENDATASOURCE('MSDASQL','Driver={Sybase System 11};Srvr=<ServerName>;Database=<DatabaseName>;UID=<UserName>;PWD=<Password>')--ACCESS
OPENROWSET('Microsoft.Jet.OLEDB.4.0','<Path>\<FileName>';'admin';'',{[catalog.][schema.]object|'query'})
OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Data Source="<Path>\<FileName>";Jet OLEDB:Database Password=<Password>')--Excel
OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;DATABASE=<Path>\<FileName>',{[catalog.][schema.]object|'query'})
OPENDATASOURCE('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;DATABASE=<Path>\<FileName>')--Text
OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Text;DATABASE=<Path>',{[catalog.][schema.]object|'query'})
OPENDATASOURCE('MICROSOFT.JET.OLEDB.4.0','Text;DATABASE=<Path>')--dBase
OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase 5.0;DATABASE=<Path>',{[catalog.][schema.]object|'query'})
OPENDATASOURCE('MICROSOFT.JET.OLEDB.4.0','dBase 5.0;DATABASE=<Path>')--Html
OPENROWSET('MICROSOFT.JET.OLEDB.4.0','HTML Import;DATABASE=<Path>',{[catalog.][schema.]object|'query'})
OPENDATASOURCE('MICROSOFT.JET.OLEDB.4.0','HTML Import;DATABASE=<Path>')
--Paradox
OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Paradox 5.x;DATABASE=<Path>',{[catalog.][schema.]object|'query'})
OPENDATASOURCE('MICROSOFT.JET.OLEDB.4.0','Paradox 5.x;DATABASE=<Path>')
--VFP
OPENROWSET('MSDASQL','Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=<path>',{[catalog.][schema.]object|'query'})--ODBC系统DSN
OPENROWSET('MSDASQL','<系统DSN名称>';'';'',{[catalog.][schema.]object|'query'})
OPENDATASOURCE('MSDASQL','Driver={<系统DSN名称>};Server=')--ODBC驱动程序(针对文件型数据库)
OPENROWSET('MSDASQL','Driver={<ODBC驱动程序>};DefaultDir=<Path>|<Path>\<Filename>','query')--ODBC驱动程序(针对服务型数据库)
OPENDATASOURCE('MSDASQL','Driver={<ODBC驱动程序>};Server=<ServerName>;UID=<UserName>;PWD=<Password>')