当我在 SSIS 中使用静态 ole db > excel 连接管理器时,我在 excel 连接管理器中设置要连接的文件,创建数据流 excel 目标,将其连接到 ole db 源并映射字段。
在这种情况下,我想做同样的事情,但我不想链接到现有文件,而是想创建一个新文件并将我的数据放在那里。现在我知道我可以在现有的 excel 连接中执行 SQL 任务并创建一个新表(有效地工作表),但在这种情况下,我已经创建了一个脚本任务来创建我的新文件的完整路径,例如 c:\docs\ mypjt\fileformarch.xls 使用以下代码:
Public Sub Main()
'
' Add your code here
'
Dim strFileName As String
Dim strFolderName As String
Dim strMonthNameShort As String
Dim strFullPath As String
Dim lastMonth As New Date(DateTime.Today.Year, DateTime.Today.Month - 1, 1)
strFileName = Dts.Variables("FileName").Value.ToString
strFolderName = Dts.Variables("FolderName").Value.ToString
strMonthNameShort = MonthName(lastMonth.Month, True)
strFullPath = strFolderName & strFileName.Substring(0, strFileName.IndexOf(".xls")) & strMonthNameShort & ".xls"
Dts.Variables("FullPath").Value = strFullPath
Dts.TaskResult = Dts.Results.Success
End Sub
但是我不明白如何创建我的动态连接和映射,我尝试在我的 excel 连接管理器等中使用连接字符串来解决问题,所以我认为我没有完全了解我需要做什么。
不确定我是否需要带有列标题的模板来设置默认映射,但是我已经阅读了很多情况,其中 excel 连接管理器只需要与“a”文件的初始连接,然后动态连接字符串属性会在您运行时接管它,但是如果您正在创建一个新文件,它如何知道映射是什么?
我很感激你能给我的任何建议。
谢谢
安德鲁