gpt4 book ai didi

sql-server - SSIS Excel 导入 - 工作表变量还是通配符?

转载 作者:行者123 更新时间:2023-12-02 21:24:19 25 4
gpt4 key购买 nike

我有一个 SSIS 数据导入包,它使用源 Excel 电子表格,然后将数据导入到 SQL Server 数据库表中。我未能成功地自动化此过程,因为 Excel 文件的工作表名称每天都会更改。因此,我必须在每天运行导入之前手动更改工作表名称。需要注意的是,永远不会有任何其他工作表。

我可以为工作表名称创建一个变量吗?我可以使用通配符而不是工作表名称吗?在启动导入作业之前,我最好创建一个 Excel 宏或类似的宏来更改工作表名称吗?

最佳答案

我使用以下脚本任务 (C#):

System.Data.OleDb.OleDbConnection objConn;
DataTable dt;

string connStr = ""; //Use the same connection string that you have in your package
objConn = new System.Data.OleDb.OleDbConnection(ConnStr);
objConn.Open();

dt = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbShemaGuid.Tables,null);
objConn.Close();

foreach(DataRow r in dt.Rows)
{
//for some reason there is always a duplicate sheet with underscore.
string t = r["TABLE_NAME"].ToString();

//Note if more than one sheet exist this will only capture the last one
if(t.Substring(t.Length-1)!="_")
{
Dts.Variables["YourVariable"].Value = t;
}
}

然后在 SSIS 中,我添加另一个变量来构建 SQL。

新变量“从[”+“您的变量”+“]”中选择*

最后将数据源设置为 Excel Source 中的 SQL 变量。

关于sql-server - SSIS Excel 导入 - 工作表变量还是通配符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45722486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com