多个结构相同的文件批量导入到SQL2005的库中,每个文件生成库中的单个表

wangyan_522 2010-08-02 02:31:12
我目前遇到一个SQL应用问题,怎样把结构相同的文件批量导入到SQL2005的某个定义好的库中,每个文件生成库中的单个表格。我对编程不熟悉,可否从应用角度完成这个任务呢?请高手帮帮忙吧,先谢谢了
...全文
146 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangyan_522 2010-08-05
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 htl258 的回复:]
引用 5 楼 wangyan_522 的回复:
只有文件夹河文件内容(例如*.csv),因为内容太多,求帮助批量导入到一个库中,并不把所有数据合并,而是一个文件作为库中的一个表格存在
参考:http://blog.csdn.net/htl258/archive/2009/09/11/4544162.aspx
[/Quote]
在研究这段代码,作者写得很巧妙。通过xp_cmdshell遍历所有的文件,把文件名写到一个临时表中,再把文件的内容加载进SQL,我已经看懂了作者的思路,还在研究中。。。。。
刚开始遇到一个问题,SQL2005需要启动xp_cmdshell,我也找到了办法,办法如下:
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;
dbcc addextendedproc("xp_cmdshell","xplog70.dll")

wangyan_522 2010-08-04
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 gguozhenqian 的回复:]
Sql server 2005自带 的 数据导入导出工具 默认路径:
C:\Program Files\Microsoft SQL Server\90\DTS\Binn\DTSWizard.exe

可以各种数据库和文件 作为 数据源。
[/Quote]
我如果要批量导入TXT文件的话,在DTS中选择哪个呢?SQL2000有很多选项,2005却没有
wangyan_522 2010-08-03
  • 打赏
  • 举报
回复
楼上是什么意思呢?我不懂
obuntu 2010-08-03
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 wangyan_522 的回复:]

这段代码我也试过了,可是出现如下的错误,不知道是什么问题?
SQL Server blocked access to procedure 'sys.xp_cmdshell' of component 'xp_cmdshell' because this component is turned off as part of the security configuration for this ……
[/Quote]

sp_configure 'show advanced options',1
reconfigure

sp_configure 'xp_cmdshell',1
reconfigure
wangyan_522 2010-08-03
  • 打赏
  • 举报
回复
这段代码我也试过了,可是出现如下的错误,不知道是什么问题?
SQL Server blocked access to procedure 'sys.xp_cmdshell' of component 'xp_cmdshell' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'xp_cmdshell' by using sp_configure. For more information about enabling 'xp_cmdshell', see "Surface Area Configuration" in SQL Server Books Online.
[Quote=引用 8 楼 htl258 的回复:]
引用 5 楼 wangyan_522 的回复:
只有文件夹河文件内容(例如*.csv),因为内容太多,求帮助批量导入到一个库中,并不把所有数据合并,而是一个文件作为库中的一个表格存在
参考:http://blog.csdn.net/htl258/archive/2009/09/11/4544162.aspx
[/Quote]
wangyan_522 2010-08-03
  • 打赏
  • 举报
回复

可是用SSIS该怎么操作呢?
[Quote=引用 12 楼 hokor 的回复:]
引用 9 楼 obuntu 的回复:
引用 7 楼 wangyan_522 的回复:

貌似SSIS可以解决,有谁知道其中的操作流程,或者有没有这方面的资料可以共享一下呢?


用powershell 吧,2行搞定


SQL code

$files=Get-ChildItem D:\test -Recurse |Select Name
foreach($file in ……
[/Quote]
振乾 2010-08-03
  • 打赏
  • 举报
回复
Sql server 2005自带 的 数据导入导出工具 默认路径:
C:\Program Files\Microsoft SQL Server\90\DTS\Binn\DTSWizard.exe

可以各种数据库和文件 作为 数据源。
hokor 2010-08-02
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 obuntu 的回复:]
引用 7 楼 wangyan_522 的回复:

貌似SSIS可以解决,有谁知道其中的操作流程,或者有没有这方面的资料可以共享一下呢?


用powershell 吧,2行搞定


SQL code

$files=Get-ChildItem D:\test -Recurse |Select Name
foreach($file in $files){bcp master.d……
[/Quote]这么好使?看起来比SSIS要简单多了啊。。
wangyan_522 2010-08-02
  • 打赏
  • 举报
回复
我觉得用SSIS是能够解决的,研究SSIS先
obuntu 2010-08-02
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 obuntu 的回复:]

引用 7 楼 wangyan_522 的回复:

貌似SSIS可以解决,有谁知道其中的操作流程,或者有没有这方面的资料可以共享一下呢?


用powershell 吧,2行搞定

SQL code

