最近尝试采用sqlserver2005 integrate services来做异构数据库之间的数据抽取,使用ODBC连接的Teradata作为数据源。参照《SQL Server 2005数据库开发详解》(电子工业出版社 胡百敬 姚巧玫)P361-363,在SSIS中操作步骤如下:
(1)在连接管理器中右键-》新建连接-》ODBC,新建odbc连接
(2)创建DataReader源,右键-》显示高级编辑器-》连接管理器标签-》在连接管理器中选择上步创建的odbc连接.
到该步后就会报错:“数据流任务 [DataReader 源[1]]出错:无法从运行时连接管理器获取托管连接”
郁闷啊,反复看这段文字,再查查网上的文章(http://www.yeyan.info/SSIS-sybase-t449843.htm, http://www.yeyan.info/Topic.aspx 等)似乎都没有解决方法。无奈之中,只能尝试下载SQLSERVER SP1 和 Oledb provider for Teradata(地震震断了海底光缆,下得好痛苦啊:<,SP1下载花了3小时,后者至今还未下载成功)。然而,装上SP1后情况依旧。
只能瞎摸摸了:(,好在终于让我摸成功了:
(1)在连接管理器中右键-》新建ADO.NET连接-》新建-》.Net提供程序-》Odbc Data Provider
(2)创建DataReader源,右键-》显示高级编辑器-》连接管理器标签-》在连接管理器中选择上步创建的odbc连接.
费了俺3天时间,郁闷坏了,好在解决了:-)。《SQL Server 2005数据库开发详解》是本好书,基本面都涉及到了,但细致方面函待加强,这种bug会误人子弟的:-(