Sql server 计划SSIS包创建日期为文件名的excel文件

Sql server 计划SSIS包创建日期为文件名的excel文件,sql-server,excel,ssis,scheduled-tasks,Sql Server,Excel,Ssis,Scheduled Tasks,我需要一些关于做我想做的事情的最佳方式的反馈,请允许我定位 我有一个巨大的数据库,不断接收新的输入。现在我需要一个excel文件,其中显示了过去一天的所有输入列。所以我认为最好的方法是使用SSIS包。我从来没有真正使用过SSI那么多,所以我不太确定可能性有多大。因此,目前我只能创建包含所有输入的SSIS包。但是我每天都需要一个新文件,而且文件名中有数据,因为旧文件不会被删除等等。所以我需要能够创建一个文件名中有日期的.xls文件。有没有一个简单的方法可以做到这一点 我还想知道是否有可能自动修改这

我需要一些关于做我想做的事情的最佳方式的反馈,请允许我定位

我有一个巨大的数据库,不断接收新的输入。现在我需要一个excel文件,其中显示了过去一天的所有输入列。所以我认为最好的方法是使用SSIS包。我从来没有真正使用过SSI那么多,所以我不太确定可能性有多大。因此,目前我只能创建包含所有输入的SSIS包。但是我每天都需要一个新文件,而且文件名中有数据,因为旧文件不会被删除等等。所以我需要能够创建一个文件名中有日期的.xls文件。有没有一个简单的方法可以做到这一点

我还想知道是否有可能自动修改这个excel文件的布局,特别是列宽,因为它们都是默认宽度,这对客户端来说不是很有用

我听说也可以用VisualStudio创建SSIS包,这会有什么不同吗?或者,记住,我是一名c程序员,这种可能性是一样的吗


非常感谢

可以通过Visual Studio创建SSIS包。在VisualStudio中单击new project时,选择Business Intelligence project->Integration Services project

虽然与您的情况(即Excel文件输出)不同,但在我的情况下,对于平面.TXT文件输出,我将日期作为平面文件名的一部分。为此,在平面文件连接管理器的“属性表达式”->“连接字符串属性”中,我输入了以下表达式。类似的方法也适用于您的情况,特别是当您使用.csv文件输出时

"[Folder Destination]_" + 
(DT_WSTR,4)YEAR(GETDATE()) + 
RIGHT("0" + DT_WSTR,2)MONTH(GETDATE()),2) +
RIGHT("0" + (DT_WSTR,2)DAY(GETDATE()),2) + 
RIGHT("0" + (DT_WSTR,2)DATEPART("hh", GETDATE()),2) + ".TXT"

可以通过VisualStudio创建SSIS包。在VisualStudio中单击new project时,选择Business Intelligence project->Integration Services project

虽然与您的情况(即Excel文件输出)不同,但在我的情况下,对于平面.TXT文件输出,我将日期作为平面文件名的一部分。为此,在平面文件连接管理器的“属性表达式”->“连接字符串属性”中,我输入了以下表达式。类似的方法也适用于您的情况,特别是当您使用.csv文件输出时

"[Folder Destination]_" + 
(DT_WSTR,4)YEAR(GETDATE()) + 
RIGHT("0" + DT_WSTR,2)MONTH(GETDATE()),2) +
RIGHT("0" + (DT_WSTR,2)DAY(GETDATE()),2) + 
RIGHT("0" + (DT_WSTR,2)DATEPART("hh", GETDATE()),2) + ".TXT"
@卡西夫-谢谢你

在你的文章中有一个小错误。 请注意,第三行缺少左括号:

RIGHT("0" + DT_WSTR,2)MONTH(GETDATE()),2) +
需要:

RIGHT("0" + (DT_WSTR,2)MONTH(GETDATE()),2) +
总而言之:

"[Folder Destination]_" +
(DT_WSTR,4)YEAR(GETDATE()) +
RIGHT("0" + (DT_WSTR,2)MONTH(GETDATE()),2) +
RIGHT("0" + (DT_WSTR,2)DAY(GETDATE()),2) +
RIGHT("0" + (DT_WSTR,2)DATEPART("hh", GETDATE()),2) + ".TXT"
另外,对于找到本文的任何人,请注意,您可以将上面的[Folder Destination]替换为如下路径:

"C:\\Some\\Path\\to\\File.txt"
注意双反斜杠

@Kashif-谢谢你

在你的文章中有一个小错误。 请注意,第三行缺少左括号:

RIGHT("0" + DT_WSTR,2)MONTH(GETDATE()),2) +
需要:

RIGHT("0" + (DT_WSTR,2)MONTH(GETDATE()),2) +
总而言之:

"[Folder Destination]_" +
(DT_WSTR,4)YEAR(GETDATE()) +
RIGHT("0" + (DT_WSTR,2)MONTH(GETDATE()),2) +
RIGHT("0" + (DT_WSTR,2)DAY(GETDATE()),2) +
RIGHT("0" + (DT_WSTR,2)DATEPART("hh", GETDATE()),2) + ".TXT"
另外,对于找到本文的任何人,请注意,您可以将上面的[Folder Destination]替换为如下路径:

"C:\\Some\\Path\\to\\File.txt"

注意双反斜杠

以上语法仅生成HH小时。如果我需要HHMMSEC HourMinSec怎么办?上面的语法只生成HH Hour。如果我需要HHMMSEC小时秒怎么办??