(1)SQL Server数据库和SQL Server数据库之间的数据导入导出。
导入数据
- SELECT * INTO authors1
- FROM OPENDATASOURCE(
- SQLOLEDB ,
- Data Source=192.168.18.252;User ID=sa;Password=abc
- ).pubs.dbo.authors
|
导出数据
- INSERT INTO OPENDATASOURCE(
- SQLOLEDB ,
- Data Source=192.168.18.252;User ID=sa;Password=abc
- ).test.dbo.authors select * from pubs.dbo.authors
-
|
在这条语句中OPENDATASOURCE(...)可以理解为SQL Server的一个服务,.pubs.dbo.authors是这个服务管理的一个数据库的一个表authors。使用INSERT INTO时OPENDATASOURCE(...)后跟的表必须存在。
也可以将以上的OPENDATASOURCE换成OPENROWSET
- INSERT INTO OPENROWSET( SQLOLEDB , 192.168.18.252 ; sa ; abc , select * from test.dbo.kk )
- SELECT * FROM pubs.dbo.authors
|
使用OPENROWSET要注意一点, 192.168.18.252 ; sa ; abc 中间是";",而不是","。OPENDATASOURCE和OPENROWSET都不接受参数变量。
(2)SQL Server数据库和Access数据库之间的数据导入导出。
导入数据
- SELECT * INTO access
- FROM OPENDATASOURCE(
- Microsoft.Jet.OLEDB.4.0 ,
- Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:"data.mdb;Persist Security Info=False )table1
- 或者使用OPENROWSET
-
- SELECT * FROM OPENROWSET( Microsoft.Jet.OLEDB.4.0 , c:"data.mdb ; admin ; , SELECT * FROM table1 )
-
|
导出数据
- INSERT INTO OPENDATASOURCE(
- Microsoft.Jet.OLEDB.4.0 ,
- Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:"data.mdb;Persist Security Info=False )table1
- SELECT * FROM access
|
打开access数据库的OLE DB Provider叫Microsoft.Jet.OLEDB.4.0,需要注意的是操作非SQL Server数据库在OPENDATASOURCE(...)后面引用数据库中的表时使用"...”,而不是“.”。