$files=Get-ChildItem D:\test -Recurse |Select Name
foreach($file in $files){bcp master.dbo.……
[/Quote]


PS D:\dd> $files=Get-ChildItem d:\dd -Recurse
PS D:\dd> foreach($file in $files){
>> bcp master.dbo.d in $file.FullName -Usa -P -T -c
>> }
>>

开始复制...

已复制 1 行。
网络数据包大小(字节): 4096
总时钟时间(毫秒) : 1 平均值: (每秒 1000.00 行。)

开始复制...

已复制 1 行。
网络数据包大小(字节): 4096
总时钟时间(毫秒) : 1 平均值: (每秒 1000.00 行。)
PS D:\dd>
obuntu 2010-08-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wangyan_522 的回复:]

貌似SSIS可以解决,有谁知道其中的操作流程,或者有没有这方面的资料可以共享一下呢?
[/Quote]

用powershell 吧,2行搞定


$files=Get-ChildItem D:\test -Recurse |Select Name
foreach($file in $files){bcp master.dbo.test in $file.FullName -T -Usa -P}
htl258_Tony 2010-08-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wangyan_522 的回复:]
只有文件夹河文件内容(例如*.csv),因为内容太多,求帮助批量导入到一个库中,并不把所有数据合并,而是一个文件作为库中的一个表格存在
[/Quote]参考:http://blog.csdn.net/htl258/archive/2009/09/11/4544162.aspx
wangyan_522 2010-08-02
  • 打赏
  • 举报
回复
貌似SSIS可以解决,有谁知道其中的操作流程,或者有没有这方面的资料可以共享一下呢?
wangyan_522 2010-08-02
  • 打赏
  • 举报
回复
恩,程序来的快,但是这方面欠缺,作为应用人员,想寻求傻瓜一点的办法解决
wangyan_522 2010-08-02
  • 打赏
  • 举报
回复
只有文件夹河文件内容(例如*.csv),因为内容太多,求帮助批量导入到一个库中,并不把所有数据合并,而是一个文件作为库中的一个表格存在
永生天地 2010-08-02
  • 打赏
  • 举报
回复
[Quote=引用楼主 wangyan_522 的回复:]
我目前遇到一个SQL应用问题,怎样把结构相同的文件批量导入到SQL2005的某个定义好的库中,每个文件生成库中的单个表格。我对编程不熟悉,可否从应用角度完成这个任务呢?请高手帮帮忙吧,先谢谢了
[/Quote]
什么文件,是sql脚本,还是只有数据
王向飞 2010-08-02
  • 打赏
  • 举报
回复
用程序来做容易一些,遍历你的目录获取文件名
再解析你的文件生成insert 语句
循环执行就可以
wangyan_522 2010-08-02
  • 打赏
  • 举报
回复
有EXCEL文件,还有TXT文件,我只要会一个就会所有的了,DTS是选择导入导出的哪一项呢?
duanzhi1984 2010-08-02
  • 打赏
  • 举报
回复
相同的什么文件呢?是EXCEL吗还是?


可以通过2005导入导出功能(DTS)进行导入。
通过慢sql分析的学习,了解什么是慢sql,以及慢SQL会引起那些性能问题。清楚慢sql日志的设置,然后再通过慢sql分析工具的学习,清楚慢sql分析的步骤和流程。慢sql分析工具:mysqldumpslow工具、explain工具、profile工具、Optimizer Trace工具。 提供课程所使用的sql语句。 课程内容:第一章:课程简介1、课程介绍2、课程大纲 第二章:慢sql简介1、慢sql简介2、慢sql会引起的问题 第三章:慢日志的设置1、慢sql的分析流程2、慢日志参数理解3、慢日志参数设置:第1种方式:my.ini文件设置4、慢日志参数设置:第2种方式:sql脚本设置5、慢日志参数设置-效果验证 第四章:如何发现慢sql1、如何发现慢sql:第1种方式:慢日志文件2、如何发现慢sql:第2种方式:mysql的slow_log 第五章:慢sql分析工具1、慢sql提取-mysqldumpslow工具-使用方法2、慢sql提取-mysqldumpslow工具-操作实战3、慢sql的执行计划分析-explain分析-执行计划结果说明4、慢sql的执行计划分析-explain分析-索引介绍+type类型举例5、慢sql的资源开销分析-profile分析-分析步骤6、慢sql的资源开销分析-profile分析-show profile执行阶段说明7、慢sql的资源开销分析-profile分析-完整列说明+操作实战8、慢sql的跟踪分析-Optimizer Trace分析-分析步骤9、慢sql的跟踪分析-Optimizer Trace的介绍10、索引失效场景举例 第六章:慢日志清理1、慢日志清理

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