zoukankan
html css js c++ java
一个存储过程实现将Excel数据导入数据库
数据库:SQL Server2000
CREATE
PROCEDURE
[
dbo
]
.
[
au_XLS2TMP
]
@sheet
NVARCHAR
(
50
)
=
'
UserList
'
AS
DECLARE
@STR
VARCHAR
(
2000
)
/**/
/*
sp_addlinkedserver--创建一个链接的服务器,使其允许对分布式的、针对 OLE DB 数据源的异类查询进行访问
@server='USER_LIST',--被访问的服务器别名
@srvproduct='USER_LIST',--要添加为链接服务器的 OLE DB 数据源的产品名称
@datasrc='d:\file\Users.xls' --要访问的服务器
*/
EXEC
sp_addlinkedserver
@server
=
'
USER_LIST
'
,
@srvproduct
=
'
USER_LIST
'
,
@provider
=
'
Microsoft.Jet.OLEDB.4.0
'
,
@datasrc
=
'
d:\file\Users.xls
'
,
@provstr
=
'
Excel 8.0;HDR=Yes;IMEX=1;
'
EXEC
sp_addlinkedsrvlogin
'
USER_LIST
'
,
'
false
'
,
NULL
,
NULL
,
NULL
/**/
/*
当 SET XACT_ABORT 为 ON 时,如果执行 Transact-SQL 语句产生运行时错误,则整个事务将终止并回滚。
当 SET XACT_ABORT 为 OFF 时,有时只回滚产生错误的 Transact-SQL 语句,而事务将继续进行处理。如果错误很严重,那么即使 SET XACT_ABORT 为 OFF,也可能回滚整个事务。
编译错误(如语法错误)不受 SET XACT_ABORT 的影响。
*/
SET
XACT_ABORT
ON
/**/
/*
BEGIN DISTRIBUTED TRAN:跟踪 MS DTC 实用工具中的分布式事务
详细可参考:http://www.cnblogs.com/alanliu/archive/2007/12/25/1014259.html
*/
BEGIN
DISTRIBUTED
TRAN
SET
@STR
=
'
INSERT INTO dbo.MEMBERS
'
+
'
(USERNAME,USERPASS,EMAIL)
'
+
'
SELECT
'
+
'
USERNAME,USERPASS,EMAIL
'
+
'
FROM OPENQUERY(USER_LIST,
''
SELECT * FROM [
'
+
@sheet
+
'
$]
''
)
'
EXEC
(
@STR
)
IF
@@ERROR
>
0
GOTO
ChkRollBack
ChkRollBack:
IF
@@ERROR
>
0
ROLLBACK
TRAN
ELSE
COMMIT
TRAN
SET
XACT_ABORT
OFF
EXEC
sp_dropserver
'
USER_LIST
'
,
'
droplogins
'
GO
查看全文
相关阅读:
Mysql创建nextval函数
宝塔配置tomcat的配置
小程序获取授权信息
pycharm 2017新建文件添加编码方式等
Linux下利用expect,不用交互模式,直接登陆远程主机
linux文件权限解析(摘)
linux环境下根据文件的某一列进行去重
oracle查询用户权限及角色(摘)
插入排序-python实现
css清除浮动方法
原文地址:https://www.cnblogs.com/bluedy1229/p/1781612.html
最新文章
Study-如何科学使用StackOverflow
海港——队列
酒桌游戏——队列
烦恼
set——迭代器干货
指数序列
库特摘果子——优先队列
配置node js的“最易犯的错误”——主要是windows
求多边形的面积——已知顶点坐标
求两个有序数列的合并——分治算法
热门文章
dell电脑突然蓝牙不见了,没有那个蓝牙开关的选项。
Samba的安装
三次握手与四次挥手
Linux命令
css如何实现图片高度宽度自动适应呢
微擎研究————官方手册没有的机密
wamp和lnmp的血泪经验
ajax api接口的安全调用
小程序开发,不现实用户的头像!
苹果/安卓兼容性页面显示问题
Copyright © 2011-2022 走看看