A. sql读取txt内容
http://www.dedecms.com/knowledge/data-base/sql-server/2012/0821/11295.html
你看看这个,希望对你有帮助。
B. 如何用sql语句将一个文件夹下的所有txt文件导入到数据库中急!在线等
使用场景:
比如将
C:\Test\
目录下的所有
txt文件内容
导入到
Table_1
中
--定义临时表,用于存放获取的文件名称
CREATE
TABLE
#files
(name
varchar(200)
NULL,
sql
varchar(7000)
NULL)
--获取文件名称,存放在#files
INSERT
#files(name)
exec
master..xp_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
dbo.Table_1
FROM
#temp
WITH
(
ROWTERMINATOR
='\n'
)
还需要开启
/*****
Step
1
开启
xp_cmdshell
Use
Master
GO
EXEC
master.dbo.sp_configure
'show
advanced
options',
1
RECONFIGURE
WITH
OVERRIDE
GO
EXEC
master.dbo.sp_configure
'xp_cmdshell',
1
RECONFIGURE
WITH
OVERRIDE
GO
*******/
参考:
http://social.msdn.microsoft.com/Forums/sqlserver/en-US/47c8edc1-8cad-4a24-a09a-3fc0c943325c/bulk-insert-multiple-files-tsql
C. 用sql语句将txt文件导入表中
最简单的办法,powerbuid会用不,连上数据库,select * from test1,然后点击菜单rows,下拉出来有个import,选择相应txt文件即可。
其他的办法,相应的数据库都有相应工具导入的,需要知道数据库类型。
D. c#快速把txt文件导入sql
建议这样试试看:
- 使用文件流FileStream来打开txt文件,使用读取器streamreader来读取内容
拼接sql语句,将读取的内容填充到sql语句中,调用方法写入到数据库
E. 让SQL自动读取TXT数据,并处理
1、打开企业管理器,在“数据转换服务”上点右键
2、选择“所有任务”--“导入数据”,点“下一步”
3、数据源选择文本文件,文件名选择你要导入的TXT文件,点下一步
4、选择“带分隔符。各列之间可用任何字符分割”,点下一步
5、选择分隔符,点下一步
6、选择目的表,点下一步
7、选择“保存DTS包”,点下一步
8、保存
1、打开企业管理器,管理,作业,新建作业
2、常规选项卡
3、步骤选项卡,类型选择操作系统命令,命令里填写:
DTSRun /S /E /N "新建包"
4、调度选项卡,选择调度周期