将excel文件中的数据导入导出至SQL数据库中
导入
如果表已存在,SQL语句为:
insert into aa select * from OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=D:\OutData.xls;Extended Properties=Excel 8.0')...[sheet1$]
其中,aa是表名,D:\OutData.xls是excel的全路径 sheet1后必须加上$
如果表不存在,SQL语句为:
SELECT * INTO aa from OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=D:\OutData.xls;Extended Properties=Excel 8.0')...[sheet1$]
其中,aa是表名,D:\OutData.xls是excel的全路径 sheet1后必须加上$
可能会发生的异常:
如果发生“链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 报错。提供程序未给出有关错误的任何信息。
无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 的数据源对象。”异常可能是excel文件未关闭.
如果发生“不能将值 NULL 插入列 'Grade',表 'student.dbo.StuGrade';列不允许有空值。INSERT 失败。
语句已终止。”异常,则可能是excel文件与数据库表中的字段不匹配
以上操作的是office 2003,如果要操作office 2007则需采用如下方式
如果表已存在,SQL语句为:
insert into aa select * from OPENDATASOURCE('Microsoft.Ace.OLEDB.12.0',
'Data Source=D:\OutData.xls;Extended Properties=Excel 12.0')...[sheet1$]
其中,aa是表名,D:\OutData.xls是excel的全路径 sheet1后必须加上$
如果表不存在,SQL语句为:
SELECT * INTO aa from OPENDATASOURCE('Microsoft.Ace.OLEDB.12.0',
'Data Source=D:\OutData.xls;Extended Properties=Excel 12.0')...[sheet1$]
其中,aa是表名,D:\OutData.xls是excel的全路径 sheet1后必须加上$
如果发生“链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 报错。提供程序未给出有关错误的任何信息。
无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 的数据源对象。”异常可能是excel文件未关闭.
如果发生“不能将值 NULL 插入列 'Grade',表 'student.dbo.StuGrade';列不允许有空值。INSERT 失败。
语句已终止。”异常,则可能是excel文件与数据库表中的字段不匹配
以上操作的是office 2003,如果要操作office 2007则需采用如下方式
另外,还要对一些功能进行配置:
1、打开SQL Server 2005外围应用配置器,选
相关文档:
最简单的SQL Server数据库存储过程分页
发布时间:2008.07.02 05:11 来源:赛迪网 作者:Alizze
【赛迪网-IT技术报道】最简单的SQL Server数据库存储过程分页:
1.只需要提供Sql语句和每页的记录数,页数就可以了
2,速度超快哟,100W记录1~3秒就分出来了
......
sql2005中一个xml聚合的例子 收藏
该问题来自论坛提问,演示SQL代码如下
--建立测试环境
set nocount on
create table test(ID varchar(20),NAME varchar(20))
insert into test select '1','aaa'
insert into test select '1','bbb'
insert into test select '1','ccc'
insert into test select '2','ddd'
inser ......
--
聚合函数
use
pubs
go
select
avg
(
distinct
price)
--
算平均数
from
titles
where
type
=
'
business
'
go
use
pubs
go
select
max
(ytd_sales)
--
最大数
from
titles
go
use
pubs
go
select
min
(ytd_sales)
--
最小数
fr ......
RANK ( ) OVER ( [query_partition_clause] order_by_clause )
DENSE_RANK ( ) OVER ( [query_partition_clause] order_by_clause )
可实现按指定的字段分组排序,对于相同分组字段的结果集进行排序,
其中PARTITION BY 为分组字段,ORDER BY 指定排序字段
over不能单独使用,要和分析函数:rank(),dense_rank(),row_n ......
(
8)
SELECT
(
9)
DISTINCT
(
11)
<
TOP_specification>
<
select_list>
(
1)
from
<
left_table>
(
3)
<
join_type>
JOIN
<
right_table>
(
2)
ON
<
join_codition>
(
4)
WHERE
<
where_condition>
(
5)
GROUP
BY
& ......