用T-SQL语句实现SQL server与XLS,MDB等文件的数据交换

第一部分 :SQL server ACCESS 数据库的交换
1. SQL SERVER 里查询 access 数据 :

SELECT * FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="c:\DB.mdb";User ID=Admin;Password=')...表名
2. access 导入 SQL server

SELECT * INTO newtable FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0','Data Source="c:\DB.mdb";User ID=Admin;Password=' )...表名
3. SQL SERVER 表里的数据插入到 Access 表中

Insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source=" c:\DB.mdb";User ID=Admin;Password=')...表名 (列名1,列名2)
Select 列名1,列名2 from sql表
第二部分 :SQL SERVER EXCEL 文件的交换
1 、在 SQL SERVER 里查询 Excel 数据 :

SELECT * FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\book1.xls";
User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
2 、将 Excel 的数据导入 SQL server :

SELECT * into newtable FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
3 、将 SQL SERVER 中查询到的数据导成一个 Excel 文件

EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P""'
参数:S 是SQL服务器名;U是用户;P是密码
说明:还可以导出文本文件等多种格式
实例: EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:\temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'
在VB6中应用ADO导出EXCEL文件代码:
Dim cn As New ADODB.Connection
cn.open "Driver={SQL Server};Server=WEBSVR;DataBase=WebMis;UID=sa;WD=123;"
cn.execute "master..xp_cmdshell 'bcp "SELECT col1, col2 FROM 库名.dbo.表名" queryout E:\DT.xls -c -Sservername -Usa -Ppassword'"
4 、在 SQL SERVER 里往 Excel 插入数据 :

insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\Temp.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...table1 (A1,A2,A3) values (1,2,3)

你可能感兴趣的:(sql,SQL Server,Excel,Microsoft,XP)