使用SSIS中的脚本任务将具有不同表单名称的多个Excel表单导入单个SQL表

时间:2014-05-02 13:09:48

标签: sql ssis

我想使用SSIS中的脚本任务将具有不同工作表名称的多个excel文件导入到一个SQL表中。

请帮帮我。 我非常感谢你。

1 个答案:

答案 0 :(得分:1)

以下是我在脚本任务中获取的一些示例VB代码,用于获取工作表名称并将其存储在Variable of Data类型对象中。然后使用For Each Variable Enumerator迭代User :: ExcelSchema。

 Public Sub Main()
    Dim excelFilePath As String =                Dts.Variables("User::SourceDataPathAndFile").Value.ToString()
    Dim strCn As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
       "Data Source=" + excelFilePath + ";Extended Properties=Excel 12.0"
    Dim dtTables As DataTable
    Dim aTableNames As ArrayList = New ArrayList()
    Dim tableName As String
    Dim cn As OleDbConnection = New OleDbConnection(strCn)
    cn.Open()
    dtTables = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
    For Each row As DataRow In dtTables.Rows
        tableName = row("TABLE_NAME").ToString()
        aTableNames.Add(tableName)
        End If

    Next
    cn.Close()
    Dts.Variables("User::ExcelSchema").Value = aTableNames
    Dts.TaskResult = ScriptResults.Success
End Sub