怎么用ssis改文件后缀名,急!!!!!!!!!!!!!!!!!
0
在一个foreach loop中,把某一特定目录下的所有文件的后缀名都给改了,给点提示,谢谢
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
2 个回复
天桥下的郑成功 - Hadoop大数据开发工程师、数仓架构师、熟悉数据仓库设计、Hadoop、Spark、HBase、Hive、SSIS等开发 2015-09-29 回答
赞同来自: BIWORK 、xiaob786 、driven
Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Runtime
Imports System.IO
Public Class ScriptMain
Public Sub Main()
Dim strDate As DateTime = DateTime.Now
Dim strNewFileName As String
strNewFileName = "SampleName" & DateTime.Now.ToString("yyyyMMdd") & ".txt"
'Another Example to use yesterday's date
'strNewFileName = "SampleName" & DateTime.Now.Subtract(New TimeSpan(1, 0, 0, 0)).ToString("yyyyMMdd") & ".txt"
'
Try
File.Move(Dts.Variables("FileDirectory").Value.ToString & "\" & Dts.Variables("FileName").Value.ToString, Dts.Variables("FileDirectory").Value.ToString & "\" & strNewFileName)
Dts.Events.FireInformation(0, "", "File Renamed Succesfully", "", 0, True)
Catch ex As Exception
Dts.Events.FireError(0, "", "Source File Does Not Exist", "", 0)
End Try
'For Debugging Purposes
'System.Windows.Forms.MessageBox.Show(Dts.Variables("FileDirectory").Value.ToString & "\" & Dts.Variables("FileName").Value.ToString)
Dts.TaskResult = Dts.Results.Success
End Sub
End Class
BIWORK - 热衷于微软BI技术,技术架构和解决方案! 2015-09-29 回答
赞同来自: 天善_小龙 、梁勇
一种是在 Foreach Loop 中,指定目录下每一次 Loop 就可以得到这个文件名称,使用 File System Task 对这个文件重命名。其中你需要创建一个变量来保存 Loop 中的这个文件名称,然后需要在 File System Task 中使用得到。
二是不需要使用 Foreach Loop,直接使用 Script Task 在里面是可以很容易访问到指定目录下的所有文件,读取文件重命名即可。
这两篇文章虽然和你的问题没有太大的关系,但是你可以看看它是如何访问文件的。
http://www.flybi.net/blog/biwork/991 微软BI 之SSIS 系列 - 在 SSIS 中将指定目录下的所有文件分类输出到不同文件夹
http://www.flybi.net/blog/biwork/1183 微软BI 之SSIS 系列 - 文件路径验证
http://www.flybi.net/blog/biwork/989 微软BI 之SSIS 系列 - 在 SSIS 输出平面文件时根据运行日期生成不同的文件名称