导入数据
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(...)后面引用数据库中的表时使用"...”,而不是“.”。
(3). SQL Server数据库和文本文件之间的数据导入导出。
导入数据
SELECT * INTO text1 FROM OPENDATASOURCE(MICROSOFT.JET.OLEDB.4.0,Text;DATABASE=c:)...[data#txt]
导出数据
INSERT INTO OPENDATASOURCE(MICROSOFT.JET.OLEDB.4.0,Text;DATABASE=c:)...[data#txt] SELECT * FROM text1
或者使用OPENROWSET
INSERT INTO OPENROWSET(MICROSOFT.JET.OLEDB.4.0,Text;DATABASE=c:, [data#txt]) SELECT * FROM text1
如果要插入部分字段,可使用
INSERT INTO OPENROWSET(MICROSOFT.JET.OLEDB.4.0,Text;DATABASE=c:, SELECT aa FROM [data#txt]) SELECT aa FROM text1
这条SQL语句的功能是将c盘根目录的data.txt文件导入到text1表中,在这里文件名中的“.”要使用“#”代替。在向文本导出时,不仅文本文件要存在,而且第一行必须和要导出表的字段一至。
(4). SQL Server数据库和dbase数据库之间的数据导入导出。
导入数据
SELECT * INTO dbase FROM OPENROWSET(MICROSOFT.JET.OLEDB.4.0 , dBase III;HDR=NO;IMEX=2;DATABASE=C:,SELECT * FROM [b.dbf])
导出数据
INSERT INTO OPENROWSET(MICROSOFT.JET.OLEDB.4.0 , dBase III;HDR=NO;IMEX=2;DATABASE=C:,SELECT * FROM [b.dbf]) SELECT * FROM dbase
OPENROWSET(...)中的b.dbf使用[...]括起来,是为了当dbf文件名有空格等字符时不会出错,如果没有这些特殊字符,可以将[...]去掉
(5). SQL Server数据库和foxpro数据库之间的数据导入导出。
导入数据
SELECT * INTO foxpro FROM OPENROWSET(MSDASQL.1, Driver=Microsoft Visual FoxPro Driver;SourceDB=c:; SourceType=DBF, SELECT * FROM [a.dbf])
导出数据
INSERT INTO OPENROWSET(MSDASQL.1 , Driver=Microsoft Visual FoxPro Driver; SourceDB=c:db;SourceType=DBF,SELECT * FROM a.dbf) SELECT * FROM foxpro
在此处a.dbf不能使用[...]括起来,否则出错(这是由driver决定的)。
(6). SQL Server数据库和excel文件之间的数据导入导出
导入数据
SELECT * INTO excel FROM OPENDATASOURCE(MICROSOFT.JET.OLEDB.4.0,Excel 5.0;DATABASE=c:ook1.xls )...[Sheet1$]
导出数据
INSERT INTO OPENDATASOURCE(MICROSOFT.JET.OLEDB.4.0,Excel 5.0;DATABASE=c:ook1.xls )...[Sheet1$] SELECT * FROM excel
在book1.xls的Sheet1中必须有和excel表相对应的字段,否则会出错。
以上讨论了几种常用的数据库和SQL Server数据库之间如何使用Transact-SQL进行数据导入导出。在SQL Server中还提供了将其它类型的数据库注册到SQL Server中的功能,这