服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Sql Server - SQLServer 批量导入目录文件

SQLServer 批量导入目录文件

2019-11-14 17:26mssql教程网 Sql Server

可以用扩展存储过程xp_dirtree获取文件列表,用openrowset倒入数据到二进制字段。

openrowset的用法可以参考msdn 
http://technet.microsoft.com/zh-cn/library/ms190312.aspx 
如果文件很多,建议还是用程序倒入了 

复制代码代码如下:


if (object_id ('t_bulkResult' ) is not null ) 
drop table t_bulkResult 
create table t_bulkResult (name varchar (1000 ), data image ) 
go 
declare @d varchar (1000 ) 
set @d = 'c:\test\' 
create table #tb (fName varchar (1000 ), d int , f int ) 
insert into #tb exec xp_dirtree @d , 1 , 1 
delete from #tb where f <> 1 
declare @ sql nvarchar (max ) 
select @ sql = isnull (@ sql , '' )+ 'insert into t_bulkResult select ''' +@d + fname + ''',* from openrowset(bulk N''' +@d + fName + ''', SINGLE_BLOB) b 

from #tb a 
exec sp_executesql @ sql 
drop table #tb 
select * from t_bulkResult 

延伸 · 阅读

精彩推荐