Integration Services 学习
执行 SQL 任务中使用参数
之前根据网上文章使用了 @<参数名称>
形式的参数,查了好久才发现只有 ADO.NET 中才能使用这种形式的参数。
参考:https://technet.microsoft.com/zh-cn/library/cc280502(v=sql.110).aspx
连接类型 | 参数标记 | 参数名称 | 示例 SQL 命令 |
---|---|---|---|
ADO | ? | Param1, Param2, … | SELECT FirstName, LastName, Title FROM Person.Contact WHERE ContactID = ? |
ADO.NET | @<参数名称> | @<参数名称> | SELECT FirstName, LastName, Title FROM Person.Contact WHERE ContactID = @<parmContactID> |
ODBC | ? | 1, 2, 3, … | SELECT FirstName, LastName, Title FROM Person.Contact WHERE ContactID = ? |
EXCEL 和 OLE DB | ? | 0, 1, 2, 3, … | SELECT FirstName, LastName, Title FROM Person.Contact WHERE ContactID = ? |
在 OLE DB 连接管理器中使用日期和时间参数
NVARCHAR
数据类型的输入参数。之前没注意到这句话,试了所有的日期类型,单数仍然没有传递进去。
具有相应数据类型的输出参数,如下表中所示。
Output 参数类型 | Date 数据类型 |
---|---|
DBDATE | date |
DBTIME2 | time |
DBTIMESTAMP | datetime,datetime2 |
DBTIMESTAMPOFFSET | datetimeoffset |
数据流 - 查找
只能使用 OLE DB 连接管理器?
看连接类型中只能选择:
缓存连接管理器
OLE DB 连接管理器
事务
部署
https://technet.microsoft.com/zh-cn/library/hh213290(v=sql.110).aspx
创建 SSIS 目录需要通过 Windows 认证登录 (把自己的域用户加到 DB 就行了)
发布也需要域用户登录,并且默认的 public 角色权限不够,我加了 sysadmin 权限
添加包定时执行参照了官方文档和下面的文章