(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(...)后面引用數據庫中的表時使用"...”,而不是“.”。