我正在尝试将Progress数据库中的数据导入到MS SQL 2005 Server数据库中。
在SQL Server上,我右键单击我的架构名称,然后选择“任务>导入数据...”并运行向导。
我已经设置了与progress的ODBC连接,没有问题,我还首先使用ODBC Explorer测试我的查询,以确保我没有语法问题。
我正在使用的语句如下:
在ODBC Explorer中这个很好运行,但是当我在SSIS中尝试使用时出现了以下错误。
我的第一反应是Progress和MSSQL之间的日期数据类型问题,因此我在语句中使用了
我有遗漏的东西吗?源数据可能不正确且不支持SQL Server吗?
我在MSDN上找到了一些帖子,建议可能存在数据类型转换问题,Progress列中的数据溢出也可能存在问题。
这似乎是一个间歇性问题,我从Progress导入其他数据作业使用日期没有问题(是的,我已经交叉参考所有设置,以确保我没有错过任何内容)。
我的唯一选择似乎是将数据从Progress移动到Access(或其他DB)> MS SQL。
在SQL Server上,我右键单击我的架构名称,然后选择“任务>导入数据...”并运行向导。
我已经设置了与progress的ODBC连接,没有问题,我还首先使用ODBC Explorer测试我的查询,以确保我没有语法问题。
我正在使用的语句如下:
SELECT "MYTABLE"."FIRST-NAME",
"MYTABLE"."LAST-NAME",
"MYTABLE"."D-O-B"
FROM PUB."MYTABLE"
在ODBC Explorer中这个很好运行,但是当我在SSIS中尝试使用时出现了以下错误。
Executing (Error)
Messages
Error 0xc02090f5: Data Flow Task: The component "Source - Query" (1) was unable to process the data.
(SQL Server Import and Export Wizard)
Error 0xc0047038: Data Flow Task: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. The PrimeOutput method on component "Source - Query" (1) returned error code 0xC02090F5. The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing. There may be error messages posted before this with more information about the failure.
(SQL Server Import and Export Wizard)
Error 0xc0047021: Data Flow Task: SSIS Error Code DTS_E_THREADFAILED. Thread "SourceThread0" has exited with error code 0xC0047038. There may be error messages posted before this with more information on why the thread has exited.
(SQL Server Import and Export Wizard)
Error 0xc0047039: Data Flow Task: SSIS Error Code DTS_E_THREADCANCELLED. Thread "WorkThread0" received a shutdown signal and is terminating. The user requested a shutdown, or an error in another thread is causing the pipeline to shutdown. There may be error messages posted before this with more information on why the thread was cancelled.
(SQL Server Import and Export Wizard)
Error 0xc0047021: Data Flow Task: SSIS Error Code DTS_E_THREADFAILED. Thread "WorkThread0" has exited with error code 0xC0047039. There may be error messages posted before this with more information on why the thread has exited.
(SQL Server Import and Export Wizard)
我的第一反应是Progress和MSSQL之间的日期数据类型问题,因此我在语句中使用了
TO_CHAR
(首先在ODBC Explorer中进行了测试),但这并没有解决问题。我尝试过所有我能想到的方法,包括:
- 在Progress Select语句中使用
TO_CHAR
- 在SSIS中的数据映射期间,尝试使用Datetime、smalldatetime、nvarchar等
- 使用
TO_CHAR
和NVL
- 将所有目标列的大小增加到200(当前没有列需要超过50,所以这已经足够)
我有遗漏的东西吗?源数据可能不正确且不支持SQL Server吗?
我在MSDN上找到了一些帖子,建议可能存在数据类型转换问题,Progress列中的数据溢出也可能存在问题。
这似乎是一个间歇性问题,我从Progress导入其他数据作业使用日期没有问题(是的,我已经交叉参考所有设置,以确保我没有错过任何内容)。
我的唯一选择似乎是将数据从Progress移动到Access(或其他DB)> MS SQL。