如何用sql语句将一个文件夹下的所有txt文件导入到数据库中急!在线等

如何用sql语句将一个文件夹下的所有txt文件导入到数据库中急!在线等,第1张

使用场景:

比如将

C:\Test\

目录下的所有

txt文件内容

导入到

Table_1

--定义临时表,用于存放获取的文件名称

CREATE

TABLE

#files

(name

varchar(200)

NULL,

sql

varchar(7000)

NULL)

--获取文件名称,存放在#files

INSERT

#files(name)

exec

masterxp_cmdshell

'dir

c:\test

/b'

--删除不要的文件名称

DELETE

#files

WHERE

coalesce(name,

'')

NOT

LIKE

'Code%'

--插入需要

导入文件内容的

命令SQL,需要修改

Table_1(改为导入的Table)和文件路径

UPDATE

#files

SET

sql

=

'BULK

INSERT

Table_1

FROM

'''

+

'C:\Test\'+name

+

'''

WITH

('

+

'DATAFILETYPE

=

''char'',

FIELDTERMINATOR

=

''\t'',

'

+

'ROWTERMINATOR

=

''\n'')'

--开始执行导入

DECLARE

@sql

varchar(8000)

DECLARE

cur

CURSOR

STATIC

LOCAL

FOR

SELECT

sql

FROM

#files

OPEN

cur

WHILE

1

=

1

BEGIN

FETCH

cur

INTO

@sql

IF

@@fetch_status

<>

0

BREAK

EXEC(@sql)

END

DEALLOCATE

cur

主要分为读取文件夹下所有文件和导入文件内容两部分

--读取文件夹下所有文件

declare

@files

table

(ID

int

IDENTITY,

FileName

varchar(100))

insert

into

@files

execute

xp_cmdshell

'dir

c:\test

/b'

select

'c:\'+

[FileName]

AS

FILEPATH

INTO

#temp

from

@files

SELECT

FROM

#temp

--导入文件内容

BULK

INSERT

dboTable_1

FROM

#temp

WITH

(

ROWTERMINATOR

='\n'

)

还需要开启

/

Step

1

开启

xp_cmdshell

Use

Master

GO

EXEC

masterdbosp_configure

'show

advanced

options',

1

RECONFIGURE

WITH

OVERRIDE

GO

EXEC

masterdbosp_configure

'xp_cmdshell',

1

RECONFIGURE

WITH

OVERRIDE

GO

/

参考:

>

原来生成的是yournamesql文件,

在workbench里点"open

a

sql。。。"导入,

要重新执行导入的语句,才能写入mysql

service

以上就是关于如何用sql语句将一个文件夹下的所有txt文件导入到数据库中急!在线等全部的内容,包括:如何用sql语句将一个文件夹下的所有txt文件导入到数据库中急!在线等、如何完全用SQL语句,将文件存到数据库、怎样把文件从当地文件夹导入到数据库中去等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9824911.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存