关于SSIS增量抽取问题
各位大侠,小弟最近做BI项目,现在在编写SSIS增量抽取数据库数据,做法是
在业务系统中有个时间戳字段,我们打算在每次抽取后将本次的抽取最大的时间戳存放在我们的抽取日志表中。
现在的问题是抽取日志表中存放时间戳的字段应该是什么类型的?另外SSIS里面有个变量专门存放最大抽取的那个时间戳a,单这个a变量应该是什么类型呢?
[解决办法]
应该是保持和业务系统一样的类型
[解决办法]
不懂,帮顶,学习,蹭分.
[解决办法]
应该也是timestamp
[解决办法]
看情况,貌似不用插入,只需作为增量标记
[解决办法]
错了,用datetime 类型
用convert 或者cast 转换一下
[解决办法]
--> 测试数据: #tbif object_id('tempdb.dbo.#tb') is not null drop table #tbgocreate table #tb (id varchar(1),a timestamp)insert into #tb (id)select '1' union allselect 'a' /*select *,dt=cast(a as datetime) from #tb id a dt---- ------------------ ----------------------------1 0x00000000000007F3 1900-01-01 00:00:06.783a 0x00000000000007F4 1900-01-01 00:00:06.787(2 行受影响)*/create table ##(id varchar(1),b datetime)insert ## select top 1 * from #tb order by a descselect * from ##/*id b---- -----------------------a 1900-01-01 00:00:06.787(1 行受影响)*/
[解决办法]
由于时间戳Timestamp是二进制类型,所以你的记录表中可以定义为binary(8)或varbinary(8)类型。
在SSIS中,变量可以定义为Byte类型。参数传递的时候还有一个类型叫DBTimestamp。
[解决办法]
学习学习!......
[解决办法]
兄弟,你可以给它convert想什么类型,不都OK
[解决办法]
在源系统中增加一个时间戳字段,只是为了方便提取,什么类型无所谓,如datetime或date类型都可以。
[解决办法]