sql-server - 从 SSIS 脚本任务传递文件名
问题描述
我正在尝试创建一个将平面文件加载到 SQL 服务器表中的 SSIS 包。
我已经能够将加载功能拼凑在一起。如果从脚本任务中找到文件名,我目前坚持将文件名传递回我想在平面文件连接字符串中使用它的变量。
Public Sub Main()
'
Dim di As DirectoryInfo = New DirectoryInfo("\\winshare\iFile\Cors2\AAA\AAA Employee Incentive Source Data\")
Dim fi As FileInfo() = di.GetFiles("AAA Full PreReg Report*.csv")
If fi.Length > 0 Then
Dts.Variables("User::fileExists").Value = True
Dts.Variables("User::FileName").Value = fi.name
Else
Dts.Variables("User::fileExists").Value = False
End If
' Add your code here
'
Dts.TaskResult = ScriptResults.Success
End Sub
我正在寻求帮助
Dts.Variables("User::FileName").Value = fi.name
为什么这行不通?
谢谢
解决方案
如果您要获取目录中的第一个文件,则可以使用以下代码行:
Dts.Variables("User::FileName").Value = fi(0).name
但是,如果您正在寻找循环文件,那么我建议使用 Foreach 循环容器来循环文件并将每个文件名存储在一个变量中:
推荐阅读
- java - NGINX:上游超时(110:连接超时),同时 SSL 与上游握手
- javascript - 为什么Vue的errorHandler无法捕捉到axios的错误?
- twilio - 如何从 Twilio Serverless 中的函数调用函数?
- android - 安卓应用程序崩溃
- r - 用R中单列中的字符重命名多个变量
- php - MySQL在两列之间选择日期
- macos - 将提取的 tar 文件的文件名保存到变量
- reactjs - 谷歌身份服务 - 铬取消了登录按钮的获取
- python - Excel 文件损坏和文件扩展名问题(合并多个 Excel 文件时的 Python 问题)
- android - 如何解决任务':app:mergeDebugResources'的执行失败。在 Jenkins 集成中