我想使用其 IP 地址连接到服务器。然后,我想执行保存在该服务器驱动器上的 .sql 文件。我还想将此 sql 的结果存储在服务器本身的文本文件中。我应该将其作为 sql 任务执行还是作为从数据库中提取或其他内容运行?我不知道该怎么做。我需要有关如何进行的提示。
使用的数据库是 SQL server 2008。
On SSIS, you can execute SQL and export it to text file(csv).
Please refer this article. http://dwbi1.wordpress.com/2011/06/05/ssis-export-query-result-to-a-file/
在 SQL Server 上将 SSIS 解决方案创建为平面文件。
打开 Microsoft Visual Studio 单击 Create Project 选择 Integration Services Project 为项目命名 (x2) 设置位置,例如 C:\SSISPackages\ 单击 OK
单击数据流选项卡 单击以创建新的数据流任务 单击工具箱选项卡(左下角) 将 OLE DB 源拖到数据流部分 将平面文件目标(例如)拖到数据流部分 拖动绿色箭头以连接 OLE DB平面文件目标的源
双击 OLE DB 源 单击 OLE DB 连接管理器旁边的新建 选择 YOURSERVER\YOURDB 并单击确定 将数据访问模式更改为 SQL 命令 在 SQL 命令文本下输入过程和参数(例如)单击解析查询以确认 SQL命令有效,点击确定
双击 Flat File Destination 单击 Flat File Connection Manager 旁边的 New 选择 Ragged Right(如果标准固定宽度,每行末尾带有 CR/LF)并单击 OK 单击 Browse 并选择输出的目标和文件名,然后单击确定两次单击映射并确认输入和目标列正确,然后单击确定
要将当前日期附加到文件名: 单击 Package Explorer 选项卡(中心窗格的右上角) 单击 Variables 选项卡(左下角)添加一个名为 path 的变量,Scope = Package,Data Type = String,Value = 文件路径(不包括文件名的 YYYYMMDD.txt 部分)
在平面文件连接管理器的属性(底部中心,右键单击)中,打开表达式,并将属性设置为 ConnectionString 并将表达式设置为:
@[User::path]+
(DT_STR,4,1252) DatePart("yyyy",getdate()) +
Right("0" + (DT_STR,4,1252) DatePart("m",getdate()),2) +
Right("0" + (DT_STR,4,1252) DatePart("d",getdate()),2) + ".txt"
(或者您需要格式化日期和文件名)
单击评估表达式以确保它看起来正常。