日期:2014-05-19  浏览次数:20359 次

请问怎么“导入数据”?
我经常要从文本文件导入数据到一个新的表中,这个过程我如何简化一下,比如作成脚本来执行。

文本文件格式固定,名称会变,目标表要自动生成。

请高手指教。谢谢!!!

------解决方案--------------------
1. 可以使用SSIS包+JOB, 这个写起来比较容易(图形化的设计工具)

2. 可以用OPENROWSET, 这个写起来稍微复杂一点, 类似这样:
DECLARE @filename nvarchar(260)
SET @filename = 'xx.txt '

SET @filename = REPLACE(@filename, '. ', '$ ')
EXEC(N '
SELECT * INTO 要创建的表名
FROM OPENROWSET( ' 'Microsoft.Jet.Oledb.4.0 ' ', ' 'TEXT;HDR=YES;Database=x:\文件目录 ' ',[ ' + @filename + ']) ')
------解决方案--------------------
zjcxc(邹建) ( ) 信誉:673
第一次见这种大哥级的人物``````
------解决方案--------------------
第一次见吗 只能说你孤陋寡闻了
邹建大哥早已是风云人物 小弟也是慕名而来的 哈哈
------解决方案--------------------
如果经常要导入文本的话,最好建立一个目录。专门放置要导入的文件。在SSIS中配置‘智能导入’
1.添加文件系统任务,把要导入的文件放入专门的文件夹中。建立源和目标表
2.添加for each file emulator 任务,获得目录中的所有文件名称。
3.添加sql任务,步骤2中获得的结果集插入到sql的文件名表中(如没有先建立一个)
4.添加for each ADO emulator 任务,然后再在其中添加数据流任务。导入到目标表中的文件名称付给数据流任务。这样就能实现‘智能导入’。

xp_cmdshell 时候注意查看外围命令配置器是否以打开了它