☆用心生活☆-wonder-{改变自己才能让自己过上不一样的日子。为自己加油!}

MSSQL之openrowset(EXCEL批量更新数据)

/*
作用:采用EXCEL批量更新数据库中的数据
作者:wonder QQ:37036846 QQ群:124766907 
时间:2011-03-24 11:37
环境:SQL2005
*/
--1.检测是否可以打开EXCEL中的数据信息
select *from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;IMEX=2;DATABASE=D:\updateData\data.xls',Sheet1$
--2.若报错提示启用OPENROWSET等信息
--打开SQL2005的[配置工具]-[SQL Server 外围应用配置器]进行启用OPENROWSET
--主要是是因为SQL2005增加了安全性。
--OPENROWSET('PROVIDER服务提供商','采用CEXCEL版本,XLS路径','XLS文件的表名')
--3.若发现有些数为NULL,或者不是你XLS文件中的数据,建议,
--  把所有数据COPY到记事本保存,然后再COPY回EXCEL,
--  这样保证了EXCEL各单元格中的数据格式编码不准确导致的NULL问题

UPDATE PUR0101  SET FLD0370=b.EL --更新数据
from (select *from--来源数据
OPENROWSET('MICROSOFT.JET.OLEDB.4.0',
'Excel 5.0;HDR=YES;IMEX=2;DATABASE=D:\updateData\data.xls',Sheet1$)
) as b
where  PUR0101.Fld0043=b.juanhao--条件

--数据更新的时候最好是在服务器本机上进行。远程连接过去的,貌似我这里没成功。以后再试。
posted @ 2011-03-24 11:38  ☆用心生活☆  阅读(2394)  评论(0)    收藏  举报
本作者写的任何文章均属原创,若要转载,请注明出处;若
进行与文章有关的商业行为,本作者保留拥有诉诸法律追究
侵权的任何行为。文章只代表本人某一学习时间段内对某一
技术的说明,不代表具有绝对的正确性,若要学习,请与各
位高手编程人员讨论学习。本文章也不代表自己某一时期某
一公司的任何专著和机密文件。仅仅提供自我学习和他人学
习的文章参考,以及自我知识记录。wanzegui325#163.com